From 4dfa64616962105bce099eff37267f0e577850f4 Mon Sep 17 00:00:00 2001 From: Taranto Date: Fri, 8 Jan 2021 22:06:01 +0000 Subject: [PATCH] chore: builded admin ui --- public/asset-manifest.json | 6 +++--- public/index.html | 2 +- public/static/js/main.0f20b202.chunk.js | 2 -- public/static/js/main.0f20b202.chunk.js.map | 1 - public/static/js/main.c5b482a9.chunk.js | 2 ++ public/static/js/main.c5b482a9.chunk.js.map | 1 + 6 files changed, 7 insertions(+), 7 deletions(-) delete mode 100644 public/static/js/main.0f20b202.chunk.js delete mode 100644 public/static/js/main.0f20b202.chunk.js.map create mode 100644 public/static/js/main.c5b482a9.chunk.js create mode 100644 public/static/js/main.c5b482a9.chunk.js.map diff --git a/public/asset-manifest.json b/public/asset-manifest.json index 9d27686bd..c52f25240 100644 --- a/public/asset-manifest.json +++ b/public/asset-manifest.json @@ -1,7 +1,7 @@ { "files": { - "main.js": "/static/js/main.0f20b202.chunk.js", - "main.js.map": "/static/js/main.0f20b202.chunk.js.map", + "main.js": "/static/js/main.c5b482a9.chunk.js", + "main.js.map": "/static/js/main.c5b482a9.chunk.js.map", "runtime-main.js": "/static/js/runtime-main.f0000622.js", "runtime-main.js.map": "/static/js/runtime-main.f0000622.js.map", "static/js/2.c456abde.chunk.js": "/static/js/2.c456abde.chunk.js", @@ -82,6 +82,6 @@ "entrypoints": [ "static/js/runtime-main.f0000622.js", "static/js/2.c456abde.chunk.js", - "static/js/main.0f20b202.chunk.js" + "static/js/main.c5b482a9.chunk.js" ] } \ No newline at end of file diff --git a/public/index.html b/public/index.html index 03154ca2d..b5f15f1d0 100644 --- a/public/index.html +++ b/public/index.html @@ -1 +1 @@ -Lamassu Admin
\ No newline at end of file +Lamassu Admin
\ No newline at end of file diff --git a/public/static/js/main.0f20b202.chunk.js b/public/static/js/main.0f20b202.chunk.js deleted file mode 100644 index 0f30e8b0b..000000000 --- a/public/static/js/main.0f20b202.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -(this["webpackJsonplamassu-admin"]=this["webpackJsonplamassu-admin"]||[]).push([[0],{449:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n.n(a),l=n(38),i=n.n(l),o=n(3),c=n(23),s=n(346),u=n(543),d=n(512),m=n(545),f=n(487),p=n(568),h=n(542),b=n(308),g=n(309),v=n(123),y=n(73),E=n(1),O=n(5),w=n.n(O);function x(){return(x=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var C=a.createElement("desc",null,"Created with Sketch."),k=a.createElement("g",{id:"icon/stage/zodiac/complete",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval",stroke:"#1B2559",transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}),a.createElement("path",{d:"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12",id:"Path",fill:"#1B2559"}));function S(e,t){var n=e.title,r=e.titleId,l=j(e,["title","titleId"]);return a.createElement("svg",x({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,C,k)}var N=a.forwardRef(S);n.p;function I(){return(I=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var B=a.createElement("desc",null,"Created with Sketch."),P=a.createElement("g",{id:"icon/stage/zodiac/current",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-2-Copy",fill:"#1B2559",cx:9,cy:9,r:4}),a.createElement("circle",{id:"Oval-Copy-5",stroke:"#1B2559",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function F(e,t){var n=e.title,r=e.titleId,l=L(e,["title","titleId"]);return a.createElement("svg",I({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,B,P)}var D=a.forwardRef(F);n.p;function T(){return(T=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var R=a.createElement("desc",null,"Created with Sketch."),A=a.createElement("g",{id:"icon/stage/zodiac/empty",stroke:"none",strokeWidth:2,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-Copy-6",stroke:"#5F668A",transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function z(e,t){var n=e.title,r=e.titleId,l=W(e,["title","titleId"]);return a.createElement("svg",T({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,R,A)}var M=a.forwardRef(z),q=(n.p,"#5f668a"),$="#44e188",H="#ecfbef",V="#3fd07e",Y="#ebefff",G="#dbdfed",Z="#ffffff",_="#ff584a",U="#ffeceb",J="#1b2559",K="#48f694",Q=$,X=V,ee="#fafbff",te=Y,ne=G,ae="#dddddd",re="#f2f2f2",le=J,ie=q,oe="#72799d",ce=q,se=_,ue=1200,de=K,me="Mont",fe="MuseoSans",pe=24,he=20,be=16,ge=14,ve=13;var ye=ve,Ee=ge,Oe=be,we=pe,xe=fe,je=32,Ce=48;var ke,Se=2*je,Ne=J,Ie=U,Le={lineHeight:"120%",color:le},Be={h1:{extend:Le,fontSize:pe,fontFamily:me,fontWeight:900},h2:{extend:Le,fontSize:he,fontFamily:me,fontWeight:900},h3:{extend:Le,fontSize:ge,fontFamily:me,fontWeight:900},h4:{extend:Le,fontSize:ge,fontFamily:me,fontWeight:700},h5:{extend:Le,fontSize:be,fontFamily:me,fontWeight:700},p:{extend:Le,fontSize:ge,fontFamily:fe,fontWeight:500},tl1:{extend:Le,fontSize:he,fontFamily:fe,fontWeight:700},tl2:{extend:Le,fontSize:ge,fontFamily:fe,fontWeight:700},info1:{extend:Le,fontSize:pe,fontFamily:fe,fontWeight:700},info2:{extend:Le,fontSize:be,fontFamily:fe,fontWeight:700},info3:{extend:Le,fontSize:be,fontFamily:fe,fontWeight:500},mono:{extend:Le,fontSize:ge,fontFamily:"BPmono",fontWeight:500},monoBold:{fontWeight:700},monoSmall:{fontSize:ve},inputFont:{fontSize:he,fontFamily:fe,fontWeight:500,lineHeight:"110%",color:le},regularLabel:{fontSize:ge,fontFamily:fe,fontWeight:500,lineHeight:"110%"},label1:{fontSize:ve,fontFamily:fe,fontWeight:500,color:le},label2:{fontSize:ve,fontFamily:fe,fontWeight:700,color:le},label3:{fontSize:ge,fontFamily:fe,fontWeight:500,color:le},inline:{display:"inline"},noMargin:{margin:0}},Pe=function(e){switch(e){case"sm":return{fontSize:Ee};case"lg":return{fontSize:we,fontWeight:700};default:return{fontSize:Oe}}},Fe={fontWeight:700},De=Be.tl2,Te=Be.p,We=Y,Re={sidebar:Object(E.a)({display:"flex",backgroundColor:We,width:520,marginLeft:-300,boxShadow:"-500px 0px 0px 0px ".concat(We),borderRadius:"0 20px 0 0",alignItems:"flex-end",padding:24,flexDirection:"column"},(ke=1440,"@media only screen and (max-width: ".concat(ke,")")),{width:"auto",marginLeft:0,minWidth:250,boxShadow:"-200px 0px 0px 0px ".concat(We)}),link:{extend:Te,position:"relative",color:ce,margin:"12px 24px 12px 0",cursor:"pointer","&:hover::after":{height:"140%"},"&:after":{content:'""',display:"block",background:J,width:4,height:0,left:"100%",marginLeft:20,bottom:-2,position:"absolute",borderRadius:1e3,transition:"all 0.2s cubic-bezier(0.95, 0.1, 0.45, 0.94)"}},activeLink:{extend:De,color:J,"&::after":{height:"140%"}},customRenderLink:{"&:hover::after":{height:"100%"},"&:after":{bottom:0}},customRenderActiveLink:{"&::after":{height:"100%"}},item:{position:"relative",margin:"12px 0 12px 0",display:"flex"},itemText:{extend:Te,color:ce,marginRight:24},itemTextActive:{extend:De,color:J},itemTextPast:{color:J},stepperPath:{position:"absolute",height:25,width:1,border:[[1,"solid",ce]],right:8,top:18},stepperPast:{border:[[1,"solid",J]]}},Ae=Object(f.a)(Re),ze=function(e){var t=e.data,n=e.displayName,a=e.isSelected,l=e.onClick,i=e.children,o=e.itemRender,c=Ae();return r.a.createElement("div",{className:c.sidebar},t&&t.map((function(e,t){var i;return r.a.createElement("div",{key:t,className:w()((i={},Object(E.a)(i,c.activeLink,a(e)),Object(E.a)(i,c.customRenderActiveLink,o&&a(e)),Object(E.a)(i,c.customRenderLink,o),Object(E.a)(i,c.link,!0),i)),onClick:function(){return l(e)}},o?o(e,a(e)):n(e))})),i)},Me=function(e){var t,n,a=e.step,l=e.it,i=e.idx,o=e.steps,c=Ae(),s=a===i,u=ia;return r.a.createElement("div",{className:c.item},r.a.createElement("span",{className:w()((t={},Object(E.a)(t,c.itemText,!0),Object(E.a)(t,c.itemTextActive,s),Object(E.a)(t,c.itemTextPast,u),t))},l.label),s&&r.a.createElement(D,null),u&&r.a.createElement(N,null),d&&r.a.createElement(M,null),i=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ye=a.createElement("desc",null,"Created with Sketch."),Ge=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/warning-icon/tomato"},a.createElement("rect",{id:"Rectangle",stroke:"#FF584A",strokeWidth:2,x:1,y:1,width:22,height:22,rx:11}),a.createElement("path",{d:"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z",id:"!",fill:"#FF584A",fillRule:"nonzero"})));function Ze(e,t){var n=e.title,r=e.titleId,l=Ve(e,["title","titleId"]);return a.createElement("svg",He({width:"24px",height:"24px",viewBox:"0 0 24 24",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ye,Ge)}var _e=a.forwardRef(Ze),Ue=(n.p,Object(f.a)(Be));function Je(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h1,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h1",Object.assign({className:w()(c)},i),n)}function Ke(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h2,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h2",Object.assign({className:w()(c)},i),n)}function Qe(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h3,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h3",Object.assign({className:w()(c)},i),n)}function Xe(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h4,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h4",Object.assign({className:w()(c)},i),n)}function et(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h5,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h5",Object.assign({className:w()(c)},i),n)}var tt=dt("p"),nt=dt("info1"),at=dt("info2"),rt=dt("info3"),lt=dt("mono"),it=dt("tl1"),ot=dt("tl2"),ct=dt("label1"),st=dt("label2"),ut=dt("label3");function dt(e){return function(t){var n,a=t.inline,l=t.noMargin,i=t.className,o=t.children,c=Object($e.a)(t,["inline","noMargin","className","children"]),s=Ue(),u=(n={},Object(E.a)(n,i,!!i),Object(E.a)(n,s[e],e),Object(E.a)(n,s.inline,a),Object(E.a)(n,s.noMargin,l),n);return r.a.createElement("p",Object.assign({className:w()(u)},c),o)}}var mt={wrapper:{display:"flex",alignItems:"center","& > svg":{marginRight:10}},message:{display:"flex",alignItems:"center",color:se,margin:0,whiteSpace:"break-spaces"}},ft=Object(f.a)(mt),pt=function(e){var t=e.className,n=e.children,a=(Object($e.a)(e,["className","children"]),ft());return r.a.createElement("div",{className:w()(a.wrapper,t)},r.a.createElement(_e,null),r.a.createElement(rt,{className:a.message},n))},ht=Object(f.a)({title:{marginTop:24,marginBottom:24}}),bt=Object(a.memo)((function(e){var t=e.children,n=ht();return r.a.createElement(Je,{className:n.title},t)})),gt=Object(f.a)({titleWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"row"},titleAndButtonsContainer:{display:"flex"},error:{marginLeft:12},icon:{marginRight:6},label:{marginRight:24}}),vt=function(e){var t=e.className,n=e.title,a=e.error,l=e.labels,i=e.children,o=gt();return r.a.createElement("div",{className:w()(o.titleWrapper,t)},r.a.createElement("div",{className:o.titleAndButtonsContainer},r.a.createElement(bt,null,n),a&&r.a.createElement(pt,{className:o.error},"Failed to save")),r.a.createElement(qe.a,{display:"flex",flexDirection:"row"},(null!==l&&void 0!==l?l:[]).map((function(e,t){var n=e.icon,a=e.label;return r.a.createElement(qe.a,{key:t,display:"flex",alignItems:"center"},r.a.createElement("div",{className:o.icon},n),r.a.createElement(ct,{className:o.label},a))}))),i)},yt=n(62),Et=n(347),Ot=n(124),wt=n(66),xt=n(313),jt=n(348),Ct="",kt=function(e){var t=e.children,n=function(e,t){return new Ot.a({link:wt.a.from([Object(xt.a)((function(n){var a=n.graphQLErrors,r=n.networkError;a&&a.forEach((function(n){var a=n.message,r=n.locations,l=n.path,i=n.extensions;"UNAUTHENTICATED"===(null===i||void 0===i?void 0:i.code)&&"/404"!==t.pathname&&e.push("/404"),console.log("[GraphQL error]: Message: ".concat(a,", Location: ").concat(r,", Path: ").concat(l))})),r&&console.log("[Network error]: ".concat(r))})),new jt.a({credentials:"include",uri:"".concat(Ct,"/graphql")})]),cache:new Et.a,defaultOptions:{watchQuery:{fetchPolicy:"no-cache",errorPolicy:"ignore"},query:{fetchPolicy:"no-cache",errorPolicy:"all"},mutate:{errorPolicy:"all"}}})}(Object(v.h)(),Object(v.i)());return r.a.createElement(yt.a,{client:n},t)},St=function(e,t,n){return{backgroundColor:e,"&:hover":{backgroundColor:t},"&:active":{backgroundColor:n}}},Nt={actionButton:{extend:Be.p,cursor:"pointer",border:"none",height:28,outline:0,borderRadius:6,padding:"0 8px",display:"flex",alignItems:"center"},primary:{extend:St(te,ne,ie),"&:active":{color:Z,"& $actionButtonIcon":{display:"none"},"& $actionButtonIconActive":{display:"flex"}},"& $actionButtonIconActive":{display:"none"}},secondary:{extend:St(ie,oe,Z),color:Z,"&:active":{color:le,"& $actionButtonIcon":{display:"flex"},"& $actionButtonIconActive":{display:"none"}},"& $actionButtonIcon":{display:"none"},"& $actionButtonIconActive":{display:"flex"}},actionButtonIcon:{display:"flex",paddingRight:7,"@global":{svg:{width:14,height:14}}},actionButtonIconActive:{}},It=Object(f.a)(Nt),Lt=Object(a.memo)((function(e){var t,n=e.className,a=e.Icon,l=e.InverseIcon,i=e.color,o=e.children,c=Object($e.a)(e,["className","Icon","InverseIcon","color","children"]),s=It(),u=(t={},Object(E.a)(t,s.actionButton,!0),Object(E.a)(t,s.primary,"primary"===i),Object(E.a)(t,s.secondary,"secondary"===i),t);return r.a.createElement("button",Object.assign({className:w()(u,n)},c),a&&r.a.createElement("div",{className:s.actionButtonIcon},r.a.createElement(a,null)),l&&r.a.createElement("div",{className:w()(s.actionButtonIcon,s.actionButtonIconActive)},r.a.createElement(l,null)),o&&r.a.createElement("div",null,o))})),Bt=n(13),Pt=n(12),Ft=n(500),Dt=n(501),Tt=n(452),Wt=n(220),Rt=n(18),At=n(14),zt=n.n(At),Mt=n(214),qt=n.n(Mt),$t=n(345),Ht=n(498),Vt=n(499),Yt=n(4);function Gt(){return(Gt=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var _t=a.createElement("desc",null,"Created with Sketch."),Ut=a.createElement("g",{id:"icon/button/add/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z",id:"Stroke-1",stroke:"#1B2559"}),a.createElement("line",{x1:6,y1:3.69230769,x2:6,y2:8.30769231,id:"Stroke-3",stroke:"#1B2559"}),a.createElement("line",{x1:3.69230769,y1:6,x2:8.30769231,y2:6,id:"Stroke-5",stroke:"#1B2559"}));function Jt(e,t){var n=e.title,r=e.titleId,l=Zt(e,["title","titleId"]);return a.createElement("svg",Gt({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,_t,Ut)}var Kt=a.forwardRef(Jt),Qt=(n.p,{button:{extend:Be.p,border:"none",backgroundColor:Y,cursor:"pointer",outline:0,display:"flex",justifyContent:"center",alignItems:"center",width:167,height:48,color:le,"&:hover":{backgroundColor:G},"&:active":{backgroundColor:q,color:Z,"& svg g *":{stroke:Z}},"& svg":{marginRight:8}}}),Xt=Object(f.a)(Qt),en=Object(a.memo)((function(e){var t=e.className,n=e.children,a=Object($e.a)(e,["className","children"]),l=Xt();return r.a.createElement("button",Object.assign({className:w()(l.button,t)},a),r.a.createElement(Kt,null),n)})),tn=Be.h1,nn=Be.h3,an=function(e){switch(e){case"xl":return 61;case"sm":return 32;case"lg":default:return 40}},rn={wrapper:function(e){var t=e.size,n=an(t);return{height:n+n/12/2}},button:function(e){var t=e.size,n=an(t),a="xl"===t?3:n/12;return{extend:"xl"===t?tn:nn,border:"none",color:Z,cursor:"pointer",fontWeight:900,outline:0,backgroundColor:K,"&:disabled":{backgroundColor:ae,boxShadow:"none","&:hover":{backgroundColor:ae,boxShadow:"none"},"&:active":{marginTop:0}},shadowSize:a,height:n,padding:"0 ".concat("xl"===t?20:n/2,"px"),borderRadius:n/4,boxShadow:"0 ".concat(a,"px ").concat(Q),"&:hover":{backgroundColor:Q,boxShadow:"0 ".concat(a,"px ").concat(X)},"&:active":{marginTop:a/2,backgroundColor:Q,boxShadow:"0 ".concat(a/2,"px ").concat(X)}}}},ln=Object(f.a)(rn),on=Object(a.memo)((function(e){var t=e.size,n=void 0===t?"lg":t,a=e.children,l=e.className,i=Object($e.a)(e,["size","children","className"]),o=ln({size:n});return r.a.createElement("div",{className:w()(l,o.wrapper)},r.a.createElement("button",Object.assign({className:o.button},i),a))})),cn=function(e,t,n){return{backgroundColor:e,"&:hover":{backgroundColor:t},"&:active":{backgroundColor:n}}},sn={baseButton:{extend:cn(te,ne,ie),cursor:"pointer",border:"none",outline:0,height:32,color:le,"&:active":{color:Z}},primary:{extend:cn(te,ne,ie),"&:active":{color:Z,"& $buttonIcon":{display:"none"},"& $buttonIconActive":{display:"block"}},"& $buttonIconActive":{display:"none"}},secondary:{extend:cn(ie,oe,Z),color:Z,"&:active":{color:le,"& $buttonIcon":{display:"flex"},"& $buttonIconActive":{display:"none"}},"& $buttonIcon":{display:"none"},"& $buttonIconActive":{display:"flex"}}},un=sn.baseButton,dn=sn.primary,mn={featureButton:{extend:un,width:un.height,borderRadius:un.height/2,display:"flex",padding:0},primary:dn,buttonIcon:{margin:"auto","& svg":{width:16,height:16,overflow:"visible","& g":{strokeWidth:1.8}}},buttonIconActive:{}},fn=Object(f.a)(mn),pn=Object(a.memo)((function(e){var t,n=e.className,a=e.Icon,l=e.InverseIcon,i=e.children,o=Object($e.a)(e,["className","Icon","InverseIcon","children"]),c=fn(),s=(t={},Object(E.a)(t,c.featureButton,!0),Object(E.a)(t,c.primary,!0),t);return r.a.createElement("button",Object.assign({className:w()(s,n)},o),a&&r.a.createElement("div",{className:c.buttonIcon},r.a.createElement(a,null)),l&&r.a.createElement("div",{className:w()(c.buttonIcon,c.buttonIconActive)},r.a.createElement(l,null)),i)})),hn=n(490),bn=n(271),gn=n(489),vn=function(e){var t,n=e.children,l=e.bgColor,i=void 0===l?Z:l,c=e.arrowSize,s=void 0===c?6:c,u=e.className,d=Object($e.a)(e,["children","bgColor","arrowSize","className"]),m=Object(a.useState)(null),p=Object(o.a)(m,2),h=p[0],b=p[1],g={popover:{zIndex:3e3,backgroundColor:i,borderRadius:4},arrow:{position:"absolute",fontSize:s,width:"3em",height:"3em"},arrowBottom:{top:0,width:0,height:0,borderLeft:[["2em","solid","transparent"]],borderRight:[["2em","solid","transparent"]],borderBottom:[["2em","solid",i]],marginTop:"-1.9em","&:after":{zIndex:-10,content:'""',position:"absolute",width:3*s,height:3*s,marginLeft:0,bottom:0,top:"calc(50% - 0px)",left:0,border:"5px solid #fff",borderColor:"transparent transparent #fff #fff",transformOrigin:"0 0",transform:"rotate(45deg)",boxShadow:"0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"}},arrowTop:{bottom:0,width:0,height:0,borderLeft:[["2em","solid","transparent"]],borderRight:[["2em","solid","transparent"]],borderTop:[["2em","solid",i]],marginBottom:"-1.9em","&:after":{zIndex:-10,content:'""',position:"absolute",width:3*s,height:3*s,marginLeft:0,bottom:0,top:-(4*s+2),left:0,border:"5px solid #fff",borderColor:"transparent transparent #fff #fff",transformOrigin:"0 0",transform:"rotate(45deg)",boxShadow:"0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"}},arrowRight:{left:0,width:0,height:0,borderTop:[["2em","solid","transparent"]],borderBottom:[["2em","solid","transparent"]],borderRight:[["2em","solid",i]],marginLeft:"-1.9em"},arrowLeft:{right:0,width:0,height:0,borderTop:[["2em","solid","transparent"]],borderBottom:[["2em","solid","transparent"]],borderLeft:[["2em","solid",i]],marginRight:"-1.9em"},root:{backgroundColor:i}},v=Object(f.a)(g)(),y=(t={},Object(E.a)(t,v.arrow,!0),Object(E.a)(t,v.arrowBottom,"bottom"===d.placement),Object(E.a)(t,v.arrowTop,"top"===d.placement),Object(E.a)(t,v.arrowRight,"right"===d.placement),Object(E.a)(t,v.arrowLeft,"left"===d.placement),t),O=gn.a(d.modifiers,{flip:{enabled:!1},preventOverflow:{enabled:!0,boundariesElement:"scrollParent"},offset:{enabled:!0,offset:"0, 10"},arrow:{enabled:!0,element:h},computeStyle:{gpuAcceleration:!1}});return r.a.createElement(r.a.Fragment,null,r.a.createElement(hn.a,Object.assign({disablePortal:!1,modifiers:O,className:v.popover},d),r.a.createElement(bn.a,{className:w()(v.root,u)},r.a.createElement("span",{className:w()(y),ref:b}),n)))},yn=Be.info2,En=function(e,t,n){return{backgroundColor:e,"&:hover":{backgroundColor:t},"&:active":{backgroundColor:n}}},On={idButton:{width:34,height:28,display:"flex",borderRadius:4,padding:0,border:"none",cursor:"pointer"},buttonIcon:{margin:"auto",lineHeight:1,"& svg":{overflow:"visible"}},closed:{extend:En(te,ne,ie)},open:{extend:En(ie,ie,ie)},popoverContent:{extend:yn,padding:8,display:"flex",justifyContent:"center",alignItems:"center",borderRadius:4,"& img":{maxHeight:145}}},wn=Object(f.a)(On),xn=Object(a.memo)((function(e){var t,n=e.name,l=e.className,i=e.Icon,c=e.InverseIcon,s=(e.popoverWidth,e.children),u=e.popoverClassname,d=Object($e.a)(e,["name","className","Icon","InverseIcon","popoverWidth","children","popoverClassname"]),m=Object(a.useState)(null),f=Object(o.a)(m,2),p=f[0],h=f[1],b=wn(),g=Boolean(p),v=g?"simple-popper-".concat(n):void 0,y=(t={},Object(E.a)(t,b.idButton,!0),Object(E.a)(t,b.primary,!0),Object(E.a)(t,b.open,g),Object(E.a)(t,b.closed,!g),t),O=Object(E.a)({},b.buttonIcon,!0);return r.a.createElement(r.a.Fragment,null,r.a.createElement("button",Object.assign({"aria-describedby":v,onClick:function(e){h(p?null:e.currentTarget)},className:w()(y,l)},d),i&&!g&&r.a.createElement("div",{className:w()(O)},r.a.createElement(i,null)),c&&g&&r.a.createElement("div",{className:w()(O)},r.a.createElement(c,null))),r.a.createElement(vn,{className:u,id:v,open:g,anchorEl:p,onClose:function(){h(null)},arrowSize:3,placement:"top"},r.a.createElement("div",{className:b.popoverContent},r.a.createElement("div",null,s))))})),jn={label:function(e){var t=e.size;return{width:t,height:t}},root:{"& svg":{flex:1},"&:hover":{backgroundColor:"inherit"},"&:hover rect":{stroke:q},"&:hover polygon":{stroke:q},"&:hover path":{stroke:q}}},Cn=Object(f.a)(jn),kn=function(e){var t=e.size,n=e.children,a=e.onClick,l=Object($e.a)(e,["size","children","onClick"]),i=Cn({size:t});return r.a.createElement(Tt.a,Object.assign({},l,{size:"small",classes:{root:i.root,label:i.label},disableRipple:!0,onClick:a}),n)},Sn=n(179),Nn=function(e){return{boxShadow:"inset 0 -4px 0 0 ".concat(Object(Sn.fade)(e,.8)),"&:hover":{boxShadow:"none",backgroundColor:Object(Sn.fade)(e,.8)}}},In={link:{extend:Be.h4,textDecoration:"none",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:"0",height:"100%"},primary:{extend:Nn(de)},secondary:{extend:Nn("#ff584a"),"&:hover":{color:Z}},noColor:{extend:Nn(Z)},action:{extend:Nn(de),color:Y}},Ln=Object(f.a)(In),Bn=Object(a.memo)((function(e){var t,n=e.submit,a=e.className,l=e.children,i=e.color,o=void 0===i?"primary":i,c=Object($e.a)(e,["submit","className","children","color"]),s=Ln(),u=(t={},Object(E.a)(t,s.link,!0),Object(E.a)(t,s.primary,"primary"===o),Object(E.a)(t,s.secondary,"secondary"===o),Object(E.a)(t,s.noColor,"noColor"===o),Object(E.a)(t,s.action,"action"===o),t);return r.a.createElement("button",Object.assign({type:n?"submit":"button",className:w()(u,a)},c),l)})),Pn=sn.baseButton,Fn=sn.primary,Dn={button:{extend:Pn,borderRadius:Pn.height/2,outline:0,padding:"0 20px"},primary:Fn,buttonIcon:{marginTop:4,marginRight:4,"& svg":{width:20,height:20,overflow:"visible"}},buttonIconActive:{}};Object(f.a)(Dn);function Tn(){return(Tn=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Rn=a.createElement("desc",null,"Created with Sketch."),An=a.createElement("g",{id:"icon/button/cancel/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",transform:"translate(1.000000, 1.000000)",stroke:"#FFFFFF"},a.createElement("line",{x1:10,y1:0,x2:0,y2:10,id:"Stroke-1"}),a.createElement("line",{x1:0,y1:0,x2:10,y2:10,id:"Stroke-3"})));function zn(e,t){var n=e.title,r=e.titleId,l=Wn(e,["title","titleId"]);return a.createElement("svg",Tn({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Rn,An)}var Mn=a.forwardRef(zn),qn=(n.p,sn.baseButton),$n={button:{extend:qn,padding:0,color:Z,borderRadius:qn.height/2},normalButton:{width:qn.height},activeButton:{display:"flex",flexDirection:"row",alignItems:"center",backgroundColor:ie,fontWeight:"bold",padding:"0 5px","&:hover":{backgroundColor:ie}},buttonIcon:{"& svg":{width:16,height:16,overflow:"visible","& g":{strokeWidth:1.8}}},buttonIconActiveLeft:{marginRight:12},buttonIconActiveRight:{marginRight:5,marginLeft:20}},Hn=Object(f.a)($n),Vn=Object(a.memo)((function(e){var t,n=e.className,l=e.Icon,i=e.InverseIcon,c=e.toggle,s=e.children,u=Object(a.useState)(!1),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Hn(),h=(t={},Object(E.a)(t,p.button,!0),Object(E.a)(t,p.normalButton,!m),Object(E.a)(t,p.activeButton,m),t),b=r.a.createElement(l,{className:p.buttonIcon}),g=r.a.createElement(r.a.Fragment,null,r.a.createElement(i,{className:w()(p.buttonIcon,p.buttonIconActiveLeft)}),s,r.a.createElement(Mn,{className:w()(p.buttonIcon,p.buttonIconActiveRight)}));return r.a.createElement("button",{className:w()(h,n),onClick:function(){var e=!m;c(e),f(e)}},m?g:b)}));function Yn(){return(Yn=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zn=a.createElement("desc",null,"Created with Sketch."),_n=a.createElement("g",{id:"icon/action/external-link/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("polyline",{id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2,points:"20 12.1113 20 21.0003 0 21.0003 0 1.0003 8.889 1.0003"}),a.createElement("polyline",{id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2,points:"14.4443 1 20.0003 1 20.0003 6.556"}),a.createElement("line",{x1:10,y1:11,x2:20,y2:1,id:"Stroke-5",stroke:"#FFFFFF",strokeWidth:2}));function Un(e,t){var n=e.title,r=e.titleId,l=Gn(e,["title","titleId"]);return a.createElement("svg",Yn({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zn,_n)}var Jn=a.forwardRef(Un);n.p;function Kn(){return(Kn=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Xn=a.createElement("desc",null,"Created with Sketch."),ea=a.createElement("g",{id:"icon/action/external-link/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-7",transform:"translate(0.000000, 1.000000)",stroke:"#1B2559",strokeWidth:2},a.createElement("polyline",{id:"Stroke-1",points:"20 11.1113 20 20.0003 0 20.0003 0 0.0003 8.889 0.0003"}),a.createElement("polyline",{id:"Stroke-3",points:"14.4443 0 20.0003 0 20.0003 5.556"}),a.createElement("line",{x1:10,y1:10,x2:20,y2:0,id:"Stroke-5"})));function ta(e,t){var n=e.title,r=e.titleId,l=Qn(e,["title","titleId"]);return a.createElement("svg",Kn({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Xn,ea)}var na=a.forwardRef(ta),aa=(n.p,Object(f.a)({actionButton:{marginBottom:32},actionButtonLink:{textDecoration:"none",color:J}})),ra=function(e){var t=e.link,n=e.label,a=aa();return r.a.createElement("a",{className:a.actionButtonLink,target:"_blank",rel:"noopener noreferrer",href:t},r.a.createElement(Lt,{className:a.actionButton,color:"primary",Icon:na,InverseIcon:Jn},n))},la=n(267),ia=n(547),oa=n(350),ca=n(558),sa=n(493),ua=n(325),da=n(162),ma=n(492),fa=n(494),pa=n(557),ha=n(326),ba=n(495),ga=n(544),va={size:function(e){var t=e.size;return Object(c.a)({marginTop:"lg"===t?0:2},Pe(t))},bold:Fe,root:function(e){return{width:e.width,"& input":{textAlign:e.textAlign}}},underline:{"&:before":{borderBottomColor:K},"&:hover:not(.Mui-disabled)::before":{borderBottomColor:K}}},ya=Object(f.a)(va),Ea=Object(a.memo)((function(e){var t=e.name,n=e.onChange,a=e.onBlur,l=e.value,i=e.error,o=(e.suffix,e.textAlign),s=e.width,u=e.size,d=e.bold,m=e.className,f=e.InputProps,p=Object($e.a)(e,["name","onChange","onBlur","value","error","suffix","textAlign","width","size","bold","className","InputProps"]),h=ya({textAlign:o,width:s,size:u}),b=!i&&!ma.a(l)&&!pa.a(l),g=Object(E.a)({},h.bold,d);return r.a.createElement(ga.a,Object.assign({id:t,onChange:n,onBlur:a,error:i,value:l,classes:{root:h.root},className:m,InputProps:Object(c.a)({className:w()(g),classes:{root:h.size,underline:b?h.underline:null}},f)},p))})),Oa=function(e){e.optionsLimit;var t=e.limit,n=e.options,a=e.label,l=e.valueProp,i=e.multiple,o=e.onChange,c=e.getLabel,s=e.value,u=e.error,d=e.fullWidth,m=e.textAlign,f=e.size,p=e.autoFocus,h=Object($e.a)(e,["optionsLimit","limit","options","label","valueProp","multiple","onChange","getLabel","value","error","fullWidth","textAlign","size","autoFocus"]),b=function(e){return function(t){return ca.a(sa.a(l,t))(e)}},g=ua.a(l),v=l?(i?da.a(b(n)):b(n))(s):s,y=function(){return ma.a(v)?[]:i?v:[v]};return r.a.createElement(ia.a,Object.assign({options:n,multiple:i,value:v,onChange:function(e,t){if(!l)return o(e,t);var n=i?da.a(g)(t):g(t);o(e,n)},getOptionLabel:c,forcePopupIcon:!1,filterOptions:function(e,n){var a=n.inputValue;return fa.a(pa.a(a)?y():[],function(e,t){return Object(oa.a)(e,t,{keys:["code","display"]})}(e,a)).slice(0,ha.a(void 0)(t)&&Math.max(t,pa.a(a)?y().length:0))},openOnFocus:!0,autoHighlight:!0,disableClearable:!0,ChipProps:{onDelete:null},clearOnEscape:!0,getOptionSelected:ba.a(l)},h,{renderInput:function(e){return r.a.createElement(Ea,Object.assign({},e,{autoFocus:p,label:a,value:s,error:u,size:f,fullWidth:d,textAlign:m}))}}))},wa=(n(551),n(329),n(328),Object(f.a)({root:{color:K,"&$checked":{color:K}},checked:{}}),n(330)),xa=Object(a.memo)((function(e){var t=e.name,n=e.onChange,a=e.onBlur,l=e.value,i=e.error,o=e.suffix,c=e.textAlign,s=e.width,u=e.size,d=e.bold,m=e.className,f=e.decimalPlaces,p=(e.InputProps,Object($e.a)(e,["name","onChange","onBlur","value","error","suffix","textAlign","width","size","bold","className","decimalPlaces","InputProps"]));return r.a.createElement(wa.a,Object.assign({name:t,onChange:n,onBlur:a,value:l,error:i,suffix:o,textAlign:c,width:s,size:u,bold:d,className:m,customInput:Ea,decimalScale:f,onValueChange:function(e){n({target:{id:t,value:e.floatValue}})}},p))})),ja=n(570),Ca=n(496),ka=n(550),Sa=Object(f.a)({label:{height:16,lineHeight:"16px",margin:[[0,0,4,0]],paddingLeft:3}}),Na=function(e){var t=e.name,n=e.label,a=e.value,l=e.options,i=e.onChange,o=e.className,c=e.labelClassName,s=e.radioClassName,u=Sa();return r.a.createElement(r.a.Fragment,null,n&&r.a.createElement(ct,{className:u.label},n),r.a.createElement(ja.a,{name:t,value:a,onChange:i,className:w()(o)},l.map((function(e,t){return r.a.createElement(Ca.a,{key:t,value:e.code,control:r.a.createElement(ka.a,{className:s}),label:e.display,className:w()(c)})}))))},Ia=Object(a.memo)((function(e){var t=e.value,n=e.onFocus,l=e.onBlur,i=Object($e.a)(e,["value","onFocus","onBlur"]),c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],d=s[1],m=!!t,f=m?"":t;return r.a.createElement(Ea,Object.assign({},i,{type:"password",onFocus:function(e){d(!0),n&&n(e)},onBlur:function(e){d(!1),l&&l(e)},value:t,InputProps:{value:u?t:f},InputLabelProps:{shrink:m||u},placeholder:m?"\u26ac \u26ac \u26ac This field is set \u26ac \u26ac \u26ac":""}))})),La=n(497),Ba=Object(f.a)((function(e){return{root:{width:32,height:20,padding:0,margin:e.spacing(1)},switchBase:{padding:2,"&$disabled":{color:re,"& + $track":{backgroundColor:ae,opacity:1}},"&$checked":{transform:"translateX(58%)",color:e.palette.common.white,"&$disabled":{color:re},"& + $track":{backgroundColor:K,opacity:1,border:"none"}},"&$focusVisible $thumb":{border:"6px solid #fff"}},thumb:{width:16,height:16},track:{borderRadius:17,border:"none",backgroundColor:ie,opacity:1,transition:e.transitions.create(["background-color","border"])},disabled:{},checked:{},focusVisible:{}}})),Pa=Object(a.memo)((function(e){var t=Object.assign({},e),n=Ba();return r.a.createElement(La.a,Object.assign({focusVisibleClassName:n.focusVisible,disableRipple:!0,classes:{root:n.root,switchBase:n.switchBase,thumb:n.thumb,track:n.track,checked:n.checked,disabled:n.disabled}},t))})),Fa=function(e){var t=e.options,n=e.onChange,l=Object($e.a)(e,["options","onChange"]),i=Object(a.useState)(!1),c=Object(o.a)(i,2),s=c[0],u=c[1],d=l.field,m=d.name,f=d.onBlur,p=d.value,h=l.form,b=h.touched,g=h.errors,v=h.setFieldValue,y=h.setFieldTouched,E=!(!b[m]||!g[m]),O=Object(Rt.e)(),w=O.initialValues,x=O.values,j="Function"===la.a(t)?t(w,x):t,C=function(e){return v(m,e)};return r.a.createElement(Oa,Object.assign({name:m,onChange:function(e,t){if(n)return n(p,t,C);v(m,t)},onBlur:function(e){m&&y(m,!0),f&&f(e)},value:p,error:E,open:s,options:j,onOpen:function(){if(!l.multiple)return u(!0);u((null===p||void 0===p?void 0:p.length)!==l.limit)},onClose:function(){return u(!1)}},l))},Da=Object(a.memo)((function(e){var t=e.decimalPlaces,n=Object($e.a)(e,["decimalPlaces"]),a=n.field,l=a.name,i=a.onChange,o=a.onBlur,c=a.value,s=n.form,u=s.touched,d=s.errors,m=!(!u[l]||!d[l]);return r.a.createElement(xa,Object.assign({name:l,onChange:i,onBlur:o,value:c,error:m,decimalPlaces:t},n))})),Ta=Object(a.memo)((function(e){var t=e.label,n=Object($e.a)(e,["label"]),a=n.field,l=a.name,i=a.onChange,o=a.value;return r.a.createElement(Na,Object.assign({name:l,label:t,value:o,options:n.options,ariaLabel:l,onChange:function(e){i(e),n.resetError&&n.resetError()},className:n.className},n))})),Wa=Object(a.memo)((function(e){var t=Object.assign({},e),n=t.field,a=n.name,l=n.onChange,i=n.onBlur,o=n.value,c=t.form,s=c.touched,u=c.errors,d=!(!s[a]||!u[a]);return r.a.createElement(Ia,Object.assign({name:a,onChange:l,onBlur:i,value:o,error:d},t))})),Ra=Object(a.memo)((function(e){var t=Object.assign({},e),n=t.field,a=n.name,l=n.onChange,i=n.onBlur,o=n.value,c=t.form,s=c.touched,u=c.errors,d=!(!s[a]||!u[a]);return r.a.createElement(Ea,Object.assign({name:a,onChange:l,onBlur:i,value:o,error:d},t))}));function Aa(){return(Aa=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ma=a.createElement("style",{type:"text/css"},"\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#1B2559;}\n"),qa=a.createElement("desc",null,"Created with Sketch."),$a=a.createElement("g",{id:"color_x2F_primary_x2F_zodiac",transform:"translate(-0.000000, 0.000000)"},a.createElement("g",{id:"Mask"},a.createElement("path",{id:"path-1_1_",className:"st0",d:"M11.1,9l6.5,6.5c0.6,0.6,0.6,1.5,0,2.1c-0.3,0.3-0.7,0.4-1.1,0.4c-0.4,0-0.8-0.2-1.1-0.4 L9,11.1l-6.5,6.5C2.3,17.8,1.9,18,1.5,18c-0.4,0-0.8-0.2-1.1-0.4c-0.6-0.6-0.6-1.5,0-2.1L6.9,9L0.4,2.5C-0.1,2-0.1,1,0.4,0.4 C1-0.1,2-0.1,2.5,0.4L9,6.9l6.5-6.5c0.6-0.6,1.5-0.6,2.1,0c0.6,0.6,0.6,1.5,0,2.1L11.1,9z"})));function Ha(e,t){var n=e.title,r=e.titleId,l=za(e,["title","titleId"]);return a.createElement("svg",Aa({id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 18 18",style:{enableBackground:"new 0 0 18 18"},xmlSpace:"preserve",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ma,qa,$a)}var Va=a.forwardRef(Ha);n.p;function Ya(){return(Ya=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Za=a.createElement("desc",null,"Created with Sketch."),_a=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/warning-icon/comet"},a.createElement("rect",{id:"Rectangle",stroke:"#5F668A",strokeWidth:2,x:1,y:1,width:22,height:22,rx:11}),a.createElement("path",{d:"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z",id:"!",fill:"#5F668A",fillRule:"nonzero"})));function Ua(e,t){var n=e.title,r=e.titleId,l=Ga(e,["title","titleId"]);return a.createElement("svg",Ya({width:"24px",height:"24px",viewBox:"0 0 24 24",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Za,_a)}var Ja=a.forwardRef(Ua),Ka=(n.p,"100%"),Qa="column",Xa={dialog:{backgroundColor:ee,width:Ka,minHeight:Ka,display:"flex",flexDirection:Qa,padding:0},wrapper:{width:ue,height:Ka,margin:"0 auto",flex:1,display:"flex",flexDirection:Qa},contentDiv:{display:"flex",flex:1,flexDirection:"row"},headerDiv:{display:"flex",justifyContent:"space-between",alignItems:"center"},contentWrapper:{marginLeft:48},button:{marginTop:64},nameTitle:{marginTop:16,marginBottom:25},qrTitle:{marginTop:12,marginBottom:40},qrCodeWrapper:{display:"flex"},qrTextWrapper:{width:381,marginLeft:80,display:"flex",flexDirection:"column",alignItems:"center"},qrTextIcon:{marginRight:16},qrText:{marginTop:0},item:{position:"relative",margin:"12px 0 12px 0",display:"flex"},itemText:{extend:Be.p,color:ce,marginRight:24},itemTextActive:{extend:Be.tl2,color:J},itemTextPast:{color:J},stepperPath:{position:"absolute",height:25,width:1,border:[[1,"solid",ce]],right:8,top:18},stepperPast:{border:[[1,"solid",J]]}};function er(){var e=Object(Bt.a)(["\n {\n machines {\n name\n deviceId\n }\n }\n"]);return er=function(){return e},e}function tr(){var e=Object(Bt.a)(["\n mutation createPairingTotem($name: String!) {\n createPairingTotem(name: $name)\n }\n"]);return tr=function(){return e},e}var nr=zt()(tr()),ar=zt()(er()),rr=Object(f.a)(Xa),lr=$t.a(Ht.a,Vt.a([],["machines"])),ir={name:""},or=Yt.d().shape({name:Yt.e().required().max(50)}),cr=[{label:"Machine name",component:function(e){var t=e.nextStep,n=e.classes,a=e.setQrCode,l=e.setName,i=Object(Pt.b)(nr,{onCompleted:function(e){var n=e.createPairingTotem;a(n),t()},onError:function(e){return console.log(e)}}),c=Object(o.a)(i,1)[0];return r.a.createElement(r.a.Fragment,null,r.a.createElement(at,{className:n.nameTitle},"Machine Name (ex: Coffee shop 01)"),r.a.createElement(Rt.d,{initialValues:ir,validationSchema:or,onSubmit:function(e){var t=e.name;l(t),c({variables:{name:t}})}},r.a.createElement(Rt.c,{className:n.form},r.a.createElement("div",null,r.a.createElement(Rt.a,{name:"name",label:"Enter machine name",component:Ra})),r.a.createElement("div",{className:n.button},r.a.createElement(on,{type:"submit"},"Submit")))))}},{label:"Scan QR code",component:function(e){var t,n=e.classes,a=e.qrCode,l=e.name,i=e.count,o=e.onPaired,c=Object(Pt.c)(ar,{pollInterval:1e4}).data,s=null===c||void 0===c||null===(t=c.machines)||void 0===t?void 0:t.find((function(e){return e.name===l}));return lr(c)>i&&s&&o(s),r.a.createElement(r.a.Fragment,null,r.a.createElement(at,{className:n.qrTitle},"Scan QR code with your new cryptomat"),r.a.createElement("div",{className:n.qrCodeWrapper},r.a.createElement("div",null,r.a.createElement(qt.a,{size:240,fgColor:J,value:a})),r.a.createElement("div",{className:n.qrTextWrapper},r.a.createElement("div",{className:n.qrCodeWrapper},r.a.createElement("div",{className:n.qrTextIcon},r.a.createElement(Ja,null)),r.a.createElement(tt,{className:n.qrText},"To pair the machine you need scan the QR code with your machine. To do this either snap a picture of this QR code or download it through the button above and scan it with the scanning bay on your machine.")))))}}],sr=Object(a.memo)((function(e){var t=e.close,n=e.onPaired,l=rr(),i=Object(Pt.c)(ar).data,c=Object(a.useState)(""),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(""),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(a.useState)(0),g=Object(o.a)(b,2),v=g[0],y=g[1],O=lr(i),x=cr[v].component;return r.a.createElement("div",null,r.a.createElement(Ft.a,{fullScreen:!0,className:l.dialog,open:!0,"aria-labelledby":"form-dialog-title"},r.a.createElement(Dt.a,{className:l.dialog},r.a.createElement("div",{className:l.wrapper},r.a.createElement("div",{className:l.headerDiv},r.a.createElement(bt,null,"Add Machine"),r.a.createElement(Tt.a,{disableRipple:!0,onClick:t},r.a.createElement(Wt.a,{color:"error"},r.a.createElement(Va,null)))),r.a.createElement("div",{className:l.contentDiv},r.a.createElement(ze,null,cr.map((function(e,t){return function(e,t,n,a){var l,i,o=e===n,c=ne;return r.a.createElement("div",{className:a.item},r.a.createElement("span",{className:w()((l={},Object(E.a)(l,a.itemText,!0),Object(E.a)(l,a.itemTextActive,o),Object(E.a)(l,a.itemTextPast,c),l))},t.label),o&&r.a.createElement(D,null),c&&r.a.createElement(N,null),s&&r.a.createElement(M,null),n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var mr=a.createElement("desc",null,"Created with Sketch."),fr=a.createElement("g",{id:"icon/button/add/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z",id:"Stroke-1",stroke:"#FFFFFF"}),a.createElement("line",{x1:6,y1:3.69230769,x2:6,y2:8.30769231,id:"Stroke-3",stroke:"#FFFFFF"}),a.createElement("line",{x1:3.69230769,y1:6,x2:8.30769231,y2:6,id:"Stroke-5",stroke:"#FFFFFF"}));function pr(e,t){var n=e.title,r=e.titleId,l=dr(e,["title","titleId"]);return a.createElement("svg",ur({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,mr,fr)}var hr=a.forwardRef(pr);n.p;function br(){return(br=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var vr=a.createElement("desc",null,"Created with Sketch."),yr=a.createElement("defs",null,a.createElement("path",{d:"M17.8413132,12.8764646 C17.8413132,12.8764646 16.6555879,12.5091919 15.661533,12.2855556 C15.661533,12.2855556 15.3477198,10.3246465 14.8939121,8.23646465 C14.8939121,8.23646465 15.1560495,8.21373737 15.3383242,8.8710101 L16.0223242,12.0219192 C16.0223242,12.0219192 17.2343571,12.2991919 18.1795549,12.6537374 L17.8413132,12.8764646 Z M15.2603407,6.10282828 L15.5328132,5.80555556 C16.0627253,5.87828283 16.3483516,6.02828283 16.3483516,6.02828283 L16.291978,6.11191919 L16.3972088,6.9310101 C16.2440604,6.93646465 16.0091703,7.05919192 16.0091703,7.05919192 L15.8315934,6.95010101 L15.8315934,6.38282828 C15.3026209,6.29919192 15.2556429,6.21828283 15.2556429,6.21828283 L15.2603407,6.10282828 Z M12.4557527,18.2873737 C11.2831813,18.4964646 9.84565385,18.2237374 9.84565385,18.2237374 L9.89732967,17.9991919 C9.89732967,17.9991919 11.6496099,18.1955556 12.6248736,17.8973737 C12.5553462,18.0628283 12.5356154,18.1137374 12.4557527,18.2873737 L12.4557527,18.2873737 Z M9.18984066,14.5464646 C8.379,15.1364646 7.56064286,15.6791919 7.00442308,16.1091919 C6.9705989,16.6955556 6.91516484,17.6464646 6.91516484,17.6464646 L5.46448352,18.5182828 L5.22207692,18.3737374 C5.27845055,17.9219192 5.34891758,17.5882828 5.34891758,17.5882828 L5.55186264,17.4410101 C5.50676374,17.7282828 5.48515385,18.1346465 5.48515385,18.1346465 L6.5928956,17.440101 C6.63705495,16.7019192 6.72443407,15.960101 6.72443407,15.960101 C6.9705989,15.7373737 8.73697253,14.5237374 10.0100803,13.6864646 C10.0100803,13.6864646 10.018533,13.9437374 9.18984066,14.5464646 L9.18984066,14.5464646 Z M14.977533,0.195555556 C15.2612802,0.167373737 15.5065055,0.184646465 15.7103901,0.228282828 L15.7103901,0.228282828 L15.8813901,0.697373737 L16.1003077,0.361919192 C16.2694286,0.447373737 16.3746593,0.547373737 16.4056648,0.624646465 C16.4056648,0.624646465 16.3615055,0.909191919 16.4319725,1.36464646 C16.5005604,1.80373737 16.6988077,2.78191919 16.6988077,2.78191919 C16.9740989,3.00646465 17.2850934,3.51282828 17.2850934,3.51282828 C17.4758242,4.41737374 17.4645495,5.04919192 17.4636099,5.1210101 C16.6734396,4.68646465 15.6173736,4.58555556 15.6173736,4.58555556 L15.6173736,4.58555556 L15.2481264,4.90828283 C15.9753462,5.00828283 16.8792033,5.26555556 17.1122143,5.44555556 C17.2484505,5.74737374 17.3386484,6.22828283 17.3386484,6.22828283 L17.3386484,6.22828283 L17.0445659,6.58919192 L17.3198571,6.8810101 C17.3386484,7.22464646 17.2183846,7.56919192 17.2183846,7.56919192 C17.7905769,7.93010101 17.9512418,8.79373737 18.3101538,10.250101 C18.6700055,11.7064646 18.9903956,12.9055556 18.9903956,12.9055556 L18.9903956,12.9055556 L18.4567253,13.2019192 C19.1623352,15.7282828 18.444511,17.7391919 17.5378352,19.0664646 C16.6320989,20.3946465 16.0862143,21.7137374 16.1031264,22.8910101 L16.1031264,22.8910101 L16.5475385,23.2346465 L16.7749121,23.9491919 L14.3048077,23.9491919 L14.293533,23.2728283 C14.2925934,21.5619192 14.9230385,20.1328283 14.9230385,20.1328283 C15.2857088,20.0473737 15.6596538,19.7628283 15.6596538,19.7628283 C15.0733681,19.8828283 14.3414505,19.7964646 14.3414505,19.7964646 C14.8676044,18.8537374 15.0292088,18.1773737 15.0292088,18.1773737 L15.0292088,18.1773737 L14.7811648,18.1228283 C14.6956648,18.310101 14.6073462,18.4937374 14.5133901,18.6710101 C13.8754286,19.8864646 13.1735769,20.6628283 12.7554725,22.4055556 L12.7554725,22.4055556 L13.1933077,22.7455556 L13.6987912,23.9491919 L10.8509835,23.9491919 C10.8340714,21.8246465 11.495522,20.2273737 11.7341703,19.7628283 C10.2233571,19.9264646 8.42128022,19.1782828 6.99314835,19.4664646 C6.60041209,21.9473737 4.59257143,22.4355556 3.65019231,22.300101 L3.65019231,22.300101 L2.97652747,23.4146465 L3.58724176,23.9491919 L1.33135714,23.9491919 C1.32008242,23.8546465 1.2918956,23.7537374 1.22988462,23.6591919 C1.22988462,23.6591919 1.97401648,22.5882828 2.48231868,21.150101 C2.89008791,21.3255556 3.75166484,20.9928283 3.78736813,20.1055556 C3.82401099,19.2191919 3.67086264,17.8419192 4.46854945,16.7891919 C5.2652967,15.7355556 6.12687363,15.1655556 7.25152747,14.3328283 C7.98250549,13.7910101 9.22084615,12.8755556 9.99974176,12.3010101 L9.99974176,12.3010101 L9.61546154,12.3864646 L6.81087363,14.6491919 L5.82997253,14.6491919 L8.66368681,12.1164646 L8.29725824,12.1091919 L5.33576374,14.6491919 L4.34170879,14.6491919 L7.27313736,11.720101 L6.9208022,11.7173737 L3.88038462,14.6491919 L2.86565934,14.6491919 L5.8093022,11.3037374 L5.46918132,11.3055556 L2.43534066,14.6491919 L1.36706044,14.6491919 L4.22614286,10.8528283 L3.89635714,10.8573737 L0.963989011,14.6491919 L0,14.6491919 C0,14.6491919 4.11809341,8.22464646 4.92893407,7.00737374 C5.73883516,5.79010101 6.6192033,4.62282828 8.06894505,4.38464646 C9.53465934,4.14282828 10.5343516,4.46646465 11.2502967,5.63373737 C11.636456,6.2610101 12.1034176,6.97828283 12.4698462,7.55919192 C12.0968407,8.1510101 11.6298791,8.6110101 11.5857198,9.32282828 C11.534044,10.1419192 12.0921429,10.6373737 12.6558791,10.6773737 C12.2321374,10.5282828 11.8976538,10.0337374 12.0489231,9.37646465 C12.2058297,8.69737374 12.7554725,8.35191919 13.1726374,7.80282828 C13.5315495,7.32828283 13.5371868,6.63282828 13.5108791,6.4010101 C13.4836319,6.16919192 13.2167967,5.98828283 13.2167967,5.98828283 C13.2167967,5.98828283 13.2252527,5.52373737 13.2167967,5.01646465 C13.2083407,4.51010101 13.4300769,4.21828283 13.4300769,4.21828283 C13.4300769,4.21828283 13.4216209,3.4610101 13.3943736,2.57646465 C13.3671264,1.72555556 13.2863242,1.46828283 13.205522,1.35464646 C13.205522,1.35464646 13.2694121,1.10919192 13.5099396,0.844646465 L13.5099396,0.844646465 L13.7542253,1.06282828 L13.8284505,0.571919192 C13.9825385,0.469191919 14.1723297,0.375555556 14.4072198,0.307373737 C14.4325879,0.30010101 14.4570165,0.294646465 14.4823846,0.288282828 L14.4823846,0.288282828 L14.7896209,0.644646465 Z M7.71628243,19.8937938 C8.32897736,19.8402566 9.02386307,19.9393405 9.75797621,20.0432188 L9.75797621,20.0432188 L9.86538462,20.058401 C9.7449004,20.8103202 9.02106112,21.7691969 7.79193531,22.0896215 L7.79193531,22.0896215 L9.01358923,23.5151515 L7.36136769,23.5151515 C7.15589073,23.2226941 6.50396838,22.32135 6.16586538,21.9681638 C6.72065317,21.6525335 7.42954868,21.0388524 7.71628243,19.8937938 Z",id:"path-1"})),Er=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"nav-/-primary-/-1440",transform:"translate(-128.000000, -14.000000)"},a.createElement("g",{id:"icon/lamassu-logo",transform:"translate(128.000000, 14.000000)"},a.createElement("g",{id:"color/amaz/default"},a.createElement("mask",{id:"mask-2",fill:"white"},a.createElement("use",{xlinkHref:"#path-1"})),a.createElement("use",{id:"Mask",fill:"#16D6D3",xlinkHref:"#path-1"})))));function Or(e,t){var n=e.title,r=e.titleId,l=gr(e,["title","titleId"]);return a.createElement("svg",br({width:"19px",height:"24px",viewBox:"0 0 19 24",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,vr,yr,Er)}var wr=a.forwardRef(Or),xr=(n.p,Be.tl2),jr=Be.p,Cr=56,kr=40;var Sr={header:{backgroundColor:J,color:Z,height:Cr,display:"flex"},content:{maxWidth:ue,flex:1,display:"flex",alignItems:"center",margin:"0 auto"},nav:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between"},ul:{display:"flex",paddingLeft:36,height:56,margin:0},li:{listStyle:"none",color:Z,margin:[[20,20,0,20]],"&:hover":{color:Z},"&:hover::after":{width:"50%",marginLeft:"-25%"},position:"relative","&:after":{content:'""',display:"block",background:Z,width:0,height:4,left:"50%",marginLeft:0,bottom:-8,position:"absolute",borderRadius:1e3,transition:[["all","0.2s","cubic-bezier(0.95, 0.1, 0.45, 0.94)"]]}},link:{extend:jr,textDecoration:"none",border:"none",color:Z,backgroundColor:"transparent"},forceSize:{display:"inline-block",textAlign:"center","&:after":{display:"block",content:"attr(forcesize)",fontWeight:700,height:0,overflow:"hidden",visibility:"hidden"}},activeLink:{color:Z,"& li::after":{width:"50%",marginLeft:"-25%"}},addMachine:{marginLeft:"auto"},subheader:{backgroundColor:te,color:Z,height:kr,display:"flex"},subheaderUl:{display:"flex",paddingLeft:0},subheaderLi:{extend:xr,display:"flex",alignItems:"center",height:24,listStyle:"none",padding:[[0,20]],"&:first-child":{paddingLeft:0}},subheaderLink:{extend:jr,textDecoration:"none",border:"none",color:ce},activeSubheaderLink:{extend:xr,color:le},white:{color:Z},logo:{display:"flex",alignItems:"center","& > svg":{marginRight:16}}},Nr=Object(f.a)(Sr),Ir=function(e){var t=e.item,n=e.classes,l=Object(a.useState)(null),i=Object(o.a)(l,2),c=i[0],s=i[1];return r.a.createElement("div",{className:n.subheader},r.a.createElement("div",{className:n.content},r.a.createElement("nav",null,r.a.createElement("ul",{className:n.subheaderUl},t.children.map((function(e,t){return r.a.createElement("li",{key:t,className:n.subheaderLi},r.a.createElement(y.b,{to:{pathname:e.route,state:{prev:c}},className:n.subheaderLink,activeClassName:n.activeSubheaderLink,isActive:function(t){return!!t&&(s(e.route),!0)}},e.label))}))))))},Lr=Object(a.memo)((function(e){var t=e.tree,n=Object(a.useState)(!1),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)(),u=Object(o.a)(s,2),d=u[0],m=u[1],f=Object(v.h)(),p=Nr();return r.a.createElement("header",null,r.a.createElement("div",{className:p.header},r.a.createElement("div",{className:p.content},r.a.createElement("div",{className:p.logo},r.a.createElement(wr,null),r.a.createElement(Xe,{className:p.white},"Lamassu Admin")),r.a.createElement("nav",{className:p.nav},r.a.createElement("ul",{className:p.ul},t.map((function(e,t){return r.a.createElement(y.b,{key:t,to:e.route||e.children[0].route,isActive:function(t){return!!t&&(m(e),!0)},className:w()(p.link,p.whiteLink),activeClassName:p.activeLink},r.a.createElement("li",{className:p.li},r.a.createElement("span",{className:p.forceSize,forcesize:e.label},e.label)))}))),r.a.createElement(Lt,{color:"secondary",Icon:Kt,InverseIcon:hr,onClick:function(){return c(!0)}},"Add machine")))),d&&d.children&&r.a.createElement(Ir,{item:d,classes:p}),i&&r.a.createElement(sr,{close:function(){return c(!1)},onPaired:function(e){c(!1),f.push("/maintenance/machine-status",{id:e.deviceId})}}))})),Br=n(351),Pr=n(454),Fr=n(541),Dr=n(559),Tr=n(562),Wr=n(236),Rr=n(531),Ar=n(567),zr=n(553),Mr=n(554),qr=n(525),$r=n(560),Hr=n(331),Vr=n.n(Hr),Yr=function(){var e=Object(v.h)(),t=new URLSearchParams(Object(v.i)().search);return Vr()({url:"".concat("","/api/register?otp=").concat(t.get("otp")),method:"GET",options:{withCredentials:!0},trigger:[],customHandler:function(t,n){t||n&&e.push("/wizard",{fromAuthRegister:!0})}}),r.a.createElement("span",null,"registering...")},Gr=n(48),Zr=n.n(Gr),_r=n(69),Ur=n(552),Jr=n(223),Kr=n(502);function Qr(){return(Qr=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var el=a.createElement("desc",null,"Created with Sketch."),tl=a.createElement("g",{id:"icon/action/help/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M20.0004,11 C20.0004,6.03028475 15.9701153,2 11.0004,2 C6.03004556,2 2.0004,6.02992391 2.0004,11 C2.0004,15.9700761 6.03004556,20 11.0004,20 C15.9701153,20 20.0004,15.9697153 20.0004,11 Z M22.0004,11 C22.0004,17.0742847 17.0746847,22 11.0004,22 C4.92544514,22 0.000400000001,17.0746147 0.000400000001,11 C0.000400000001,4.92538534 4.92544514,0 11.0004,0 C17.0746847,0 22.0004,4.92571525 22.0004,11 Z",id:"Stroke-1",fill:"#1B2559",fillRule:"nonzero"}),a.createElement("path",{d:"M9.9164,8.9063 C9.9164,9.45858475 9.46868475,9.9063 8.9164,9.9063 C8.36411525,9.9063 7.9164,9.45858475 7.9164,8.9063 C7.9164,6.89094438 9.72972438,5.35290249 11.7463843,5.7072003 C13.0663562,5.93764844 14.1348314,7.00654285 14.3652323,8.32479116 C14.6130182,9.7312185 13.941375,11.0876584 12.732214,11.7545735 C12.370484,11.9534687 12.1664,12.2664153 12.1664,12.5913 L12.1664,12.6563 C12.1664,13.2085847 11.7186847,13.6563 11.1664,13.6563 C10.6141153,13.6563 10.1664,13.2085847 10.1664,12.6563 L10.1664,12.5913 C10.1664,11.5009567 10.7946963,10.5375141 11.7674377,10.0026589 C12.2360927,9.74417086 12.493064,9.22519581 12.3953326,8.67046887 C12.3098185,8.1811985 11.8915858,7.76280177 11.4013649,7.67721566 C10.6126181,7.53864454 9.9164,8.1291691 9.9164,8.9063 Z",id:"Stroke-3",fill:"#1B2559",fillRule:"nonzero"}),a.createElement("path",{d:"M10.1039,15.2188 C10.1039,14.6318 10.5799,14.1568 11.1659,14.1568 C11.7529,14.1568 12.2289,14.6318 12.2289,15.2188 C12.2289,15.8058 11.7529,16.2808 11.1659,16.2808 C10.5799,16.2808 10.1039,15.8058 10.1039,15.2188",id:"Fill-5",fill:"#1B2559"}));function nl(e,t){var n=e.title,r=e.titleId,l=Xr(e,["title","titleId"]);return a.createElement("svg",Qr({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,el,tl)}var al=a.forwardRef(nl),rl=(n.p,Object(f.a)({transparentButton:{border:"none",backgroundColor:"transparent",marginTop:4,outline:"none",cursor:"pointer"},popoverContent:function(e){return{width:e.width,padding:[[10,15]]}}})),ll=Object(a.memo)((function(e){var t=e.children,n=e.width,l=e.Icon,i=void 0===l?al:l,c=rl({width:n}),s=Object(a.useState)(null),u=Object(o.a)(s,2),d=u[0],m=u[1],f=Boolean(d);return r.a.createElement(Kr.a,{onClickAway:function(){m(null)}},r.a.createElement("div",null,r.a.createElement("button",{className:c.transparentButton,onClick:function(e){m(d?null:e.currentTarget)}},r.a.createElement(i,null)),r.a.createElement(vn,{open:f,anchorEl:d,placement:"bottom"},r.a.createElement("div",{className:c.popoverContent},t))))})),il=n(344);function ol(){return(ol=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var sl=a.createElement("desc",null,"Created with Sketch."),ul=a.createElement("defs",null,a.createElement("path",{id:"arrow-path",d:"M5.3501239,7.53208616 L0.473798314,2.73082122 C-0.158421727,2.1051411 -0.158421727,1.0952488 0.476737158,0.466675069 C1.11220338,-0.155816755 2.1378971,-0.155816755 2.77494316,0.468226909 L6.49990857,4.13723769 L10.2264532,0.466675069 C10.8619195,-0.155816755 11.8876132,-0.155816755 12.5260183,0.469568675 C13.1582383,1.0952488 13.1582383,2.1051411 12.5245507,2.73226987 L7.64673876,7.53497972 C7.33802629,7.83583835 6.92590837,8 6.49990828,8 C6.0739082,8 5.66179027,7.83583835 5.3501239,7.53208616 Z"})),dl=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fillRule:"evenodd"},a.createElement("g",{id:"icon/action/arrow/regular"},a.createElement("mask",{id:"mask-2",fill:"white"},a.createElement("use",{xlinkHref:"#path-1"})),a.createElement("use",{id:"Mask",fillRule:"nonzero",xlinkHref:"#arrow-path"})));function ml(e,t){var n=e.title,r=e.titleId,l=cl(e,["title","titleId"]);return a.createElement("svg",ol({width:"13px",height:"8px",viewBox:"0 0 13 8",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,sl,ul,dl)}var fl=a.forwardRef(ml),pl=(n.p,n(332)),hl=n(503),bl=n(228),gl=bl.create({checkTypes:!1,env:bl.env}),vl=gl.compose(gl.joinWith(""))(pl.a(0,gl.toLower)),yl=gl.compose(gl.joinWith(""))(pl.a(0,gl.toUpper)),El=gl.compose(yl)(gl.toLower),Ol=$t.a(gl.splitOn(" "),hl.a(/([A-Z])/g," $1"),vl),wl=$t.a(gl.joinWith(" "),gl.map(El),Ol),xl=Be.p,jl=152,Cl={selectedItem:{width:111,display:"block",whiteSpace:"nowrap",overflow:"hidden"},select:{width:jl,zIndex:2,"& label":{extend:Be.label1,color:ie,paddingLeft:10},"& button":{extend:xl,position:"relative",border:0,backgroundColor:te,width:jl,padding:[[6,0,6,12]],borderRadius:20,lineHeight:"1.14",textAlign:"left",color:ie,cursor:"pointer",outline:"0 none"},"& ul":{maxHeight:"200px",width:jl,overflowY:"auto",position:"absolute",margin:0,borderTop:0,padding:0,borderRadius:[[0,0,8,8]],backgroundColor:te,outline:"0 none","& li":{extend:xl,listStyleType:"none",padding:[[6,12]],cursor:"pointer","& span":{width:"100%",display:"block",overflow:"hidden",whiteSpace:"nowrap"}},"& li:hover":{backgroundColor:ie,color:Z}},"& svg":{position:"absolute",top:12,right:14,fill:ie}},selectFiltered:{"& button":{backgroundColor:ie,color:Z},"& ul":{"& li":{backgroundColor:ie,color:Z},"& li:hover":{backgroundColor:te,color:ie}},"& svg":{fill:[[Z],"!important"]}},open:{"& button":{borderRadius:[[8,8,0,0]]}}},kl=Object(f.a)(Cl);var Sl=function(e){var t,n=e.label,a=e.items,l=Object($e.a)(e,["label","items"]),i=kl(),o=Object(il.a)({items:a,selectedItem:l.selectedItem,onSelectedItemChange:function(e){l.onSelectedItemChange(e.selectedItem)}}),c=o.isOpen,s=o.selectedItem,u=o.getToggleButtonProps,d=o.getLabelProps,m=o.getMenuProps,f=o.getItemProps,p=(t={},Object(E.a)(t,i.select,!0),Object(E.a)(t,i.selectFiltered,s!==l.default),Object(E.a)(t,i.open,c),t);return r.a.createElement("div",{className:w()(p)},r.a.createElement("label",d(),wl(n)),r.a.createElement("button",u(),r.a.createElement("span",{className:i.selectedItem},wl(s)),r.a.createElement(fl,null)),r.a.createElement("ul",m(),c&&a.map((function(e,t){return r.a.createElement("li",Object.assign({key:"".concat(e).concat(t)},f({item:e,index:t})),r.a.createElement("span",null,wl(e)))}))))},Nl=n(569),Il=n(16),Ll=Object(a.memo)((function(e){var t=e.classes,n=Object($e.a)(e,["classes"]);return r.a.createElement(Nl.a,Object.assign({size:"small",classes:t},n))})),Bl=Object(Il.a)((function(e){return{root:{backgroundColor:te,borderRadius:4,margin:e.spacing(.5,.25),height:18},label:{fontSize:ye,color:le,fontWeight:500,fontFamily:xe,paddingRight:4,paddingLeft:4}}}))(Ll),Pl={cashOut:{empty:_,full:J},cashIn:{empty:J,full:_}},Fl=function(e){var t=e.percent,n=e.cashOut;return Pl[n?"cashOut":"cashIn"][t>=50?"full":"empty"]},Dl={cashbox:{borderColor:Fl,backgroundColor:Fl,height:118,width:80,border:"2px solid",textAlign:"end",display:"inline-block"},emptyPart:{backgroundColor:"white",height:function(e){var t=e.percent;return"".concat(100-t,"%")},position:"relative","& > p":{color:Fl,display:"inline-block",position:"absolute",margin:0,bottom:0,right:0}},fullPart:{backgroundColor:Fl,"& > p":{color:"white",display:"inline"}}},Tl={row:{display:"flex",justifyContent:"space-between"},innerRow:{display:"flex",justifyContent:"flex-start"},col2:{marginLeft:16},noMarginText:{marginTop:0,marginBottom:0},link:{marginTop:8},chip:{margin:[[0,0,0,7]]}},Wl=Object(f.a)(Dl),Rl=Object(f.a)(Tl),Al=function(e){var t=e.percent,n=void 0===t?0:t,a=e.cashOut,l=void 0!==a&&a,i=e.className,o=Wl({percent:n,cashOut:l});return r.a.createElement("div",{className:w()(i,o.cashbox)},r.a.createElement("div",{className:o.emptyPart},n<=51&&r.a.createElement(st,null,n.toFixed(0),"%")),r.a.createElement("div",{className:o.fullPart},n>51&&r.a.createElement(st,null,n.toFixed(0),"%")))},zl=function(e){var t=e.capacity,n=void 0===t?500:t,a=e.denomination,l=void 0===a?0:a,i=e.currency,o=e.notes,c=e.className,s=100*o/n,u=Rl();return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:u.row},r.a.createElement("div",{className:u.col},r.a.createElement(Al,{className:c,percent:s,cashOut:!0})),r.a.createElement("div",{className:u.col2},r.a.createElement("div",{className:u.innerRow},r.a.createElement(at,{className:u.noMarginText},o),r.a.createElement(Bl,{className:u.chip,label:"".concat(l," ").concat(i.code)})),r.a.createElement("div",{className:u.innerRow},r.a.createElement(ct,{className:u.noMarginText},o*l," ",i.code)))))},Ml=n(504),ql=n(505),$l=n(506),Hl=n(507),Vl="cashOut",Yl="wallets",Gl="operatorInfo",Zl="notifications",_l="locale",Ul="commissions",Jl="receipt",Kl="coinAtmRadar",Ql="termsConditions",Xl=Ml.a((function(e,t){return ql.a(da.a(pl.a(0,e),$l.a(t)))})),ei=Ml.a((function(e,t){return ql.a(Wr.a((function(t){return e(t[0])}),$l.a(t)))})),ti=Ml.a((function(e,t){return Hl.a(e,t)?t.slice(e.length):t})),ni=Ml.a((function(e,t){return $t.a(function(e){return Xl(ti("".concat(e,"_")))}(e),function(e){return ei(Hl.a("".concat(e,"_")))}(e))(t)})),ai=Ml.a((function(e,t){return Xl((function(t){return"".concat(e,"_").concat(t)}))(t)})),ri={grid:{flex:1,height:"100%"},content:{display:"flex",flexDirection:"column",flex:1,marginLeft:48},footer:{margin:[["auto",0,24,"auto"]]},modalTitle:{lineHeight:"120%",color:J,fontSize:14,fontFamily:me,fontWeight:900},subtitle:{display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"row"},white:{color:Z},deleteButton:{paddingLeft:13},addressRow:{marginLeft:8},error:{color:se}},li=n(508),ii=n(353),oi=Object(f.a)({modal:{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center"},wrapper:function(e){var t=e.width,n=e.height;return{width:t,height:n,display:"flex",flexDirection:"column",minHeight:null!==n&&void 0!==n?n:400,maxHeight:"90vh",overflowY:"auto",borderRadius:8,outline:0}},infoPanelWrapper:function(e){var t=e.width,n=e.infoPanelHeight;return{width:t,height:n,marginTop:16,display:"flex",flexDirection:"column",minHeight:null!==n&&void 0!==n?n:200,maxHeight:"90vh",overflowY:"auto",borderRadius:8,outline:0}},panelContent:{width:"100%",display:"flex",flexDirection:"column",flex:1,padding:[[0,24]]},content:function(e){var t=e.small;return{width:"100%",display:"flex",flexDirection:"column",flex:1,padding:e.xl?[[0,88]]:t?[[0,16]]:[[0,32]]}},button:function(e){var t=e.small,n=e.xl;return{padding:[[0,0,n?26:0,0]],margin:n?[[0,0,"auto","auto"]]:t?[[12,12,"auto","auto"]]:[[16,16,"auto","auto"]]}},header:{display:"flex"},title:function(e){return{margin:e.small?[[20,0,8,16]]:[[28,0,8,32]]}}}),ci=function(e){var t=e.width,n=e.height,a=e.infoPanelHeight,l=e.title,i=e.small,o=e.xl,c=e.infoPanel,s=e.handleClose,u=e.children,d=(e.secondaryModal,e.className),m=e.closeOnEscape,f=e.closeOnBackdropClick,p=Object($e.a)(e,["width","height","infoPanelHeight","title","small","xl","infoPanel","handleClose","children","secondaryModal","className","closeOnEscape","closeOnBackdropClick"]),h=oi({width:t,height:n,small:i,infoPanelHeight:a,xl:o}),b=i?Xe:Je,g=o?28:i?16:20;return r.a.createElement(ii.a,Object.assign({onClose:function(e,t){(f||"backdropClick"!==t)&&(m||"escapeKeyDown"!==t)&&s()},className:h.modal},p),r.a.createElement(r.a.Fragment,null,r.a.createElement(bn.a,{className:w()(h.wrapper,d)},r.a.createElement("div",{className:h.header},l&&r.a.createElement(b,{className:h.title},l),r.a.createElement(kn,{size:g,className:h.button,onClick:function(){return s()}},r.a.createElement(Va,null))),r.a.createElement("div",{className:h.content},u)),c&&r.a.createElement(bn.a,{className:w()(h.infoPanelWrapper,d)},r.a.createElement("div",{className:h.panelContent},c))))},si=Object(f.a)(ri),ui=function(e){var t=e.onClose,n=e.selectedCoin,a=e.addToBlacklist,l=e.errorMsg,i=si();return r.a.createElement(ci,{closeOnBackdropClick:!0,width:676,height:200,handleClose:t,open:!0},r.a.createElement(Rt.d,{initialValues:{address:""},validationSchema:Yt.d({address:Yt.e().trim().required("An address is required")}),onSubmit:function(e,t){var r=e.address,l=t.resetForm;!function(e){a(n.code,e)}(r.trim()),l()}},r.a.createElement(Rt.c,{id:"address-form"},r.a.createElement(Qe,null,n.display?"Blacklist ".concat(li.a(n.display)," address"):""),r.a.createElement("span",{className:i.error},l),r.a.createElement(Rt.b,{name:"address",fullWidth:!0,autoComplete:"off",label:"Paste new address to blacklist here",placeholder:"ex: ".concat({BTC:"1ADwinnimZKGgQ3dpyfoUZvJh4p1UWSSpD",ETH:"0x71C7656EC7ab88b098defB751B7401B5f6d8976F",LTC:"LPKvbjwV1Kaksktzkr7TMK3FQtQEEe6Wqa",DASH:"XqQ7gU8eM76rEfey726cJpT2RGKyJyBrcn",ZEC:"t1KGyyv24eL354C9gjveBGEe8Xz9UoPKvHR",BCH:"qrd6za97wm03lfyg82w0c9vqgc727rhemg5yd9k3dm"}[n.code]),component:Ra}))),r.a.createElement("div",{className:i.footer},r.a.createElement(Bn,{type:"submit",form:"address-form"},"Blacklist address")))},di=n(83),mi=n(511),fi=n(183),pi=n(509),hi=n(510),bi=Be.tl2,gi=Be.label1,vi={size:function(e){var t=e.size;return Pe(t)},bold:Fe,header:{extend:bi,backgroundColor:Ne,height:je,textAlign:"left",color:Z,display:"flex",alignItems:"center"},doubleHeader:{extend:bi,backgroundColor:Ne,height:Se,color:Z,display:"table-row"},thDoubleLevel:function(e){return{width:e.width,display:"table-cell","& > :first-child":{margin:[[0,10]],extend:gi,fontWeight:700,display:"flex",justifyContent:"center",alignItems:"center",backgroundColor:ie,color:Z,borderRadius:[[0,0,8,8]],height:28},"& > :last-child":{padding:[[0,11]],display:"table-cell",verticalAlign:"middle",height:Se-28}}},cellDoubleLevel:{display:"flex",padding:[[0,16]]},td:function(e){var t=e.textAlign;return{width:e.width,padding:[[1,24,0,24]],textAlign:t}},tdHeader:{verticalAlign:"middle",display:"table-cell",padding:[[0,24]]},trError:{backgroundColor:Ie},mainContent:function(e){return{display:"flex",alignItems:"center",minHeight:"lg"===e.size?68:48}},cardContentRoot:{margin:0,padding:0,"&:last-child":{padding:0}},card:{extend:Be.p,"&:before":{height:0},margin:[[4,0,0,0]],width:"100%",boxShadow:[[0,0,4,0,"rgba(0, 0, 0, 0.08)"]]},actionCol:{marginLeft:"auto"},errorContent:{padding:[[12,0,12,24]],color:se}},yi=Object(f.a)(vi),Ei=function(e){var t=e.children,n=e.className,a=Object($e.a)(e,["children","className"]);return r.a.createElement("div",Object.assign({className:w()(n)},a),t)},Oi=function(e){var t=e.children,n=e.className,a=yi();return r.a.createElement("div",{className:w()(n,a.header)},t)},wi=function(e){var t=e.children,n=e.className,a=yi();return r.a.createElement("div",{className:w()(n,a.doubleHeader)},t)},xi=function(e){var t=e.children,n=e.className;return r.a.createElement("div",{className:w()(n)},t)},ji=function(e){var t,n=e.children,a=e.header,l=e.className,i=e.width,o=void 0===i?100:i,c=e.size,s=e.bold,u=e.textAlign,d=e.action,m=yi({textAlign:u,width:o,size:c}),f=(t={},Object(E.a)(t,m.td,!0),Object(E.a)(t,m.tdHeader,a),Object(E.a)(t,m.actionCol,d),Object(E.a)(t,m.size,!a),Object(E.a)(t,m.bold,!a&&s),t);return r.a.createElement("div",{className:w()(l,f)},n)},Ci=function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement(ji,Object.assign({header:!0},n),t)},ki=function(e){var t=e.title,n=e.children,a=e.className,l=e.width,i=yi({width:l});return r.a.createElement("div",{className:w()(a,i.thDoubleLevel)},r.a.createElement("div",null,t),r.a.createElement("div",null,n))},Si=function(e){var t,n=e.onClick,a=e.error,l=e.errorMessage,i=e.children,o=e.className,c=e.size,s=yi({size:c}),u={root:s.cardContentRoot},d=(t={},Object(E.a)(t,s.tr,!0),Object(E.a)(t,s.trError,a),Object(E.a)(t,s.card,!0),Object(E.a)(t,"className",o),t);return r.a.createElement(r.a.Fragment,null,r.a.createElement(pi.a,{className:w()(d,o),onClick:n},r.a.createElement(hi.a,{classes:u},r.a.createElement("div",{className:s.mainContent},i),a&&r.a.createElement("div",{className:s.errorContent},l))))};function Ni(){return(Ni=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Li=a.createElement("desc",null,"Created with Sketch."),Bi=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/action/expand/closed",transform:"translate(1.000000, 1.000000)",stroke:"#1B2559",strokeWidth:1.5},a.createElement("circle",{id:"Oval-4",cx:14,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy",cx:8,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy-2",cx:2,cy:2,r:2})));function Pi(e,t){var n=e.title,r=e.titleId,l=Ii(e,["title","titleId"]);return a.createElement("svg",Ni({width:"18px",height:"6px",viewBox:"0 0 18 6",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Li,Bi)}var Fi=a.forwardRef(Pi);n.p;function Di(){return(Di=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Wi=a.createElement("desc",null,"Created with Sketch."),Ri=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/action/expand/open",transform:"translate(1.000000, 1.000000)",fill:"#1B2559",stroke:"#1B2559",strokeWidth:1.5},a.createElement("circle",{id:"Oval-4",cx:14,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy",cx:8,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy-2",cx:2,cy:2,r:2})));function Ai(e,t){var n=e.title,r=e.titleId,l=Ti(e,["title","titleId"]);return a.createElement("svg",Di({width:"18px",height:"6px",viewBox:"0 0 18 6",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Wi,Ri)}var zi=a.forwardRef(Ai),Mi=(n.p,{expandButton:{outline:"none",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:4},rowWrapper:{padding:1},row:{border:[[2,"solid","transparent"]],borderRadius:0},expanded:{border:[[2,"solid",Y]],boxShadow:"0 0 8px 0 rgba(0,0,0,0.08)"},before:{paddingTop:12},after:{paddingBottom:12},pointer:{cursor:"pointer"},body:{flex:[[1,1,"auto"]]},table:function(e){return{marginBottom:30,minHeight:200,width:e.width,flex:1,display:"flex",flexDirection:"column"}}}),qi=Object(f.a)(Mi),$i=function(e){var t,n=e.id,a=e.elements,l=e.data,i=e.width,o=e.Details,c=e.expanded,s=e.expandRow,u=e.expWidth,d=e.expandable,m=e.onClick,f=qi(),p=m||d,h=(t={},Object(E.a)(t,f.pointer,p),Object(E.a)(t,f.row,!0),Object(E.a)(t,f.expanded,c),t);return r.a.createElement("div",{className:f.rowWrapper},r.a.createElement("div",{className:w()(Object(E.a)({},f.before,c&&0!==n))},r.a.createElement(Si,{className:w()(h),onClick:function(){d&&s(n),m&&m(l)},error:l.error,errorMessage:l.errorMessage},a.map((function(e,t){var n=e.view,a=void 0===n?function(e){return null===e||void 0===e?void 0:e.toString()}:n,i=Object($e.a)(e,["view"]);return r.a.createElement(ji,Object.assign({key:t},i),a(l))})),d&&r.a.createElement(ji,{width:u,textAlign:"center"},r.a.createElement("button",{onClick:function(){return s(n)},className:f.expandButton},c&&r.a.createElement(zi,null),!c&&r.a.createElement(Fi,null))))),d&&c&&r.a.createElement("div",{className:f.after},r.a.createElement(Si,{className:w()(Object(E.a)({},f.expanded,c))},r.a.createElement(ji,{width:i},r.a.createElement(o,{it:l})))))},Hi=function(e){var t=e.elements,n=void 0===t?[]:t,l=e.data,i=void 0===l?[]:l,c=e.Details,s=(e.className,e.expandable),u=e.initialExpanded,d=e.onClick,m=e.loading,f=e.emptyText,p=Object($e.a)(e,["elements","data","Details","className","expandable","initialExpanded","onClick","loading","emptyText"]),h=Object(a.useState)(u),b=Object(o.a)(h,2),g=b[0],v=b[1];Object(a.useEffect)((function(){return v(u)}),[u]);var y=$t.a(mi.a,da.a(ua.a("width")))(n),E=1200-y,O=y+(s?E:0),w=qi({width:O}),x=function(e){v(e===g?null:e)},j=new fi.c({defaultHeight:62,fixedWidth:!0});function C(e){var t=e.index,a=e.key,l=e.parent,o=e.style;return r.a.createElement(fi.b,{cache:j,columnIndex:0,key:a,parent:l,rowIndex:t},r.a.createElement("div",{style:o},r.a.createElement($i,{width:O,id:t,expWidth:E,elements:n,data:i[t],Details:c,expanded:t===g,expandRow:x,expandable:s,onClick:d})))}return r.a.createElement(qe.a,{display:"flex",flex:"1",flexDirection:"column"},r.a.createElement(Ei,{className:w.table},r.a.createElement(Oi,null,n.map((function(e,t){var n=e.width,a=e.className,l=e.textAlign,i=e.header;return r.a.createElement(Ci,{key:t,width:n,className:a,textAlign:l},i)})),s&&r.a.createElement(Ci,{width:E})),r.a.createElement(xi,{className:w.body},m&&r.a.createElement(Xe,null,"Loading..."),!m&&pa.a(i)&&r.a.createElement(Xe,null,f),r.a.createElement(fi.a,{disableWidth:!0},(function(e){var t=e.height;return r.a.createElement(fi.d,Object.assign({style:{overflow:"inherit",outline:"none"}},p,{height:m?0:t,width:O,rowCount:i.length,rowHeight:j.rowHeight,rowRenderer:C,overscanRowCount:50,deferredMeasurementCache:j}))})))))},Vi=n(338);function Yi(){return(Yi=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zi=a.createElement("desc",null,"Created with Sketch."),_i=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinejoin:"round"},a.createElement("g",{id:"icon/action/copy",transform:"translate(1.000000, 1.000000)",stroke:"#1B2559"},a.createElement("g",{id:"Group-5-Copy-2"},a.createElement("polyline",{id:"Stroke-1",strokeWidth:2,points:"6 1.2 6 -0.00024 16 -0.00024 16 13.06376 12 13.06376"}),a.createElement("polygon",{id:"Stroke-3",strokeWidth:2,strokeLinecap:"round",points:"0 15.9368 10 15.9368 10 2.9368 0 2.9368"}))));function Ui(e,t){var n=e.title,r=e.titleId,l=Gi(e,["title","titleId"]);return a.createElement("svg",Yi({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zi,_i)}var Ji=a.forwardRef(Ui),Ki=(n.p,{titleWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"row"},wrapper:{flex:1,display:"flex",flexDirection:"row",height:"100%"},tableWrapper:{flex:1,marginLeft:40,display:"block",overflowX:"auto",width:"100%",maxWidth:"78%",maxHeight:"70vh"},table:{whiteSpace:"nowrap",display:"block","& th":{position:"sticky",top:0}},dateColumn:{minWidth:160},levelColumn:{minWidth:100},fillColumn:{width:"100%"},shareButton:{margin:8,display:"flex",alignItems:"center",fontSize:ve,padding:[[0,12]]},shareIcon:{marginRight:6},button:{margin:8},titleAndButtonsContainer:{display:"flex"},buttonsWrapper:{display:"flex",marginLeft:16,"& > *":{margin:"auto 6px"}}}),Qi=Be.label1,Xi={wrapper:{extend:Be.mono,display:"flex",alignItems:"center",height:32},address:{lineBreak:"anywhere"},buttonWrapper:{"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},popoverContent:{extend:Qi,display:"flex",justifyContent:"center",alignItems:"center",color:Z,borderRadius:4,padding:[[5,9]]}},eo={idCardDataCard:{extend:Be.p,display:"flex",padding:[[11,8]],"& > div":{display:"flex",flexDirection:"column","& > div":{width:144,height:37,marginBottom:15,"&:last-child":{marginBottom:0}}}}},to={label:{extend:Qi,color:ie,marginBottom:4}},no={titleWrapper:Ki.titleWrapper,titleAndButtonsContainer:Ki.titleAndButtonsContainer,buttonsWrapper:Ki.buttonsWrapper,headerLabels:{display:"flex",flexDirection:"row","& div":{display:"flex",alignItems:"center"},"& > div:first-child":{marginRight:24},"& span":{extend:Qi,marginLeft:6}},overflowTd:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}},ao=Object(f.a)(Xi),ro=function(e){var t=e.className,n=e.buttonClassname,l=e.children,i=(Object($e.a)(e,["className","buttonClassname","children"]),Object(a.useState)(null)),c=Object(o.a)(i,2),s=c[0],u=c[1];Object(a.useEffect)((function(){s&&setTimeout((function(){return u(null)}),3e3)}),[s]);var d=ao(),m=Boolean(s),f=m?"simple-popper":void 0;return r.a.createElement("div",{className:d.wrapper},l&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:w()(d.address,t)},l),r.a.createElement("div",{className:w()(d.buttonWrapper,n)},r.a.createElement(Vi.CopyToClipboard,{text:hl.a(/\s/g,"")(l)},r.a.createElement("button",{"aria-describedby":f,onClick:function(e){return function(e){u(s?null:e.currentTarget)}(e)}},r.a.createElement(Ji,null)))),r.a.createElement(vn,{id:f,open:m,anchorEl:s,onClose:function(){u(null)},arrowSize:3,bgColor:q,placement:"top"},r.a.createElement("div",{className:d.popoverContent},r.a.createElement("div",null,"Copied to clipboard!")))))};function lo(){return(lo=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var oo=a.createElement("desc",null,"Created with Sketch."),co=a.createElement("g",{id:"icon/action/delete/enabled",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round"},a.createElement("line",{x1:9,y1:9,x2:9,y2:18,id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:13,y1:9,x2:13,y2:18,id:"Stroke-2",stroke:"#1B2559",strokeWidth:2}),a.createElement("polyline",{id:"Stroke-3",stroke:"#1B2559",strokeWidth:2,strokeLinejoin:"round",points:"3 6 5 21 17 21 19 6"}),a.createElement("line",{x1:1,y1:5,x2:21,y2:5,id:"Stroke-5",stroke:"#1B2559",strokeWidth:2}),a.createElement("path",{d:"M14,4 C14,2.343 12.657,1 11,1 C9.343,1 8,2.343 8,4",id:"Stroke-7",stroke:"#1B2559",strokeWidth:2}));function so(e,t){var n=e.title,r=e.titleId,l=io(e,["title","titleId"]);return a.createElement("svg",lo({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,oo,co)}var uo=a.forwardRef(so),mo=(n.p,Object(f.a)(ri)),fo=function(e){var t=e.data,n=e.selectedCoin,a=e.handleDeleteEntry,l=mo(),i=[{name:"address",header:r.a.createElement(ct,{className:l.white},"Addresses"),width:800,textAlign:"left",size:"sm",view:function(e){return r.a.createElement("div",{className:l.addressRow},r.a.createElement(ro,null,Jr.a(["address"],e)))}},{name:"deleteButton",header:r.a.createElement(ct,{className:l.white},"Delete"),width:130,textAlign:"center",size:"sm",view:function(e){return r.a.createElement(kn,{className:l.deleteButton,onClick:function(){return a(Jr.a(["cryptoCode"],e),Jr.a(["address"],e))}},r.a.createElement(uo,null))}}],o=n?t[n.code]:t[di.a(t)[0]];return r.a.createElement(Hi,{data:o,elements:i,name:"blacklistTable"})};function po(){var e=Object(Bt.a)(["\n mutation InsertBlacklistRow($cryptoCode: String!, $address: String!) {\n insertBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n"]);return po=function(){return e},e}function ho(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return ho=function(){return e},e}function bo(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return bo=function(){return e},e}function go(){var e=Object(Bt.a)(["\n query getBlacklistData {\n blacklist {\n cryptoCode\n address\n }\n cryptoCurrencies {\n display\n code\n }\n }\n"]);return go=function(){return e},e}function vo(){var e=Object(Bt.a)(["\n mutation DeleteBlacklistRow($cryptoCode: String!, $address: String!) {\n deleteBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n"]);return vo=function(){return e},e}var yo=Object(f.a)(ri),Eo=Ur.a((function(e){return e.cryptoCode})),Oo=zt()(vo()),wo=zt()(go()),xo=zt()(bo()),jo=zt()(ho()),Co=zt()(po()),ko=function(){var e,t,n,l=Object(Pt.c)(wo).data,i=Object(Pt.c)(jo).data,c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],m=s[1],f=Object(a.useState)({code:"BTC",display:"Bitcoin"}),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Object(a.useState)(null),v=Object(o.a)(g,2),y=v[0],E=v[1],O=Object(Pt.b)(Oo,{onError:function(){return console.error("Error while deleting row")},refetchQueries:function(){return["getBlacklistData"]}}),w=Object(o.a)(O,1)[0],x=Object(Pt.b)(Co,{onError:function(){return console.log("Error while adding row")},refetchQueries:function(){return["getBlacklistData"]}}),j=Object(o.a)(x,1)[0],C=Object(Pt.b)(xo,{refetchQueries:function(){return["getData"]}}),k=Object(o.a)(C,1)[0],S=yo(),N=null!==(e=Jr.a(["blacklist"])(l))&&void 0!==e?e:[],I=null!==(t=Jr.a(["cryptoCurrencies"],l))&&void 0!==t?t:[],L=Eo(N),B=(null===i||void 0===i?void 0:i.config)&&ni("compliance")(i.config),P=null!==(n=null===B||void 0===B?void 0:B.rejectAddressReuse)&&void 0!==n&&n,F=function(){var e=Object(_r.a)(Zr.a.mark((function e(t,n){var a,r;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return E(null),e.next=3,j({variables:{cryptoCode:t,address:n}});case 3:if((a=e.sent).errors){e.next=6;break}return e.abrupt("return",m(!1));case 6:r=a.errors.some((function(e){return e.message.includes("duplicate")})),E(r?"This address is already being blocked":"Server error");case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Blacklisted addresses"},r.a.createElement("div",null,r.a.createElement(Bn,{onClick:function(){return m(!0)}},"Blacklist new addresses"))),r.a.createElement(d.a,{container:!0,className:S.grid},r.a.createElement(ze,{data:I,isSelected:sa.a("code",h.code),displayName:function(e){return e.display},onClick:function(e){b({code:e.code,display:e.display})}}),r.a.createElement("div",{className:S.content},r.a.createElement(qe.a,{display:"flex",justifyContent:"space-between",mb:3},r.a.createElement(Xe,{noMargin:!0,className:S.subtitle},h.display?"".concat(h.display," blacklisted addresses"):""," "),r.a.createElement(qe.a,{display:"flex",alignItems:"center",justifyContent:"end",mr:"-5px"},r.a.createElement(tt,null,"Reject reused addresses"),r.a.createElement(Pa,{checked:P,onChange:function(e){!function(e){var t=ai("compliance")(e);k({variables:{config:t}})}({rejectAddressReuse:e.target.checked})},value:P}),r.a.createElement(st,null,P?"On":"Off"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,'The "Reject reused addresses" option means that all addresses that are used once will be automatically rejected if there\'s an attempt to use them again on a new transaction.')))),r.a.createElement(fo,{data:L,selectedCoin:h,handleDeleteEntry:function(e,t){w({variables:{cryptoCode:e,address:t}})}}))),u&&r.a.createElement(ui,{onClose:function(){E(null),m(!1)},errorMsg:y,selectedCoin:h,addToBlacklist:F}))},So=n(339),No=n(519),Io=n(156),Lo=n(337),Bo=n(561),Po=n(517),Fo=n(97),Do=n(238),To=n(518),Wo=n(556),Ro=function(e){var t=e.message,n=void 0===t?"You have unsaved changes on this page. Are you sure you want to leave?":t,a=Object(Rt.e)();return r.a.createElement(v.a,{when:a.dirty&&0===a.submitCount,message:n})},Ao=r.a.createContext(),zo=n(549),Mo=n(513),qo=n(514),$o=function(){var e=Object(a.useContext)(Ao),t=e.elements,n=e.enableEdit,l=e.editWidth,i=e.enableDelete,c=e.deleteWidth,s=e.enableToggle,u=e.toggleWidth,d=e.DEFAULT_COL_SIZE,m=function(e,t){var n=e.name,a=e.width,l=void 0===a?d:a,i=e.header,o=e.textAlign;return r.a.createElement(ji,{header:!0,key:t,width:l,textAlign:o},i||wl(n))},f=function(e){var t=zo.a(Dr.a("doubleHeader"))(e),n=Object(o.a)(t,2),a=n[0],r=n[1];if(!a.length)return[e,Oi];var l=Mo.a(a[0],e),i=$t.a(mi.a,da.a(Jr.a(["width"])))(a);return[qo.a(l,{width:i,elements:a,name:a[0].doubleHeader},r),wi]}(t),p=Object(o.a)(f,2),h=p[0],b=p[1];return r.a.createElement(b,null,h.map((function(e,t){var n=e.width,a=e.elements,l=e.name;return a&&a.length?r.a.createElement(ki,{key:t,width:n,title:l},a.map(m)):m(e,t)})),n&&r.a.createElement(ji,{header:!0,width:l,textAlign:"center"},"Edit"),i&&r.a.createElement(ji,{header:!0,width:c,textAlign:"center"},"Delete"),s&&r.a.createElement(ji,{header:!0,width:u,textAlign:"center"},"Enable"))},Ho=n(515),Vo=n(516);function Yo(){return(Yo=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zo=a.createElement("defs",null,a.createElement("path",{id:"a",d:"M0 0h22v22H0z"})),_o=a.createElement("g",{fill:"none",fillRule:"evenodd"},a.createElement("mask",{id:"b",fill:"#fff"},a.createElement("use",{xlinkHref:"#a"})),a.createElement("path",{stroke:"#9B9B9B",strokeWidth:2,strokeLinecap:"round",mask:"url(#b)",d:"M9 9v9M13 9v9"}),a.createElement("g",{mask:"url(#b)",stroke:"#9B9B9B",strokeLinecap:"round",strokeWidth:2},a.createElement("path",{strokeLinejoin:"round",d:"M3 6l2 15h12l2-15"}),a.createElement("path",{d:"M1 5h20M14 4a3 3 0 10-6 0"})));function Uo(e,t){var n=e.title,r=e.titleId,l=Go(e,["title","titleId"]);return a.createElement("svg",Yo({width:22,height:22,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zo,_o)}var Jo=a.forwardRef(Uo);n.p;function Ko(){return(Ko=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Xo=a.createElement("desc",null,"Created with Sketch."),ec=a.createElement("g",{id:"icon/action/edit/disabled",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18",id:"Stroke-1",stroke:"#9B9B9B",strokeWidth:2}),a.createElement("polygon",{id:"Stroke-3",stroke:"#9B9B9B",strokeWidth:2,points:"6 12 17 1 21 5 10 16 6 16"}));function tc(e,t){var n=e.title,r=e.titleId,l=Qo(e,["title","titleId"]);return a.createElement("svg",Ko({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Xo,ec)}var nc=a.forwardRef(tc);n.p;function ac(){return(ac=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var lc=a.createElement("desc",null,"Created with Sketch."),ic=a.createElement("g",{id:"icon/action/edit/enabled",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18",id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("polygon",{id:"Stroke-3",stroke:"#1B2559",strokeWidth:2,points:"6 12 17 1 21 5 10 16 6 16"}));function oc(e,t){var n=e.title,r=e.titleId,l=rc(e,["title","titleId"]);return a.createElement("svg",ac({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,lc,ic)}var cc=a.forwardRef(oc);n.p;function sc(){return(sc=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var dc=a.createElement("defs",null,a.createElement("pattern",{id:"pattern_68JiZ",patternUnits:"userSpaceOnUse",width:5.5,height:5.5,patternTransform:"rotate(45)"},a.createElement("line",{x1:0,y:0,x2:0,y2:5.5,stroke:"#DBDFED",strokeWidth:3}))),mc=a.createElement("rect",{width:"100%",height:"100%",fill:"url(#pattern_68JiZ)",opacity:1});function fc(e,t){var n=e.title,r=e.titleId,l=uc(e,["title","titleId"]);return a.createElement("svg",sc({width:"100%",height:"36px",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,dc,"{' '}\n ",mc)}var pc=a.forwardRef(fc),hc=(n.p,{saveButton:{marginRight:20},lastOfGroup:{marginBottom:24},extraPadding:{paddingLeft:35,paddingRight:30},extraPaddingRight:{paddingRight:39},withSuffix:function(e){var t=e.textAlign;return{display:"flex",alignItems:"baseline",justifyContent:"right"===t?"end":t}},suffix:{marginLeft:7},size:function(e){var t=e.size;return Pe(t)},bold:Fe}),bc=Object(f.a)(hc),gc=function(e){var t=e.disabled,n=e.editing,l=bc(),i=Object(Rt.e)(),o=i.values,c=i.submitForm,s=i.resetForm,u=Object(a.useContext)(Ao),d=u.editWidth,m=u.onEdit,f=u.enableEdit,p=u.enableDelete,h=u.disableRowEdit,b=u.onDelete,g=u.deleteWidth,v=u.enableToggle,y=u.onToggle,E=u.toggleWidth,O=u.forceAdd,w=u.clearError,x=u.actionColSize,j=t||h&&h(o);return r.a.createElement(r.a.Fragment,null,n&&r.a.createElement(ji,{textAlign:"center",width:x},r.a.createElement(Bn,{className:l.saveButton,type:"submit",color:"primary",onClick:c},"Save"),!O&&r.a.createElement(Bn,{color:"secondary",onClick:function(){w(),s()}},"Cancel")),!n&&f&&r.a.createElement(ji,{textAlign:"center",width:d},r.a.createElement(kn,{disabled:j,className:l.editButton,onClick:function(){return m&&m(o.id)}},j?r.a.createElement(nc,null):r.a.createElement(cc,null))),!n&&p&&r.a.createElement(ji,{textAlign:"center",width:g},r.a.createElement(kn,{disabled:t,onClick:function(){return b(o.id)}},t?r.a.createElement(Jo,null):r.a.createElement(uo,null))),!n&&v&&r.a.createElement(ji,{textAlign:"center",width:E},r.a.createElement(Pa,{checked:!!o.active,value:!!o.active,disabled:t,onChange:function(){return y(o.id)}})))},vc=function(e){var t,n=e.editing,a=e.focus,l=e.config,i=e.extraPaddingRight,o=e.extraPadding,s=l.name,u=l.bypassField,d=l.input,m=l.editable,f=void 0===m||m,p=l.size,h=l.bold,b=l.width,g=l.textAlign,v=l.suffix,y=l.SuffixComponent,O=void 0===y?ot:y,w=l.view,x=void 0===w?function(e){return null===e||void 0===e?void 0:e.toString()}:w,j=l.inputProps,C=void 0===j?{}:j,k=Object(Rt.e)().values,S=bc({textAlign:g,size:p}),N=Object(c.a)({fullWidth:!0,autoFocus:a,size:p,bold:h,textAlign:g},C);N.options&&!N.getLabel&&(N.getLabel=x);var I=n&&f,L=!u;return r.a.createElement(ji,{className:(t={},Object(E.a)(t,S.extraPaddingRight,i),Object(E.a)(t,S.extraPadding,o),Object(E.a)(t,S.withSuffix,v),t),width:b,size:p,bold:h,textAlign:g},I&&L&&r.a.createElement(Rt.b,Object.assign({name:s,component:d},N)),I&&!L&&r.a.createElement(l.input,{name:s}),!I&&k&&r.a.createElement(r.a.Fragment,null,x(k[s],k)),v&&r.a.createElement(O,{className:S.suffix},v))},yc=function(e){var t=e.editing,n=e.disabled,l=e.lastOfGroup,i=Object(Rt.e)(),c=i.touched,s=i.errors,u=i.values,d=Object(a.useContext)(Ao),m=d.elements,f=d.enableEdit,p=d.enableDelete,h=d.error,b=d.enableToggle,g=d.rowSize,v=d.stripeWhen,y=bc(),O=v&&v(u)&&!t?function(e){var t=zo.a(Dr.a("stripe"))(e),n=Object(o.a)(t,2),a=n[0],l=n[1];if(!a.length)return e;var i=Mo.a(a[0],e),c=$t.a(mi.a,da.a(Jr.a(["width"])))(a);return qo.a(i,{width:c,editable:!1,view:function(){return r.a.createElement(pc,null)}},l)}(m):m,x=zo.a(Dr.a("doubleHeader"))(m),j=Object(o.a)(x,1)[0],C=(null===j||void 0===j?void 0:j.length)?Mo.a(j[0],m):-1,k=(null===j||void 0===j?void 0:j.length)?Mo.a(j[j.length-1],m):-1,S=O.findIndex((function(e){return void 0===e.editable||e.editable})),N=Object(E.a)({},y.lastOfGroup,l),I=Ho.a(di.a(c),s),L=I&&di.a(I).length>0||!!h,B=h||I&&Vo.a(I).join(", ");return r.a.createElement(Si,{className:w()(N),size:g,error:t&&L,errorMessage:B},O.map((function(e,n){return r.a.createElement(vc,{key:n,config:e,editing:t,focus:n===S&&t,extraPaddingRight:k===n,extraPadding:C===n})})),(f||p||b)&&r.a.createElement(gc,{disabled:n,editing:t}))},Ec={wrapper:function(e){return{width:e.width}},addLink:{marginLeft:"auto"},title:{margin:0,color:ie},outerHeader:{minHeight:16,marginBottom:24,display:"flex",justifyContent:"space-between",alignItems:"center"}},Oc=Object(f.a)(Ec),wc=$t.a(Io.a(Lo.a)(0),da.a((function(e){var t;return null!==(t=e.width)&&void 0!==t?t:100}))),xc=function(e){var t,n,l,i=e.name,s=e.title,u=e.titleLg,d=e.elements,m=void 0===d?[]:d,f=e.data,p=void 0===f?[]:f,h=e.save,b=e.error,g=e.rowSize,v=void 0===g?"md":g,y=e.validationSchema,O=e.enableCreate,w=e.enableEdit,x=e.editWidth,j=e.enableDelete,C=e.deleteWidth,k=void 0===C?87:C,S=e.enableToggle,N=e.toggleWidth,I=void 0===N?87:N,L=e.onToggle,B=e.forceDisable,P=e.disableAdd,F=e.initialValues,D=e.setEditing,T=e.shouldOverrideEdit,W=e.editOverride,R=e.stripeWhen,A=e.disableRowEdit,z=e.groupBy,M=e.sortBy,q=e.createText,$=void 0===q?"Add override":q,H=e.forceAdd,V=void 0!==H&&H,Y=Object(a.useState)(null),G=Object(o.a)(Y,2),Z=G[0],_=G[1],U=Object(a.useState)(!1),J=Object(o.a)(U,2),K=J[0],Q=J[1],X=Object(a.useState)(!1),ee=Object(o.a)(X,2),te=ee[0],ne=ee[1],ae=Object(a.useState)(null),re=Object(o.a)(ae,2),le=re[0],ie=re[1];Object(a.useEffect)((function(){return ie(b)}),[b]),Object(a.useEffect)((function(){ie(null),Q(V)}),[V]);var oe=function(){var e=Object(_r.a)(Zr.a.mark((function e(t){var n,a,r;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!te){e.next=2;break}return e.abrupt("return");case 2:if(ne(!0),n=y.cast(t),a=$r.a(sa.a("id",n.id))(p),r=-1!==a?Bo.a(a,n,p):Po.a(n,p),Fo.a(p[a],n)){e.next=16;break}return e.prev=7,e.next=10,h(Object(E.a)({},i,r),n);case 10:e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(7),ne(!1),e.abrupt("return");case 16:Q(!1),_(null),D&&D(!1),ne(!1);case 20:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(t){return e.apply(this,arguments)}}(),ce=function(){Q(!1),_(null),D&&D(!1)},se=function(){Q(!0),ie(null),D&&D(!0,!0)},ue=j||S?87:174,de=ha.a(ue)(x),me=(null!==(t=j&&k)&&void 0!==t?t:0)+(null!==(n=w&&de)&&void 0!==n?n:0)+(null!==(l=S&&I)&&void 0!==l?l:0),fe=wc(m)+me,pe=Oc({width:fe}),he=!p.length&&O&&!K,be=!B&&!Z&&!P&&!K,ge=K||0!==p.length,ve=M?To.a(M)(p):p,ye={elements:m,enableEdit:w,onEdit:function(e){if(T&&T(e))return W(e);_(e),ie(null),D&&D(e,!0)},clearError:function(){return ie(null)},error:le,disableRowEdit:A,editWidth:de,enableDelete:j,onDelete:function(e){var t=Do.a((function(t){return t.id===e}),p);return h(Object(E.a)({},i,t))},deleteWidth:k,enableToggle:S,rowSize:v,onToggle:L,toggleWidth:I,actionColSize:me,stripeWhen:R,forceAdd:V,DEFAULT_COL_SIZE:100};return r.a.createElement(Ao.Provider,{value:ye},r.a.createElement("div",{className:pe.wrapper},he&&be&&r.a.createElement(en,{onClick:se},$),ge&&r.a.createElement(r.a.Fragment,null,(s||O)&&r.a.createElement("div",{className:pe.outerHeader},s&&u&&r.a.createElement(it,{className:pe.title},s),s&&!u&&r.a.createElement(at,{className:pe.title},s),O&&be&&r.a.createElement(Bn,{className:pe.addLink,onClick:se},$)),r.a.createElement(Ei,null,r.a.createElement($o,null),r.a.createElement(xi,null,K&&r.a.createElement(Rt.d,{initialValues:Object(c.a)({id:Object(Wo.a)()},F),onReset:ce,validationSchema:y,onSubmit:oe},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),r.a.createElement(yc,{editing:!0,disabled:B}))),ve.map((function(e,t){var n,a=ve[t+1],l=!!z&&a,i="Function"===la.a(z)?z:ua.a(z),o=l&&i(e)!==i(a);return r.a.createElement(Rt.d,{key:null!==(n=e.id)&&void 0!==n?n:t,enableReinitialize:!0,initialValues:e,onReset:ce,validationSchema:y,onSubmit:oe},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),r.a.createElement(yc,{lastOfGroup:o,editing:Z===e.id,disabled:B||Z&&Z!==e.id||K})))})))))))},jc=function(e){var t=e.name,n=e.save,a=e.data,l=void 0===a?{}:a,i=e.namespaces,o=void 0===i?[]:i,s=Object($e.a)(e,["name","save","data","namespaces"]),u=da.a((function(e){return Object(c.a)({id:e},ni(e)(l))}))(o);return r.a.createElement(xc,Object.assign({name:t,data:u,save:function(){for(var e=arguments.length,t=new Array(e),a=0;a=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Nc=a.createElement("desc",null,"Created with Sketch."),Ic=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/direction/cash-out",transform:"translate(-1.000000, 0.000000)",fill:"#5A67FF"},a.createElement("path",{d:"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z",id:"Path-3",transform:"translate(6.000000, 6.000000) scale(-1, 1) translate(-6.000000, -6.000000) "})));function Lc(e,t){var n=e.title,r=e.titleId,l=Sc(e,["title","titleId"]);return a.createElement("svg",kc({width:"10px",height:"12px",viewBox:"0 0 10 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Nc,Ic)}var Bc=a.forwardRef(Lc),Pc=(n.p,{logo:{maxHeight:80,maxWidth:200},subtitle:{margin:0,marginBottom:42,textAlign:"center"},text:{margin:0},button:{margin:[[0,"auto"]]},modalContent:{display:"flex",flexDirection:"column",justifyContent:"space-between",flex:1,padding:[[0,34,107,34]]},innerContent:{paddingBottom:72},title:{color:"#5a67ff",marginBottom:12,marginTop:30,textAlign:"center"},titleDecorator:{verticalAlign:"bottom",marginRight:12,width:24,height:26}}),Fc=Object(f.a)(Pc),Dc=function(e){var t=e.name,n=e.onContinue,a=Fc();return r.a.createElement("div",{className:a.modalContent},r.a.createElement("div",{className:a.innerContent},r.a.createElement(Je,{className:a.title},r.a.createElement(Bc,{className:a.titleDecorator}),r.a.createElement("span",null,"Enable cash-out")),r.a.createElement(at,{className:a.subtitle},t),r.a.createElement(tt,null,"You are about to activate cash-out functionality on your ",t," ","machine which will allow your customers to sell crypto to you."),r.a.createElement(tt,null,"In order to activate cash-out for this machine, please enter the denominations for the machine.")),r.a.createElement(on,{className:a.button,onClick:n},"Start configuration"))},Tc=n(520);function Wc(){return(Wc=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ac=a.createElement("desc",null,"Created with Sketch."),zc=a.createElement("g",{id:"icon/stage/spring/complete",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval",stroke:"#48F694",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}),a.createElement("path",{d:"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12",id:"Path",fill:"#48F694"}));function Mc(e,t){var n=e.title,r=e.titleId,l=Rc(e,["title","titleId"]);return a.createElement("svg",Wc({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ac,zc)}var qc=a.forwardRef(Mc);n.p;function $c(){return($c=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Vc=a.createElement("desc",null,"Created with Sketch."),Yc=a.createElement("g",{id:"icon/stage/spring/current",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-2-Copy",fill:"#48F694",cx:9,cy:9,r:4}),a.createElement("circle",{id:"Oval-Copy-5",stroke:"#48F694",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function Gc(e,t){var n=e.title,r=e.titleId,l=Hc(e,["title","titleId"]);return a.createElement("svg",$c({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Vc,Yc)}var Zc=a.forwardRef(Gc);n.p;function _c(){return(_c=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Jc=a.createElement("desc",null,"Created with Sketch."),Kc=a.createElement("g",{id:"icon/stage/spring/empty",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-Copy-6",stroke:"#DDDDDD",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function Qc(e,t){var n=e.title,r=e.titleId,l=Uc(e,["title","titleId"]);return a.createElement("svg",_c({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Jc,Kc)}var Xc=a.forwardRef(Qc),es=(n.p,{stages:{display:"flex",alignItems:"center"},wrapper:{display:"flex",alignItems:"center",margin:0},stage:{display:"flex",height:28,width:28,zIndex:2,"& > svg":{height:"100%",width:"100%",overflow:"visible"}},separator:{width:28,height:2,border:[[2,"solid"]],zIndex:1},separatorSpring:{borderColor:K},separatorZodiac:{borderColor:J},separatorSpringEmpty:{borderColor:ae},separatorZodiacEmpty:{borderColor:ie}}),ts=Object(f.a)(es),ns=Object(a.memo)((function(e){var t,n,a=e.steps,l=e.currentStep,i=e.color,o=void 0===i?"spring":i,c=e.className;if(l<1||l>a)throw Error("Value of currentStage is invalid");if(a<1)throw Error("Value of stages is invalid");var s=ts(),u=(t={},Object(E.a)(t,s.separator,!0),Object(E.a)(t,s.separatorSpring,"spring"===o),Object(E.a)(t,s.separatorZodiac,"zodiac"===o),t),d=(n={},Object(E.a)(n,s.separator,!0),Object(E.a)(n,s.separatorSpringEmpty,"spring"===o),Object(E.a)(n,s.separatorZodiacEmpty,"zodiac"===o),n);return r.a.createElement("div",{className:w()(c,s.stages)},Tc.a(1,l).map((function(e){return r.a.createElement("div",{key:e,className:s.wrapper},e>1&&r.a.createElement("div",{className:w()(u)}),r.a.createElement("div",{className:s.stage},"spring"===o&&r.a.createElement(qc,null),"zodiac"===o&&r.a.createElement(N,null)))})),r.a.createElement("div",{className:s.wrapper},l>1&&r.a.createElement("div",{className:w()(u)}),r.a.createElement("div",{className:s.stage},"spring"===o&&r.a.createElement(Zc,null),"zodiac"===o&&r.a.createElement(D,null))),Tc.a(l+1,a+1).map((function(e){return r.a.createElement("div",{key:e,className:s.wrapper},r.a.createElement("div",{className:w()(d)}),r.a.createElement("div",{className:s.stage},"spring"===o&&r.a.createElement(Xc,null),"zodiac"===o&&r.a.createElement(M,null)))})))})),as=n.p+"static/media/cashout-cassette-1.fac6c691.svg",rs=n.p+"static/media/cashout-cassette-2.34a98cfa.svg",ls={title:{margin:[[0,0,12,0]]},titleDiv:{paddingBottom:32},subtitle:{margin:[[32,0,21,0]]},edit:{margin:[[0,0,0,0]]},error:{color:se},bill:{width:131,display:"flex",alignItems:"center",justifyContent:"end"},billInput:{width:"100%"},suffix:{paddingLeft:16},button:{marginLeft:"auto"},submit:{float:"right"},picker:{width:150},header:{display:"flex",paddingBottom:95},thirdStepHeader:{display:"flex",paddingBottom:188},step:{flex:1},stepImage:{position:"relative",top:-20,right:14},content:{display:"flex",flexDirection:"column",justifyContent:"space-between",flex:1,paddingBottom:32},disclaimer:{display:"flex",flex:1,flexDirection:"column",justifyContent:"space-between"},disclaimerIcon:{float:"left",margin:[[-4,16,48,0]]}},is=Object(f.a)(ls),os=function(e){var t=e.name,n=e.step,a=e.schema,l=e.error,i=e.lastStep,o=e.onContinue,c=e.steps,s=e.fiatCurrency,u=e.options,d=is(),m=i?"Finish":"Next",f={1:as,2:rs};return r.a.createElement("div",{className:d.content},r.a.createElement("div",{className:d.titleDiv},r.a.createElement(at,{className:d.title},t),r.a.createElement(ns,{steps:4,currentStep:n})),n<=2&&r.a.createElement(Rt.d,{onSubmit:o,initialValues:{top:"",bottom:""},enableReinitialize:!0,validationSchema:a},r.a.createElement(Rt.c,null,r.a.createElement("div",{className:d.header},c.map((function(e,t){var a=e.type,l=e.display,i=e.component;return 1+t===n&&r.a.createElement("div",{key:t,className:d.step},r.a.createElement(Xe,{className:d.edit},"Edit ",l),r.a.createElement(ct,null,"Choose bill denomination"),r.a.createElement("div",{className:d.bill},r.a.createElement(Rt.b,{className:d.billInput,type:"text",size:"lg",autoFocus:1+t===n,component:(null===u||void 0===u?void 0:u.length)>0?i:Da,fullWidth:!0,decimalPlaces:0,name:a,options:u,valueProp:"code",getLabel:Jr.a(["display"])}),r.a.createElement(nt,{noMargin:!0,className:d.suffix},s)))})),r.a.createElement("img",{className:d.stepImage,alt:"cassette",width:"148",height:"196",src:f[n]})),r.a.createElement(on,{className:d.submit,type:"submit"},m))),3===n&&r.a.createElement(Rt.d,{onSubmit:o,initialValues:{zeroConfLimit:""},enableReinitialize:!0,validationSchema:c[n-1].schema},r.a.createElement(Rt.c,null,r.a.createElement("div",{className:d.thirdStepHeader},r.a.createElement("div",{className:d.step},r.a.createElement(Xe,{className:d.edit},"Edit 0-conf Limit"),r.a.createElement(ct,null,"Choose a limit"),r.a.createElement("div",{className:d.bill},r.a.createElement(Rt.b,{className:d.billInput,type:"text",size:"lg",autoFocus:!0,component:Da,fullWidth:!0,decimalPlaces:0,name:c[n-1].type}),r.a.createElement(nt,{noMargin:!0,className:d.suffix},s)))),r.a.createElement(on,{className:d.submit,type:"submit"},m))),i&&r.a.createElement("div",{className:d.disclaimer},r.a.createElement(at,{className:d.title},"Cash-out Bill Count"),r.a.createElement(tt,null,r.a.createElement(Ja,{className:d.disclaimerIcon}),"When enabling cash-out, your bill count will be automatically set to zero. Make sure you physically put cash inside the cash cassettes to allow the machine to dispense it to your users. If you already did, make sure you set the correct cash-out bill count for this machine on your Cash Cassettes tab under Maintenance."),r.a.createElement(at,{className:d.title},"Default Commissions"),r.a.createElement(tt,null,r.a.createElement(Ja,{className:d.disclaimerIcon}),"When enabling cash-out, default commissions will be set. To change commissions for this machine, please go to the Commissions tab under Settings where you can set exceptions for each of the available cryptocurrencies."),r.a.createElement("div",null,l&&r.a.createElement(pt,null,"Failed to save"),r.a.createElement(on,{className:d.submit,onClick:function(){return o()}},m))))},cs=999999999,ss=Yt.d().shape({top:Yt.c().label("Cassette 1 (Top)").required().min(0).max(cs),bottom:Yt.c().label("Cassette 2 (Bottom)").required().min(0).max(cs),zeroConfLimit:Yt.c().label("0-conf Limit").required().min(0).max(cs)}),us=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.fiatCurrency;return[{name:"id",header:"Machine",width:200,view:function(t){return e.find((function(e){return e.deviceId===t})).name},size:"sm",editable:!1},{name:"top",header:"Cassette 1 (Top)",size:"sm",stripe:!0,width:200,textAlign:"right",input:Da,inputProps:{decimalPlaces:0},suffix:n},{name:"bottom",header:"Cassette 2 (Bottom)",size:"sm",stripe:!0,textAlign:"right",width:200,input:Da,inputProps:{decimalPlaces:0},suffix:n},{name:"zeroConfLimit",header:"0-conf Limit",size:"sm",stripe:!0,textAlign:"right",width:200,input:Da,inputProps:{decimalPlaces:0},suffix:n}]},ds=Ml.a((function(e,t){var n=ua.a("fiatCurrency")(e);return $t.a(da.a((function(e){return{code:e,display:e}})),di.a,Jr.a([n]))(t)})),ms=function(e){var t=e.machine,n=e.locale,l=e.onClose,i=e.save,c=e.error,s=Object(a.useState)({step:0,config:{active:!0}}),u=Object(o.a)(s,2),d=u[0],m=d.step,f=d.config,p=u[1],h=ds(n,Cc),b=4===m,g=function(){var e=Object(_r.a)(Zr.a.mark((function e(n){var a;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!b){e.next=2;break}return e.abrupt("return",i(ai(t.deviceId,ss.cast(f))));case 2:a=gn.a(f,n),p({step:m+1,config:a});case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),v=[{type:"top",display:"Cassette 1 (Top)",component:Fa},{type:"bottom",display:"Cassette 2",component:Fa},{type:"zeroConfLimit",display:"0-conf Limit",schema:Yt.d().shape({zeroConfLimit:Yt.c().required()})}];return r.a.createElement(ci,{title:0===m?null:"Enable cash-out",handleClose:l,width:554,height:520,open:!0},0===m&&r.a.createElement(Dc,{name:t.name,onContinue:function(){return g()}}),0!==m&&r.a.createElement(os,{step:m,name:t.name,error:c,lastStep:b,steps:v,fiatCurrency:n.fiatCurrency,options:h,schema:Yt.d().shape({top:Yt.c().required(),bottom:m>=2?Yt.c().required():Yt.c()}),onContinue:g}))};function fs(){var e=Object(Bt.a)(["\n query getData {\n machines {\n name\n deviceId\n cashbox\n cassette1\n cassette2\n }\n config\n }\n"]);return fs=function(){return e},e}function ps(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return ps=function(){return e},e}var hs=Object(f.a)({fudgeFactor:{display:"flex",alignItems:"center",marginRight:156},switchLabel:{margin:6,width:24}}),bs=zt()(ps()),gs=zt()(fs()),vs=function(e){var t,n,l=e.name,i=hs(),c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(Pt.c)(gs).data,f=Object(Pt.b)(bs,{onCompleted:function(){return d(!1)},refetchQueries:function(){return["getData"]}}),p=Object(o.a)(f,2),h=p[0],b=p[1].error,g=function(e,t){var n=ai(l)(e);return h({variables:{config:n,accounts:t}})},v=(null===m||void 0===m?void 0:m.config)&&ni(l)(m.config),y=null!==(t=null===v||void 0===v?void 0:v.fudgeFactorActive)&&void 0!==t&&t,E=(null===m||void 0===m?void 0:m.config)&&ni("locale")(m.config),O=null!==(n=null===m||void 0===m?void 0:m.machines)&&void 0!==n?n:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Cash-out"},r.a.createElement("div",{className:i.fudgeFactor},r.a.createElement(tt,null,"Transaction fudge factor"),r.a.createElement(Pa,{checked:y,onChange:function(e){g({fudgeFactorActive:e.target.checked})},value:y}),r.a.createElement(st,{className:i.switchLabel},y?"On":"Off"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,"Automatically accept customer deposits as complete if their received amount is 100 crypto atoms or less."),r.a.createElement(tt,null,"(Crypto atoms are the smallest unit in each cryptocurrency. E.g., satoshis in Bitcoin, or wei in Ethereum.)")))),r.a.createElement(jc,{namespaces:da.a(Jr.a(["deviceId"]))(O),data:v,stripeWhen:function(e){return!ss.isValidSync(e)},enableEdit:!0,editWidth:134,enableToggle:!0,toggleWidth:109,onToggle:function(e){var t=ni(e)(v);if(!ss.isValidSync(t))return d(e);g(ai(e,{active:!(null===t||void 0===t?void 0:t.active)}))},save:g,error:null===b||void 0===b?void 0:b.message,validationSchema:ss,disableRowEdit:$t.a(So.a,Jr.a(["active"])),elements:us(O,E)}),u&&r.a.createElement(ms,{machine:ca.a(sa.a("deviceId",u))(O),onClose:function(){return d(!1)},save:g,error:null===b||void 0===b?void 0:b.message,locale:E}))},ys=n(526),Es=n(564),Os=Object(f.a)({subtitle:{color:ie,marginTop:16,marginBottom:16},extraMarginTop:{marginTop:72}}),ws=Object(a.memo)((function(e){var t,n=e.children,a=e.className,l=e.extraMarginTop,i=Os(),o=(t={},Object(E.a)(t,i.subtitle,!0),Object(E.a)(t,i.extraMarginTop,l),t);return r.a.createElement(it,{className:w()(o,a)},n)})),xs=Object(f.a)({section:{marginBottom:72},sectionHeader:{display:"flex",alignItems:"center"},sectionTitle:{margin:[[16,20,23,0]]}}),js=function(e){var t=e.error,n=e.children,a=e.title,l=xs();return r.a.createElement("div",{className:l.section},(a||t)&&r.a.createElement("div",{className:l.sectionHeader},r.a.createElement(ws,{className:l.sectionTitle},a),t&&r.a.createElement(pt,null,"Failed to save changes")),n)},Cs=n(521),ks=n(522),Ss=n(523),Ns=n(235),Is=n(524),Ls=n(563);function Bs(){return(Bs=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Fs=a.createElement("desc",null,"Created with Sketch."),Ds=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/direction/cash-in",transform:"translate(-1.000000, 0.000000)",fill:"#16D6D3"},a.createElement("path",{d:"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z",id:"Path-3"})));function Ts(e,t){var n=e.title,r=e.titleId,l=Ps(e,["title","titleId"]);return a.createElement("svg",Bs({width:"10px",height:"12px",viewBox:"0 0 10 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Fs,Ds)}var Ws=a.forwardRef(Ts),Rs=(n.p,{name:"All Machines",deviceId:"ALL_MACHINES"}),As={display:"All Coins",code:"ALL_COINS"},zs={marginLeft:6},Ms=r.a.createElement("div",null,r.a.createElement(Ws,null),r.a.createElement("span",{style:zs},"Cash-in")),qs=r.a.createElement("div",null,r.a.createElement(Bc,null),r.a.createElement("span",{style:zs},"Cash-out")),$s=function(e,t,n){return function(a){return e?$t.a(ua.a(t),ca.a(sa.a(null!==n&&void 0!==n?n:"code",a)))(e):""}},Hs=function(e){return function(t){return t?$t.a(Cs.a(", "),da.a($s(e,"display")))(t):t}},Vs=function(e,t,n){var a=ks.a(As.code)(t),r=ks.a(As.code)(e);return a&&r&&Ht.a(t)>1?n(Do.a(Fo.a(As.code))(t)):a&&!r?n([As.code]):void n(t)},Ys=function(e){return[{header:Ms,name:"cashIn",display:"Cash-in",width:169,size:"lg",input:Da,suffix:"%",inputProps:{decimalPlaces:3}},{header:qs,name:"cashOut",display:"Cash-out",width:169,size:"lg",input:Da,suffix:"%",inputProps:{decimalPlaces:3}},{name:"fixedFee",display:"Fixed fee",width:169,size:"lg",doubleHeader:"Cash-in only",textAlign:"center",input:Da,suffix:e,inputProps:{decimalPlaces:2}},{name:"minimumTx",display:"Minimun Tx",width:169,size:"lg",doubleHeader:"Cash-in only",textAlign:"center",input:Da,suffix:e,inputProps:{decimalPlaces:2}}]},Gs=function(e,t,n){return function(e,t,n){var a=[Rs].concat(e(["machines"])),r=e(["cryptoCurrencies"]),l=[As].concat(da.a((function(e){return{display:e.code,code:e.code}}))(null!==r&&void 0!==r?r:[]));return[{name:"machine",width:196,size:"sm",view:$s(a,"name","deviceId"),input:Fa,inputProps:{options:a,valueProp:"deviceId",getLabel:Jr.a(["name"])}},{name:"cryptoCurrencies",width:280,size:"sm",view:Hs(l),input:Fa,inputProps:{options:l,valueProp:"code",getLabel:Jr.a(["display"]),multiple:!0,onChange:Vs}},{header:Ms,name:"cashIn",display:"Cash-in",width:130,input:Da,textAlign:"right",suffix:"%",inputProps:{decimalPlaces:3}},{header:qs,name:"cashOut",display:"Cash-out",width:130,input:Da,textAlign:"right",suffix:"%",inputProps:{decimalPlaces:3}},{name:"fixedFee",display:"Fixed fee",width:144,input:Da,doubleHeader:"Cash-in only",textAlign:"right",suffix:t,inputProps:{decimalPlaces:2}},{name:"minimumTx",display:"Minimun Tx",width:144,input:Da,doubleHeader:"Cash-in only",textAlign:"right",suffix:t,inputProps:{decimalPlaces:2}}]}(Jr.a(Ss.a,e),t)},Zs=100,_s=9999999,Us=Yt.d().shape({cashIn:Yt.c().label("Cash-in").min(0).max(Zs).required(),cashOut:Yt.c().label("Cash-out").min(0).max(Zs).required(),fixedFee:Yt.c().label("Fixed Fee").min(0).max(_s).required(),minimumTx:Yt.c().label("Minimum Tx").min(0).max(_s).required()}),Js=function(e,t){var n=Jr.a(Ss.a,t),a=[Rs].concat(n(["machines"])),r=n(["cryptoCurrencies"]),l=[As].concat(da.a((function(e){return{display:e.code,code:e.code}}))(null!==r&&void 0!==r?r:[]));return Yt.d().shape({machine:Yt.e().nullable().label("Machine").required(),cryptoCurrencies:Yt.a().test({test:function(){var t=this.parent,n=t.id,r=t.machine,i=t.cryptoCurrencies,o=function(e,t,n){var a=ua.a("cryptoCurrencies"),r=ua.a("machine"),l=Wr.a(sa.a("machine",t))(n),i=ca.a(sa.a("id",e))(n),o=a(i),c=r(i),s=$t.a(Ns.a,Tr.a,da.a(a))(l);return t!==c?null!==s&&void 0!==s?s:[]:Is.a(s,o)}(n,r,e),c=r===Rs.deviceId,s=ks.a(As.code,i);if(c&&s)return this.createError({message:"All machines and all coins should be configured in the default setup table"});var u=Ls.a(o,i);if(!pa.a(u)){var d=Hs(l)(u),m=$s(a,"name","deviceId")(r),f="".concat(d," already overriden for machine: ").concat(m);return this.createError({message:f})}return!0}}).label("Crypto Currencies").required(),cashIn:Yt.c().label("Cash-in").min(0).max(Zs).required(),cashOut:Yt.c().label("Cash-out").min(0).max(Zs).required(),fixedFee:Yt.c().label("Fixed Fee").min(0).max(_s).required(),minimumTx:Yt.c().label("Minimum Tx").min(0).max(_s).required()})},Ks={cashIn:"",cashOut:"",fixedFee:"",minimumTx:""},Qs={machine:null,cryptoCurrencies:[],cashIn:"",cashOut:"",fixedFee:"",minimumTx:""},Xs=function(e){var t=e.machine,n=e.cryptoCurrencies,a=t===Rs.deviceId,r=qr.a(As.code,n);return a&&r?0:a?1:r?2:3};function eu(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return eu=function(){return e},e}function tu(){var e=Object(Bt.a)(["\n query getData {\n config\n cryptoCurrencies {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n"]);return tu=function(){return e},e}var nu=zt()(tu()),au=zt()(eu()),ru=function(e){var t,n=e.name,l=Object(a.useState)(!1),i=Object(o.a)(l,2),c=i[0],s=i[1],u=Object(a.useState)(!1),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(Pt.c)(nu).data,h=Object(Pt.b)(au,{refetchQueries:function(){return["getData"]}}),b=Object(o.a)(h,2),g=b[0],v=b[1].error,y=(null===p||void 0===p?void 0:p.config)&&ni(n)(p.config),E=Jr.a(["fiatCurrency"])(ni(_l)(null===p||void 0===p?void 0:p.config)),O=y&&!pa.a(y)?y:Ks,w=null!==(t=null===O||void 0===O?void 0:O.overrides)&&void 0!==t?t:[],x=To.a([ys.a(Xs),ys.a(ua.a("machine"))])(w);return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Commissions"}),r.a.createElement(js,null,r.a.createElement(xc,{error:null===v||void 0===v?void 0:v.message,title:"Default setup",rowSize:"lg",titleLg:!0,name:"commissions",enableEdit:!0,initialValues:O,save:function(e){var t=ai(n)(e.commissions[0]);return g({variables:{config:t}})},validationSchema:Us,data:Es.a(O),elements:Ys(E),setEditing:function(e,t){return s(t)},forceDisable:m})),r.a.createElement(js,null,r.a.createElement(xc,{error:null===v||void 0===v?void 0:v.message,title:"Overrides",titleLg:!0,name:"overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,groupBy:Xs,initialValues:Qs,save:function(e){var t=ai(n)(e);return g({variables:{config:t}})},validationSchema:Js(x,p),data:x,elements:Gs(p,E),setEditing:function(e,t){return f(t)},forceDisable:c})))},lu=n(555),iu=n(340),ou=n.n(iu),cu=n(527),su=n(528),uu={error:_,warning:"#ff7311",success:X,neutral:J},du={error:U,warning:"#fbf3ec",success:H,neutral:Y},mu=Object(f.a)({root:{borderRadius:4,marginTop:4,marginRight:2,marginBottom:4,marginLeft:2,height:24,backgroundColor:function(e){var t=e.type;return du[t]}},label:{fontSize:ye,fontWeight:500,fontFamily:xe,paddingRight:4,paddingLeft:4,color:function(e){var t=e.type;return uu[t]}}}),fu=function(e){var t=e.status,n=mu({type:t.type});return r.a.createElement(Nl.a,{type:t.type,label:t.label,classes:n})},pu=function(e){var t=e.statuses,n=t.find((function(e){return"error"===e.type}))||t.find((function(e){return"warning"===e.type}))||t[0],a={label:"+".concat(t.length-1),type:n.type};return r.a.createElement("div",null,r.a.createElement(fu,{status:n}),t.length>1&&r.a.createElement(fu,{status:a}))};function hu(){return(hu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var gu=a.createElement("desc",null,"Created with Sketch."),vu=a.createElement("g",{id:"icon/button/authorize/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval",stroke:"#FFFFFF",cx:6,cy:6,r:5}),a.createElement("polyline",{id:"Stroke-13",stroke:"#FFFFFF",strokeLinecap:"round",strokeLinejoin:"round",points:"4 6.66666667 5 8 8 4"}));function yu(e,t){var n=e.title,r=e.titleId,l=bu(e,["title","titleId"]);return a.createElement("svg",hu({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,gu,vu)}var Eu=a.forwardRef(yu);n.p;function Ou(){return(Ou=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var xu=a.createElement("desc",null,"Created with Sketch."),ju=a.createElement("g",{id:"icon/button/authorize/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"Group-9",stroke:"#1B2559"},a.createElement("circle",{id:"Oval",cx:6,cy:6,r:5})),a.createElement("polyline",{id:"Stroke-13",stroke:"#1B2559",strokeLinecap:"round",strokeLinejoin:"round",points:"4 6.66666667 5 8 8 4"}));function Cu(e,t){var n=e.title,r=e.titleId,l=wu(e,["title","titleId"]);return a.createElement("svg",Ou({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,xu,ju)}var ku=a.forwardRef(Cu);n.p;function Su(){return(Su=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Iu=a.createElement("desc",null,"Created with Sketch."),Lu=a.createElement("g",{id:"icon/button/cancel/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",stroke:"#1B2559",strokeWidth:1.2},a.createElement("line",{x1:12,y1:0,x2:0,y2:12,id:"Stroke-1"}),a.createElement("line",{x1:0,y1:0,x2:12,y2:12,id:"Stroke-3"})));function Bu(e,t){var n=e.title,r=e.titleId,l=Nu(e,["title","titleId"]);return a.createElement("svg",Su({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Iu,Lu)}var Pu=a.forwardRef(Bu),Fu=(n.p,{label1:{display:"flex",marginBottom:2,marginTop:"auto",width:85},label1Pending:{color:q},label1Rejected:{color:_},label1Accepted:{color:V},cardActionButton:{display:"flex",height:28,marginRight:"auto",marginLeft:12},propertyCardTopRow:{display:"flex",margin:[[0,10,5,0]]},propertyCardBottomRow:{display:"flex",flexDirection:"row",height:45},propertyCard:{display:"flex",flexDirection:"column",borderRadius:8,width:"100%",height:100,padding:[[20]],boxSizing:"border-box",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.04)",border:"solid 0",backgroundColor:Z,margin:[[20,0,0,0]]},rowSpaceBetween:{display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyContent:"space-between"},columnSpaceBetween:{display:"flex",flexFlow:"column nowrap",alignItems:"center",justifyContent:"space-between",width:90},buttonsWrapper:{display:"flex",flexDirection:"row",justifyContent:"flex-end",marginLeft:"auto",marginTop:"auto"}}),Du=Object(f.a)(Fu),Tu="automatic",Wu="verified",Ru="blocked",Au=Object(a.memo)((function(e){var t,n=e.className,a=e.title,l=e.state,i=e.authorize,o=e.reject,c=e.children,s=Du(),u=(t={},Object(E.a)(t,s.label1,!0),Object(E.a)(t,s.label1Pending,l===Tu),Object(E.a)(t,s.label1Rejected,l===Ru),Object(E.a)(t,s.label1Accepted,l===Wu),t),d=l===Tu?{label:"Pending",type:"neutral"}:l===Ru?{label:"Rejected",type:"error"}:{label:"Accepted",type:"success"};return r.a.createElement(bn.a,{className:w()(s.propertyCard,n),elevation:0},r.a.createElement(Qe,{className:s.propertyCardTopRow},a),r.a.createElement("div",{className:s.propertyCardBottomRow},r.a.createElement("div",{className:w()(u)},r.a.createElement(pu,{statuses:[d]})),c,r.a.createElement("div",{className:s.buttonsWrapper},i&&l!==Wu&&r.a.createElement(Lt,{className:s.cardActionButton,color:"secondary",Icon:ku,InverseIcon:Eu,onClick:function(){return i()}},"Authorize"),o&&l!==Ru&&r.a.createElement(Lt,{className:s.cardActionButton,color:"secondary",Icon:Pu,InverseIcon:Mn,onClick:function(){return o()}},"Reject"))))}));function zu(){return(zu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var qu=a.createElement("desc",null,"Created with Sketch."),$u=a.createElement("g",{id:"icon/button/block/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",stroke:"#FFFFFF"},a.createElement("circle",{id:"Oval",cx:6,cy:6,r:5}),a.createElement("line",{x1:9,y1:3,x2:3,y2:9,id:"Stroke-3"})));function Hu(e,t){var n=e.title,r=e.titleId,l=Mu(e,["title","titleId"]);return a.createElement("svg",zu({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,qu,$u)}var Vu=a.forwardRef(Hu);n.p;function Yu(){return(Yu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zu=a.createElement("desc",null,"Created with Sketch."),_u=a.createElement("g",{id:"icon/button/block/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",stroke:"#1B2559"},a.createElement("circle",{id:"Oval",cx:6,cy:6,r:5}),a.createElement("line",{x1:9,y1:3,x2:3,y2:9,id:"Stroke-3"})));function Uu(e,t){var n=e.title,r=e.titleId,l=Gu(e,["title","titleId"]);return a.createElement("svg",Yu({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zu,_u)}var Ju=a.forwardRef(Uu),Ku=(n.p,{labelLink:{cursor:"pointer",color:q},breadcrumbs:{margin:[[20,0]]},actionLabel:{color:q,margin:[[4,0]]},customerDetails:{marginBottom:18}});function Qu(){return(Qu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var ed=a.createElement("desc",null,"Created with Sketch."),td=a.createElement("g",{id:"icon/sf-small/search/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z",id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:13.7035238,y1:13.7046667,x2:19.4844762,y2:19.485619,id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2,strokeLinecap:"round"}));function nd(e,t){var n=e.title,r=e.titleId,l=Xu(e,["title","titleId"]);return a.createElement("svg",Qu({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,ed,td)}var ad=a.forwardRef(nd);n.p;function rd(){return(rd=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var id=a.createElement("desc",null,"Created with Sketch."),od=a.createElement("g",{id:"icon/sf-small/search/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z",id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:13.7035238,y1:13.7046667,x2:19.4844762,y2:19.485619,id:"Stroke-3",stroke:"#1B2559",strokeWidth:2,strokeLinecap:"round"}));function cd(e,t){var n=e.title,r=e.titleId,l=ld(e,["title","titleId"]);return a.createElement("svg",rd({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,id,od)}var sd=a.forwardRef(cd),ud=(n.p,Object(f.a)({row:{display:"flex",flexDirection:"row"},image:function(e){return{objectFit:"cover",borderRadius:"8px 0px 0px 8px",width:e.width,height:e.height}},popupImage:function(e){return{objectFit:"cover",width:e.popupWidth,height:e.popupHeight}},button:function(e){return{borderRadius:"0px 8px 8px 0px",height:e.height}},popoverContent:{display:"block",padding:[[10,15]]}})),dd=Object(a.memo)((function(e){var t=e.className,n=e.width,l=e.height,i=e.popupWidth,c=e.popupHeight,s=e.src,u=ud({width:n,height:l,popupWidth:i,popupHeight:c}),d=Object(a.useState)(null),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Boolean(f),b=function(e){var t=e.className;return r.a.createElement("img",{className:w()(t),src:s,alt:""})};return r.a.createElement(Kr.a,{onClickAway:function(){p(null)}},r.a.createElement("div",{className:w()(u.row,t)},r.a.createElement(b,{className:u.image}),r.a.createElement(pn,{Icon:sd,InverseIcon:ad,className:u.button,onClick:function(e){p(f?null:e.currentTarget)}}),r.a.createElement(vn,{open:h,anchorEl:f,placement:"top"},r.a.createElement("div",{className:u.popoverContent},r.a.createElement(b,{className:u.popupImage})))))}));function md(){return(md=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var pd=a.createElement("desc",null,"Created with Sketch."),hd=a.createElement("g",{id:"icon/crossed-camera",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"crossed-camera"},a.createElement("g",{id:"Group-2"},a.createElement("g",{id:"icon/ID/cam/zodiac",transform:"translate(0.000000, 3.657143)",fill:"#1B2559",fillRule:"nonzero"},a.createElement("path",{d:"M16,19.1876029 C12.4482116,19.1876029 9.56809571,16.389776 9.56809571,12.9394673 C9.56809571,9.48915858 12.4482116,6.69133172 16,6.69133172 C19.5517884,6.69133172 22.4319043,9.48915858 22.4319043,12.9394673 C22.4319043,16.389776 19.5517884,19.1876029 16,19.1876029 Z M16,17.104891 C18.3677075,17.104891 20.2879362,15.239526 20.2879362,12.9394673 C20.2879362,10.6394086 18.3677075,8.77404358 16,8.77404358 C13.6322925,8.77404358 11.7120638,10.6394086 11.7120638,12.9394673 C11.7120638,15.239526 13.6322925,17.104891 16,17.104891 Z M22.7667469,3.30692494 L30.7397807,3.30692494 C31.3318211,3.30692494 31.8117647,3.77315587 31.8117647,4.34828087 L31.8117647,22.0513317 C31.8117647,22.6264567 31.3318211,23.0926877 30.7397807,23.0926877 L1.26021934,23.0926877 C0.6681789,23.0926877 0.188235294,22.6264567 0.188235294,22.0513317 L0.188235294,4.34828087 C0.188235294,3.77315587 0.6681789,3.30692494 1.26021934,3.30692494 L9.23325311,3.30692494 L12.0766705,0.494526627 C12.2782333,0.295162767 12.5538198,0.182857143 12.8414756,0.182857143 L19.1585244,0.182857143 C19.4461802,0.182857143 19.7217667,0.295162767 19.9233295,0.494526627 L22.7667469,3.30692494 Z M29.6677966,5.3896368 L22.3170489,5.3896368 C22.0293931,5.3896368 21.7538065,5.27733118 21.5522438,5.07796732 L18.7088264,2.26556901 L13.2911736,2.26556901 L10.4477562,5.07796732 C10.2461935,5.27733118 9.97060695,5.3896368 9.68295115,5.3896368 L2.33220339,5.3896368 L2.33220339,21.0099758 L29.6677966,21.0099758 L29.6677966,5.3896368 Z",id:"Stroke-1"})),a.createElement("line",{x1:32,y1:0,x2:0,y2:32,id:"Line",stroke:"#FF584A",strokeWidth:2,strokeLinecap:"square"}))));function bd(e,t){var n=e.title,r=e.titleId,l=fd(e,["title","titleId"]);return a.createElement("svg",md({width:"32px",height:"32px",viewBox:"0 0 32 32",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,pd,hd)}var gd=a.forwardRef(bd),vd=(n.p,Object(f.a)({field:{height:46},label:{color:q,margin:[[0,3]]},value:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:0,paddingLeft:4}})),yd=Object(a.memo)((function(e){var t=e.label,n=e.display,a=e.size,l=e.className,i=vd();return r.a.createElement("div",{className:w()(i.field,l),style:{width:a}},r.a.createElement(ct,{className:i.label},t),r.a.createElement(rt,{className:i.value},n))})),Ed=Object(f.a)({complianceDetailsGrid:{display:"flex",flexDirection:"row"},firstColumn:{display:"flex",flexDirection:"column",width:"100%",marginRight:10},lastColumn:{display:"flex",flexDirection:"column",width:"100%",marginLeft:10},photoWrapper:function(e){return{display:"flex",justifyContent:"center",width:e.width}}}),Od=function(e){var t=e.show,n=e.src,a=Ed({width:165});return r.a.createElement(r.a.Fragment,null,t?r.a.createElement(dd,{src:n,width:165,height:45,popupWidth:360,popupHeight:240}):r.a.createElement("div",{className:a.photoWrapper},r.a.createElement(gd,null)))},wd=function(e){var t=e.customer,n=e.updateCustomer,a=Ed({width:165}),l=Jr.a(["sanctions"])(t),i=Jr.a(["sanctionsAt"])(t)?l?"Passed":"Failed":"Not checked yet";return r.a.createElement("div",null,r.a.createElement(Qe,null,"Compliance details"),r.a.createElement("div",null,r.a.createElement(Kd,{customerData:t,updateCustomer:n}),r.a.createElement(qe.a,{className:a.complianceDetailsGrid},r.a.createElement(qe.a,{className:a.firstColumn},r.a.createElement(Au,{title:"ID photo",state:Jr.a(["idCardPhotoOverride"])(t),authorize:function(){return n({idCardPhotoOverride:Wu})},reject:function(){return n({idCardPhotoOverride:Ru})}},r.a.createElement(Od,{show:t.idCardPhotoPath,src:"".concat(Ct,"/id-card-photo/").concat(Jr.a(["idCardPhotoPath"])(t))})),r.a.createElement(Au,{title:"Front facing camera",state:Jr.a(["frontCameraOverride"])(t),authorize:function(){return n({frontCameraOverride:Wu})},reject:function(){return n({frontCameraOverride:Ru})}},r.a.createElement(Od,{show:t.frontCameraPath,src:"".concat(Ct,"/front-camera-photo/").concat(Jr.a(["frontCameraPath"])(t))}))),r.a.createElement(qe.a,{className:a.lastColumn},r.a.createElement(Au,{title:"US SSN",state:Jr.a(["usSsnOverride"])(t),authorize:function(){return n({usSsnOverride:Wu})},reject:function(){return n({usSsnOverride:Ru})}},r.a.createElement(yd,{label:"US SSN",display:t.usSsn})),r.a.createElement(Au,{title:"Sanctions check",state:Jr.a(["sanctionsOverride"])(t),authorize:function(){return n({sanctionsOverride:Wu})},reject:function(){return n({sanctionsOverride:Ru})}},r.a.createElement(rt,null,i))))))};function xd(){return(xd=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Cd=a.createElement("desc",null,"Created with Sketch."),kd=a.createElement("g",{id:"icon/ID/card/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-2",stroke:"#1B2559",strokeWidth:1.6},a.createElement("g",{id:"id-copy"},a.createElement("polygon",{id:"Stroke-1",points:"0 16 22 16 22 0 0 0"}),a.createElement("line",{x1:11.7857143,y1:4,x2:18.8571429,y2:4,id:"Stroke-3"}),a.createElement("line",{x1:11.7857143,y1:7.2,x2:18.8571429,y2:7.2,id:"Stroke-4"}),a.createElement("polygon",{id:"Stroke-5",points:"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4"}))));function Sd(e,t){var n=e.title,r=e.titleId,l=jd(e,["title","titleId"]);return a.createElement("svg",xd({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Cd,kd)}var Nd=a.forwardRef(Sd);n.p;function Id(){return(Id=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Bd=a.createElement("g",{id:"icon/sf-small/law/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"bevel"},a.createElement("line",{x1:8.4141,y1:7.4648,x2:14.0711,y2:1.8078,id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:12.6568,y1:.3936,x2:15.4858,y2:3.2216,id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:7,y1:6.0498,x2:9.829,y2:8.8788,id:"Stroke-6",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:11.2427,y1:4.6357,x2:19.2427,y2:12.6357,id:"Stroke-7",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:3,y1:16.5,x2:10,y2:16.5,id:"Stroke-9",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:0,y1:19.5,x2:13,y2:19.5,id:"Stroke-10",stroke:"#FFFFFF",strokeWidth:2}));function Pd(e,t){var n=e.title,r=e.titleId,l=Ld(e,["title","titleId"]);return a.createElement("svg",Id({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),void 0===n?a.createElement("title",{id:r},"icon/sf-small/law/white"):n?a.createElement("title",{id:r},n):null,Bd)}var Fd=a.forwardRef(Pd);n.p;function Dd(){return(Dd=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Wd=a.createElement("g",{id:"icon/sf-small/law/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"bevel"},a.createElement("line",{x1:8.4141,y1:7.4648,x2:14.0711,y2:1.8078,id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:12.6568,y1:.3936,x2:15.4858,y2:3.2216,id:"Stroke-3",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:7,y1:6.0498,x2:9.829,y2:8.8788,id:"Stroke-6",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:11.2427,y1:4.6357,x2:19.2427,y2:12.6357,id:"Stroke-7",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:3,y1:16.5,x2:10,y2:16.5,id:"Stroke-9",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:0,y1:19.5,x2:13,y2:19.5,id:"Stroke-10",stroke:"#1B2559",strokeWidth:2}));function Rd(e,t){var n=e.title,r=e.titleId,l=Td(e,["title","titleId"]);return a.createElement("svg",Dd({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),void 0===n?a.createElement("title",{id:r},"icon/sf-small/law/zodiac"):n?a.createElement("title",{id:r},n):null,Wd)}var Ad=a.forwardRef(Rd),zd=(n.p,{titleWrapper:Ki.titleWrapper,titleAndButtonsContainer:Ki.titleAndButtonsContainer,row:{display:"flex",flexFlow:"row nowrap"},rowSpaceBetween:{display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyContent:"space-between"},column:{display:"flex",flexFlow:"column nowrap",width:"100%",height:"100%",justifyContent:"space-between"},textInput:{width:144},p:{fontFamily:"MuseoSans",fontSize:ge,fontWeight:500,fontStretch:"normal",fontStyle:"normal",lineHeight:1.14,letterSpacing:"normal",color:J},txId:{fontFamily:"MuseoSans",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},txClassIconLeft:{marginRight:11},txClassIconRight:{marginLeft:11},headerLabels:{display:"flex",flexDirection:"row","& div":{display:"flex",alignItems:"center"},"& > div:first-child":{marginRight:24},"& span":{extend:Be.label1,marginLeft:6}},photo:{width:92,height:92,borderRadius:8,backgroundColor:Y,margin:[[0,28,0,0]],alignItems:"center",justifyContent:"center",display:"flex"},img:{width:80},customerName:{marginBottom:32},icon:{marginRight:11},name:{display:"flex",flexDirection:"row",alignItems:"center"},value:{height:16},label:{marginBottom:4,color:q},idIcon:{marginRight:10},subpageButton:{marginLeft:16}}),Md=n(342),qd=function(e){return"blocked"===e.authorizedOverride?{label:"Blocked",type:"error"}:e.daysSuspended>0?{label:"".concat(e.daysSuspended," day suspension"),type:"warning"}:{label:"Authorized",type:"success"}},$d=function(e,t){var n=e&&t?Object(Md.a)(e,t):null;return n?n.formatInternational():e},Hd=function(e){var t,n,a=Jr.a(["idCardData"])(e);return"".concat(null!==(t=Jr.a(["firstName"])(a))&&void 0!==t?t:""," ").concat(null!==(n=Jr.a(["lastName"])(a))&&void 0!==n?n:"").trim()},Vd=Object(f.a)(zd),Yd=Object(a.memo)((function(e){var t=e.frontCameraPath,n=Vd();return r.a.createElement(bn.a,{className:n.photo,elevation:0},t?r.a.createElement("img",{className:n.img,src:"".concat(Ct,"/front-camera-photo/").concat(t),alt:""}):r.a.createElement(gd,null))})),Gd=Object(f.a)(zd),Zd=Object(a.memo)((function(e){var t,n,a=e.customer,l=e.locale,i=e.setShowCompliance,o=Gd(),c=[{header:"Phone number",size:172,value:$d(a.phone,l.country)},{header:"ID number",size:172,value:null!==(t=Jr.a(["idCardData","documentNumber"])(a))&&void 0!==t?t:""},{header:"US SSN",size:127,value:null!==(n=Jr.a(["usSsn"])(a))&&void 0!==n?n:""}],s=Hd(a);return r.a.createElement(qe.a,{display:"flex"},r.a.createElement(Yd,{frontCameraPath:Jr.a(["frontCameraPath"])(a)}),r.a.createElement(qe.a,{display:"flex",flexDirection:"column"},r.a.createElement("div",{className:o.name},r.a.createElement(Nd,{className:o.idIcon}),r.a.createElement(Ke,{noMargin:!0},s.length?s:$d(Jr.a(["phone"])(a),l.country)),r.a.createElement(Vn,{className:o.subpageButton,Icon:Ad,InverseIcon:Fd,toggle:i},"Compliance details")),r.a.createElement(qe.a,{display:"flex",mt:"auto"},c.map((function(e,t){var n=e.size,a=e.header;return r.a.createElement(ct,{noMargin:!0,key:t,className:o.label,style:{width:n}},a)}))),r.a.createElement(qe.a,{display:"flex"},c.map((function(e,t){var n=e.size,a=e.value;return r.a.createElement(tt,{noMargin:!0,key:t,className:o.value,style:{width:n}},a)})))))})),_d=n(28),Ud=n.n(_d),Jd=function(e,t){return ma.a(e)?"":t},Kd=Object(a.memo)((function(e){var t=e.customerData,n=e.updateCustomer,a=Jr.a(["idCardData"])(t),l=Jr.a(["expirationDate"])(a),i=Jr.a(["country"])(a),o=Jr.a(["dateOfBirth"])(a),c=[{header:"Name",display:"".concat(Hd(t)),size:190},{header:"ID number",display:Jr.a(["documentNumber"])(a),size:160},{header:"Birth Date",display:Jd(o,Ud.a.utc(o).format("YYYY-MM-DD")),size:110},{header:"Age",display:Jd(o,Ud.a.utc().diff(Ud.a.utc(o).format("YYYY-MM-DD"),"years")),size:50},{header:"Gender",display:Jr.a(["gender"])(a),size:80},{header:"Canada"===i?"Province":"State",display:Jr.a(["state"])(a),size:120},{header:"Expiration Date",display:Jd(l,Ud.a.utc(l).format("YYYY-MM-DD"))}];return r.a.createElement(Au,{title:"ID data",state:Jr.a(["idCardDataOverride"])(t),authorize:function(){return n({idCardDataOverride:Wu})},reject:function(){return n({idCardDataOverride:Ru})}},r.a.createElement(qe.a,{display:"flex",alignItems:"center"},c.map((function(e,t){var n=e.header,a=e.display,l=e.size;return r.a.createElement(yd,{key:t,label:n,display:a,size:l})}))))})),Qd=n(85),Xd=n.n(Qd),em=[{cryptoCode:"BTC",display:"Bitcoin",code:"bitcoin",unitScale:8},{cryptoCode:"ETH",display:"Ethereum",code:"ethereum",unitScale:18},{cryptoCode:"LTC",display:"Litecoin",code:"litecoin",unitScale:8},{cryptoCode:"DASH",display:"Dash",code:"dash",unitScale:8},{cryptoCode:"ZEC",display:"Zcash",code:"zcash",unitScale:8},{cryptoCode:"BCH",display:"Bitcoin Cash",code:"bitcoincash",unitScale:8}];function tm(e,t){var n=function(e){var t=ca.a(sa.a("cryptoCode",e))(em);if(!t)throw new Error("Unsupported crypto: ".concat(e));return t}(t).unitScale;return e.shiftedBy(-n)}function nm(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"BCH"===e?t.replace("bitcoincash:",""):t}var am=Object(f.a)(zd),rm=function(e){var t=e.customer,n=e.data,a=e.loading,l=am(),i="cashOut"===t.lastTxClass?Bc:Ws,o=!(pa.a(n)||ma.a(n)),c=[{header:"Transactions",size:127,value:Jd(t.totalTxs,"".concat(Number.parseInt(t.totalTxs)))},{header:"Transaction volume",size:167,value:Jd(t.totalSpent,"".concat(Number.parseFloat(t.totalSpent)," ").concat(t.lastTxFiatCode))},{header:"Last active",size:142,value:Jd(t.lastActive,Ud.a.utc(t.lastActive).format("YYYY-MM-D"))},{header:"Last transaction",size:198,value:Jd(t.lastTxFiat,r.a.createElement(r.a.Fragment,null,r.a.createElement(i,{className:l.icon}),"".concat(Number.parseFloat(t.lastTxFiat)," \n ").concat(t.lastTxFiatCode)))}],s=[{header:"Direction",width:207,view:function(e){return r.a.createElement(r.a.Fragment,null,"cashOut"===e.txClass?r.a.createElement(Bc,{className:l.txClassIconLeft}):r.a.createElement(Ws,{className:l.txClassIconLeft}),"cashOut"===e.txClass?"Cach-out":"Cash-in")}},{header:"Transaction ID",width:414,view:function(e){return r.a.createElement(ro,{className:l.txId},e.id)}},{header:"Cash",width:146,textAlign:"right",view:function(e){return r.a.createElement(r.a.Fragment,null,"".concat(Number.parseFloat(e.fiat)," "),r.a.createElement(st,{inline:!0},e.fiatCode))}},{header:"Crypto",width:142,textAlign:"right",view:function(e){return r.a.createElement(r.a.Fragment,null,"".concat(tm(new Xd.a(e.cryptoAtoms),e.cryptoCode).toFormat(5)," "),r.a.createElement(st,{inline:!0},e.cryptoCode))}},{header:"Date",width:157,view:function(e){return Ud.a.utc(e.created).format("YYYY-MM-D")}},{header:"Time (h:m:s)",width:134,view:function(e){return Ud.a.utc(e.created).format("hh:mm:ss")}}];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Qe,null,"Transactions"),r.a.createElement(qe.a,{display:"flex",flexDirection:"column"},r.a.createElement(qe.a,{display:"flex",mt:"auto"},c.map((function(e,t){var n=e.size,a=e.header;return r.a.createElement(ct,{noMargin:!0,key:t,className:l.label,style:{width:n}},a)}))),r.a.createElement(qe.a,{display:"flex"},c.map((function(e,t){var n=e.size,a=e.value;return r.a.createElement(tt,{noMargin:!0,key:t,className:l.value,style:{width:n}},a)})))),r.a.createElement("div",{className:l.titleWrapper},r.a.createElement("div",{className:l.titleAndButtonsContainer},r.a.createElement(Xe,null,a?"Loading":o?"All transactions from this customer":"No transactions so far"))),o&&r.a.createElement(Hi,{elements:s,data:n}))};function lm(){var e=Object(Bt.a)(["\n mutation setCustomer($customerId: ID!, $customerInput: CustomerInput) {\n setCustomer(customerId: $customerId, customerInput: $customerInput) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n }\n }\n"]);return lm=function(){return e},e}function im(){var e=Object(Bt.a)(["\n query customer($customerId: ID!) {\n config\n customer(customerId: $customerId) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n transactions {\n txClass\n id\n fiat\n fiatCode\n cryptoAtoms\n cryptoCode\n created\n errorMessage: error\n error: errorCode\n }\n }\n }\n"]);return im=function(){return e},e}var om=Object(f.a)(Ku),cm=zt()(im()),sm=zt()(lm()),um=Object(a.memo)((function(){var e,t,n,l=om(),i=Object(v.h)(),c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(v.j)().id,f=Object(Pt.c)(cm,{variables:{customerId:m}}),p=f.data,h=f.refetch,b=f.loading,g=Object(Pt.b)(sm,{onCompleted:function(){return h()}}),y=Object(o.a)(g,1)[0],E=function(e){return y({variables:{customerId:m,customerInput:e}})},O=null!==(e=Jr.a(["config"])(p))&&void 0!==e?e:[],w=O&&ni(_l,O),x=null!==(t=Jr.a(["customer"])(p))&&void 0!==t?t:[],j=null!==(n=Jr.a(["transactions"])(x))&&void 0!==n?n:[],C=cu.a(su.a(ua.a("cryptoAtoms")))(j),k=Hd(x),S=Jr.a(["authorizedOverride"])(x)===Ru;return r.a.createElement(r.a.Fragment,null,r.a.createElement(lu.a,{classes:{root:l.breadcrumbs},separator:r.a.createElement(ou.a,{fontSize:"small"}),"aria-label":"breadcrumb"},r.a.createElement(ct,{noMargin:!0,className:l.labelLink,onClick:function(){return i.push("/compliance/customers")}},"Customers"),r.a.createElement(st,{noMargin:!0,className:l.labelLink},k.length?k:$d(Jr.a(["phone"])(x),w.country))),r.a.createElement("div",null,r.a.createElement(qe.a,{className:l.customerDetails,display:"flex",justifyContent:"space-between"},r.a.createElement(Zd,{customer:x,locale:w,setShowCompliance:function(){return d(!u)}}),r.a.createElement("div",null,r.a.createElement(ct,{className:l.actionLabel},"Actions"),r.a.createElement(Lt,{color:"primary",Icon:S?ku:Ju,InverseIcon:S?Eu:Vu,onClick:function(){return E({authorizedOverride:S?Wu:Ru})}},"".concat(S?"Authorize":"Block"," customer"))))),!u&&r.a.createElement(rm,{customer:x,data:C,loading:b}),u&&r.a.createElement(wd,{customer:x,updateCustomer:E}))})),dm=Object(f.a)(zd),mm=function(e){var t=e.data,n=e.locale,a=e.onClick,l=e.loading,i=dm(),o=[{header:"Phone",width:172,view:function(e){return $d(e.phone,n.country)}},{header:"Name",width:241,view:Hd},{header:"Total TXs",width:126,textAlign:"right",view:function(e){return"".concat(Number.parseInt(e.totalTxs))}},{header:"Total spent",width:152,textAlign:"right",view:function(e){var t;return"".concat(Number.parseFloat(e.totalSpent)," ").concat(null!==(t=e.lastTxFiatCode)&&void 0!==t?t:"")}},{header:"Last active",width:133,view:function(e){return Jd(e.lastActive,Ud.a.utc(e.lastActive).format("YYYY-MM-D"))}},{header:"Last transaction",width:161,textAlign:"right",view:function(e){var t,n=!ma.a(e.lastTxFiatCode),a="cashOut"===e.lastTxClass?Bc:Ws,l=r.a.createElement(a,{className:i.txClassIconRight});return r.a.createElement(r.a.Fragment,null,n&&"".concat(parseFloat(e.lastTxFiat)," ").concat(null!==(t=e.lastTxFiatCode)&&void 0!==t?t:""),n&&l)}},{header:"Status",width:188,view:function(e){return r.a.createElement(pu,{statuses:[qd(e)]})}}];return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Customers",labels:[{label:"Cash-in",icon:r.a.createElement(Ws,null)},{label:"Cash-out",icon:r.a.createElement(Bc,null)}]}),r.a.createElement(Hi,{loading:l,emptyText:"No customers so far",elements:o,data:t,onClick:a}))};function fm(){var e=Object(Bt.a)(["\n {\n config\n customers {\n id\n idCardData\n phone\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n authorizedOverride\n daysSuspended\n }\n }\n"]);return fm=function(){return e},e}var pm=zt()(fm()),hm=function(){var e,t,n=Object(v.h)(),a=Object(Pt.c)(pm),l=a.data,i=a.loading,o=null!==(e=Jr.a(["config"])(l))&&void 0!==e?e:[],c=o&&ni(_l,o),s=To.a([su.a(ua.a("lastActive"))])(null!==(t=Jr.a(["customers"])(l))&&void 0!==t?t:[]);return r.a.createElement(mm,{data:s,locale:c,onClick:function(e){return n.push("/compliance/customer/".concat(e.id))},loading:i})},bm=n(455),gm=Object(bm.a)({wrapper:{display:"flex",alignItems:"center"},colorIndicator:{borderRadius:3,height:12,width:12,marginRight:8}}),vm=function(e){var t=e.className,n=e.label,a=e.color,l=Object($e.a)(e,["className","label","color"]),i=gm();return r.a.createElement("div",Object.assign({className:w()(i.wrapper,t)},l),a&&r.a.createElement("div",{className:i.colorIndicator,style:{backgroundColor:a}}),r.a.createElement(ct,l,n))},ym=Be.label1,Em={wrapper:{display:"flex",flex:1,flexDirection:"row",height:"100%"},main:{display:"flex",flex:1},firstSide:{margin:"0 ".concat(64,"px 0 ").concat(48,"px")},secondSide:{marginTop:-29},error:{color:se},coinTotal:{margin:"".concat(12,"px 0")},leftSpacer:{marginLeft:8},topSpacer:{marginTop:40},addressWrapper:{display:"flex",flexDirection:"column",flex:1,backgroundColor:te},address:{width:375,margin:"".concat(12,"px ").concat(24,"px")},itemWrapper:{textAlign:"end"},item:{extend:ym,margin:2},inactiveItem:{color:q},firstItem:{fontWeight:700,margin:2},total:{marginTop:"auto",textAlign:"right",marginRight:24},totalPending:{marginTop:2},totalTitle:{color:ce,marginBottom:2},table:{marginTop:8,marginLeft:48},tableLabel:{justifyContent:"end",marginTop:-38},pending:{backgroundColor:re},copyToClipboard:{marginLeft:"auto",paddingTop:6,paddingLeft:15,marginRight:-11}};function Om(){var e=Object(Bt.a)(["\n {\n funding {\n cryptoCode\n errorMsg\n fundingAddress\n fundingAddressUrl\n confirmedBalance\n pending\n fiatConfirmedBalance\n fiatPending\n fiatCode\n display\n unitScale\n }\n }\n"]);return Om=function(){return e},e}var wm,xm=Object(f.a)(Em),jm=165,Cm=140,km=130,Sm=zt()(Om()),Nm=function(e,t){return e.plus(t)},Im=function(e){return new Xd.a(e).toFormat(2)},Lm=function(){var e,t,n=Object(a.useState)(null),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)(!1),u=Object(o.a)(s,1)[0],d=xm(),m=[{cryptoAmount:2,balance:10.23,fiatValue:1e3,date:new Date,performedBy:null,pending:!0},{cryptoAmount:10,balance:12.23,fiatValue:12e3,date:new Date,performedBy:null},{cryptoAmount:5,balance:5,fiatValue:5e4,date:new Date,performedBy:null}],f=Object(Pt.c)(Sm).data;(null===f||void 0===f||null===(e=f.funding)||void 0===e?void 0:e.length)&&!i&&c(null===f||void 0===f?void 0:f.funding[0]);var p,h=(p=(null===f||void 0===f?void 0:f.funding)||[],Im(p.filter((function(e){return!e.errorMsg})).map((function(e){return new Xd.a(e.fiatPending)})).reduce(Nm,new Xd.a(0)))),b=function(e){return e>=0?"+":""};return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",null,r.a.createElement(bt,null,"Funding")),r.a.createElement("div",{className:d.wrapper},r.a.createElement(ze,{data:null===f||void 0===f?void 0:f.funding,isSelected:function(e){return i&&i.cryptoCode===e.cryptoCode},onClick:c,displayName:function(e){return e.display},itemRender:function(e,t){var n,a,l=(n={},Object(E.a)(n,d.item,!0),Object(E.a)(n,d.inactiveItem,!t),n),i=(a={},Object(E.a)(a,d.itemWrapper,!0),Object(E.a)(a,d.error,e.errorMsg),a);return r.a.createElement("div",{className:w()(i)},r.a.createElement("div",{className:d.firstItem},e.display),!e.errorMsg&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:w()(l)},e.fiatConfirmedBalance," ",e.fiatCode),r.a.createElement("div",{className:w()(l)},e.confirmedBalance," ",e.cryptoCode)))}},(null===f||void 0===f?void 0:f.funding)&&(null===f||void 0===f||null===(t=f.funding)||void 0===t?void 0:t.length)&&r.a.createElement("div",{className:d.total},r.a.createElement(ct,{className:d.totalTitle},"Total Crypto Balance"),r.a.createElement(nt,{noMargin:!0},function(e){return Im(e.filter((function(e){return!e.errorMsg})).map((function(e){return new Xd.a(e.fiatConfirmedBalance)})).reduce(Nm,new Xd.a(0)))}(f.funding),f.funding[0].fiatCode),r.a.createElement(ct,{className:d.totalPending},"(",b(h)," ",h," pending)"))),i&&!u&&i.errorMsg&&r.a.createElement("div",{className:d.main},r.a.createElement("div",{className:d.firstSide},r.a.createElement(rt,{className:d.error},i.errorMsg))),i&&!u&&!i.errorMsg&&r.a.createElement("div",{className:d.main},r.a.createElement("div",{className:d.firstSide},r.a.createElement(Qe,null,"Balance (",i.display,")"),r.a.createElement("div",{className:d.coinTotal},r.a.createElement(nt,{inline:!0,noMargin:!0},"".concat(i.confirmedBalance," ").concat(i.cryptoCode)),r.a.createElement(at,{inline:!0,noMargin:!0,className:d.leftSpacer},"(".concat(b(i.pending)," ").concat(i.pending," pending)"))),r.a.createElement("div",{className:d.coinTotal},r.a.createElement(rt,{inline:!0,noMargin:!0},"= ".concat(Im(i.fiatConfirmedBalance)," ").concat(i.fiatCode)),r.a.createElement(ut,{inline:!0,noMargin:!0,className:d.leftSpacer},"(".concat(b(i.fiatPending)," ").concat(Im(i.fiatPending)," pending)"))),r.a.createElement(Qe,{className:d.topSpacer},"Address"),r.a.createElement("div",{className:d.addressWrapper},r.a.createElement(lt,{className:d.address},r.a.createElement("strong",null,r.a.createElement(ro,{buttonClassname:d.copyToClipboard},function(){return nm(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").replace(/(.{4})/g,"$1 ")}(i.cryptoCode,i.fundingAddress)))))),r.a.createElement("div",{className:d.secondSide},r.a.createElement(ct,null,"Scan to send ",i.display),r.a.createElement(qt.a,{size:240,fgColor:J,value:i.fundingAddressUrl}))),i&&u&&r.a.createElement("div",null,r.a.createElement(vm,{className:d.tableLabel,label:"Pending",color:"#cacaca"}),r.a.createElement(Ei,{className:d.table},r.a.createElement(Oi,null,r.a.createElement(ji,{header:!0,width:jm},"Amount Entered"),r.a.createElement(ji,{header:!0,width:jm},"Balance After"),r.a.createElement(ji,{header:!0,width:jm},"Cash Value"),r.a.createElement(ji,{header:!0,width:km},"Date"),r.a.createElement(ji,{header:!0,width:Cm},"Time (h:m:s)"),r.a.createElement(ji,{header:!0,width:jm},"Performed By")),r.a.createElement(xi,null,m.map((function(e,t){return r.a.createElement(Si,{key:t,className:w()(Object(E.a)({},d.pending,e.pending))},r.a.createElement(ji,{width:jm},e.cryptoAmount," ",i.cryptoCode),r.a.createElement(ji,{width:jm},e.balance," ",i.cryptoCode),r.a.createElement(ji,{width:jm},e.fiatValue," ",i.fiatCode),r.a.createElement(ji,{width:km},Ud()(e.date).format("YYYY-MM-DD")),r.a.createElement(ji,{width:Cm},Ud()(e.date).format("hh:mm:ss")),r.a.createElement(ji,{width:jm},"add"))})))))))},Bm=function(e){return e&&e.length},Pm={code:"bitgo",name:"BitGo",title:"BitGo (Wallet)",elements:[{code:"token",display:"API Token",component:Ra,face:!0,long:!0},{code:"environment",display:"Environment",component:Fa,inputProps:{options:["prod","test"]},face:!0},{code:"BTCWalletId",display:"BTC Wallet ID",component:Ra},{code:"BTCWalletPassphrase",display:"BTC Wallet Passphrase",component:Wa},{code:"LTCWalletId",display:"LTC Wallet ID",component:Ra},{code:"LTCWalletPassphrase",display:"LTC Wallet Passphrase",component:Wa},{code:"ZECWalletId",display:"ZEC Wallet ID",component:Ra},{code:"ZECWalletPassphrase",display:"ZEC Wallet Passphrase",component:Wa},{code:"BCHWalletId",display:"BCH Wallet ID",component:Ra},{code:"BCHWalletPassphrase",display:"BCH Wallet Passphrase",component:Wa},{code:"DASHWalletId",display:"DASH Wallet ID",component:Ra},{code:"DASHWalletPassphrase",display:"DASH Wallet Passphrase",component:Wa}],validationSchema:Yt.d().shape({token:Yt.e().max(100,"Too long").required(),BTCWalletId:Yt.e().max(100,"Too long"),BTCWalletPassphrase:Yt.e().max(100,"Too long").when("BTCWalletId",{is:Bm,then:Yt.e().required()}),LTCWalletId:Yt.e().max(100,"Too long"),LTCWalletPassphrase:Yt.e().max(100,"Too long").when("LTCWalletId",{is:Bm,then:Yt.e().required()}),ZECWalletId:Yt.e().max(100,"Too long"),ZECWalletPassphrase:Yt.e().max(100,"Too long").when("ZECWalletId",{is:Bm,then:Yt.e().required()}),BCHWalletId:Yt.e().max(100,"Too long"),BCHWalletPassphrase:Yt.e().max(100,"Too long").when("BCHWalletId",{is:Bm,then:Yt.e().required()}),DASHWalletId:Yt.e().max(100,"Too long"),DASHWalletPassphrase:Yt.e().max(100,"Too long").when("DASHWalletId",{is:Bm,then:Yt.e().required()}),environment:Yt.e().matches(/(prod|test)/).required()})},Fm={code:"bitstamp",name:"Bitstamp",title:"Bitstamp (Exchange)",elements:[{code:"clientId",display:"Client ID",component:Ra,face:!0,long:!0},{code:"key",display:"API Key",component:Ra,face:!0,long:!0},{code:"secret",display:"API Secret",component:Wa}],validationSchema:Yt.d().shape({clientId:Yt.e().max(100,"Too long").required(),key:Yt.e().max(100,"Too long").required(),secret:Yt.e().max(100,"Too long").required()})},Dm={code:"blockcypher",name:"Blockcypher",title:"Blockcypher (Payments)",elements:[{code:"token",display:"API Token",component:Ra,face:!0,long:!0},{code:"confidenceFactor",display:"Confidence Factor",component:Ra,face:!0}],validationSchema:Yt.d().shape({token:Yt.e().max(100,"Too long").required(),confidenceFactor:Yt.c().integer("Please input a positive integer").positive("Please input a positive integer").required()})},Tm={code:"infura",name:"Infura",title:"Infura (Wallet)",elements:[{code:"apiKey",display:"Project ID",component:Ra,face:!0,long:!0},{code:"apiSecret",display:"Project Secret",component:Wa},{code:"endpoint",display:"Endpoint",component:Ra,face:!0}],validationSchema:Yt.d().shape({apiKey:Yt.e().max(100,"Too long").required(),apiSecret:Yt.e().max(100,"Too long").required(),endpoint:Yt.e().max(100,"Too long").required()})},Wm={code:"itbit",name:"itBit",title:"itBit (Exchange)",elements:[{code:"userId",display:"User ID",component:Ra,face:!0,long:!0},{code:"walletId",display:"Wallet ID",component:Ra,face:!0,long:!0},{code:"clientKey",display:"Client Key",component:Ra},{code:"clientSecret",display:"Client Secret",component:Wa}],validationSchema:Yt.d().shape({userId:Yt.e().max(100,"Too long").required(),walletId:Yt.e().max(100,"Too long").required(),clientKey:Yt.e().max(100,"Too long").required(),clientSecret:Yt.e().max(100,"Too long").required()})},Rm={code:"kraken",name:"Kraken",title:"Kraken (Exchange)",elements:[{code:"apiKey",display:"API Key",component:Ra,face:!0,long:!0},{code:"privateKey",display:"Private Key",component:Wa}],validationSchema:Yt.d().shape({apiKey:Yt.e().max(100,"Too long").required(),privateKey:Yt.e().max(100,"Too long").required()})},Am={code:"mailgun",name:"Mailgun",title:"Mailgun (Email)",elements:[{code:"apiKey",display:"API Key",component:Ra},{code:"domain",display:"Domain",component:Ra},{code:"fromEmail",display:"From Email",component:Ra,face:!0},{code:"toEmail",display:"To Email",component:Ra,face:!0}],validationSchema:Yt.d().shape({apiKey:Yt.e().max(100,"Too long").required(),domain:Yt.e().max(100,"Too long").required(),fromEmail:Yt.e().max(100,"Too long").email("Please input a valid email address").required(),toEmail:Yt.e().max(100,"Too long").email("Please input a valid email address").required()})},zm={code:"twilio",name:"Twilio",title:"Twilio (SMS)",elements:[{code:"accountSid",display:"Account SID",component:Ra},{code:"authToken",display:"Auth Token",component:Wa},{code:"fromNumber",display:"Twilio Number (international format)",component:Ra,face:!0},{code:"toNumber",display:"Notifications Number (international format)",component:Ra,face:!0}],validationSchema:Yt.d().shape({accountSid:Yt.e().max(100,"Too long").required(),authToken:Yt.e().max(100,"Too long").required(),fromNumber:Yt.e().max(100,"Too long").required(),toNumber:Yt.e().max(100,"Too long").required()})},Mm=(wm={},Object(E.a)(wm,Pm.code,Pm),Object(E.a)(wm,Fm.code,Fm),Object(E.a)(wm,Dm.code,Dm),Object(E.a)(wm,Tm.code,Tm),Object(E.a)(wm,Wm.code,Wm),Object(E.a)(wm,Rm.code,Rm),Object(E.a)(wm,Am.code,Am),Object(E.a)(wm,zm.code,zm),wm);function qm(){return(qm=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Hm=a.createElement("circle",{cx:52,cy:32,r:32,fill:"#F7931A"}),Vm=a.createElement("path",{d:"m66.1 27.4c0.6-4.3-2.6-6.5-7-8.1l1.4-5.8-3.5-0.9-1.4 5.6c-0.9-0.2-1.9-0.4-2.8-0.7l1.4-5.7-3.5-0.9-1.4 5.8c-0.8-0.2-1.5-0.3-2.2-0.5l0 0-4.8-1.2-0.9 3.8s2.6 0.6 2.6 0.6c1.4 0.4 1.7 1.3 1.6 2l-1.6 6.6c0.1 0 0.2 0.1 0.4 0.1-0.1 0-0.2-0.1-0.4-0.1l-2.3 9.2c-0.2 0.4-0.6 1.1-1.6 0.8 0 0.1-2.6-0.6-2.6-0.6l-1.7 4 4.6 1.1c0.9 0.2 1.7 0.4 2.5 0.6l-1.5 5.8 3.5 0.9 1.4-5.8c1 0.3 1.9 0.5 2.8 0.7l-1.4 5.7 3.5 0.9 1.5-5.8c6 1.1 10.5 0.7 12.4-4.7 1.5-4.4-0.1-6.9-3.2-8.5 2.3-0.5 4-2 4.5-5.2zm-8 11.2c-1.1 4.4-8.4 2-10.8 1.4l1.9-7.7c2.4 0.6 10 1.8 8.9 6.3zm1.1-11.3c-1 4-7.1 2-9.1 1.5l1.7-7c2 0.5 8.4 1.4 7.3 5.6z",fill:"#FFF"});function Ym(e,t){var n=e.title,r=e.titleId,l=$m(e,["title","titleId"]);return a.createElement("svg",qm({width:104,height:64,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Hm,Vm)}var Gm=a.forwardRef(Ym);n.p;function Zm(){return(Zm=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Um=a.createElement("path",{fill:"#F7931A",d:"m0,0l29.7,0a39,39,0,0,0,0,64l-29.7,0zm52,0a32,32,0,0,0,0,64a32,32,0,0,0,0,-64m52,0l-29.7,0a39,39,0,0,1,0,64l29.7,0z"}),Jm=a.createElement("path",{fill:"#FFF",transform:"rotate(-28 52 32)",d:"m66.103,27.444c0.637-4.258-2.605-6.547-7.038-8.074l1.438-5.768-3.511-0.875-1.4,5.616c-0.923-0.23-1.871-0.447-2.813-0.662l1.41-5.653-3.509-0.875-1.439,5.766c-0.764-0.174-1.514-0.346-2.242-0.527l0.004-0.018-4.842-1.209-0.934,3.75s2.605,0.597,2.55,0.634c1.422,0.355,1.679,1.296,1.636,2.042l-1.638,6.571c0.098,0.025,0.225,0.061,0.365,0.117-0.117-0.029-0.242-0.061-0.371-0.092l-2.296,9.205c-0.174,0.432-0.615,1.08-1.609,0.834,0.035,0.051-2.552-0.637-2.552-0.637l-1.743,4.019,4.569,1.139c0.85,0.213,1.683,0.436,2.503,0.646l-1.453,5.834,3.507,0.875,1.439-5.772c0.958,0.26,1.888,0.5,2.798,0.726l-1.434,5.745,3.511,0.875,1.453-5.823c5.987,1.133,10.489,0.676,12.384-4.739,1.527-4.36-0.076-6.875-3.226-8.515,2.294-0.529,4.022-2.038,4.483-5.155zm-8.022,11.249c-1.085,4.36-8.426,2.003-10.806,1.412l1.928-7.729c2.38,0.594,10.012,1.77,8.878,6.317zm1.086-11.312c-0.99,3.966-7.1,1.951-9.082,1.457l1.748-7.01c1.982,0.494,8.365,1.416,7.334,5.553z"});function Km(e,t){var n=e.title,r=e.titleId,l=_m(e,["title","titleId"]);return a.createElement("svg",Zm({width:104,height:64,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Um,Jm)}var Qm=a.forwardRef(Km);n.p;function Xm(){return(Xm=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var tf=a.createElement("circle",{cx:1e3,cy:1e3,r:1e3,fill:"#2573c2"}),nf=a.createElement("g",{fill:"#fff"},a.createElement("path",{d:"M1652.6 736.8a143.65 143.65 0 0 0-19.2-63.6c-10-20-27.8-35.6-48.6-43.6a143.51 143.51 0 0 0-68.4-15H628.8l-63.6 190.6h804.2l-127 389.6h-804l-63.6 190.6h891.8a246.33 246.33 0 0 0 77.8-15c25-14.2 53.6-28.6 77.8-48.6a382.69 382.69 0 0 0 63.6-63.6 432.2 432.2 0 0 0 39.2-73.4l117.8-370.4a137.38 137.38 0 0 0 9.8-77.6z"}),a.createElement("path",{d:"M882.2 911.6H409l-63.6 176.2h478z"}));function af(e,t){var n=e.title,r=e.titleId,l=ef(e,["title","titleId"]);return a.createElement("svg",Xm({viewBox:"0 0 2000 2000",width:2500,height:2500,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,tf,nf)}var rf=a.forwardRef(af);n.p;function lf(){return(lf=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var cf=a.createElement("g",null,a.createElement("polygon",{fill:"#343434",points:"127.9611 0 125.1661 9.5 125.1661 285.168 127.9611 287.958 255.9231 212.32"}),a.createElement("polygon",{fill:"#8C8C8C",points:"127.962 0 0 212.32 127.962 287.959 127.962 154.158"}),a.createElement("polygon",{fill:"#3C3C3B",points:"127.9611 312.1866 126.3861 314.1066 126.3861 412.3056 127.9611 416.9066 255.9991 236.5866"}),a.createElement("polygon",{fill:"#8C8C8C",points:"127.962 416.9052 127.962 312.1852 0 236.5852"}),a.createElement("polygon",{fill:"#141414",points:"127.9611 287.9577 255.9211 212.3207 127.9611 154.1587"}),a.createElement("polygon",{fill:"#393939",points:"0.0009 212.3208 127.9609 287.9578 127.9609 154.1588"}));function sf(e,t){var n=e.title,r=e.titleId,l=of(e,["title","titleId"]);return a.createElement("svg",lf({width:"256px",height:"417px",viewBox:"0 0 256 417",preserveAspectRatio:"xMidYMid",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,cf)}var uf=a.forwardRef(sf);n.p;function df(){return(df=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var ff=a.createElement("circle",{fill:"#989898",cx:52,cy:32,r:32}),pf=a.createElement("path",{fill:"#FFF",d:"m46.92598,12.31703l-4.97801,18.8088l-3.42705,1.32711l-1.64691,6.17189l3.42705,-1.29514l-2.8461,10.76083l30.60893,0l2.09993,-7.98401l-18.42505,0l2.09993,-7.82412l3.3631,-1.26316l1.6469,-6.17188l-3.36309,1.29513l3.6509,-13.83611l-12.21053,0z"});function hf(e,t){var n=e.title,r=e.titleId,l=mf(e,["title","titleId"]);return a.createElement("svg",df({width:104,height:64,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,ff,pf)}var bf=a.forwardRef(hf);n.p;function gf(){return(gf=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var yf=a.createElement("style",{type:"text/css"},"\n\t.st0{fill:#231F20;}\n\t.st1{fill:#F4B728;}\n"),Ef=a.createElement("path",{className:"st0",d:"M245.4,20C121.1,20,20,121.1,20,245.4s101.1,225.4,225.4,225.4s225.4-101.1,225.4-225.4S369.7,20,245.4,20z M245.4,433.6c-103.8,0-188.2-84.4-188.2-188.2S141.6,57.2,245.4,57.2s188.2,84.4,188.2,188.2S349.2,433.6,245.4,433.6z"}),Of=a.createElement("circle",{className:"st1",cx:245.4,cy:245.4,r:177.6}),wf=a.createElement("polygon",{className:"st0",points:"165,315.5 165,349.9 226.5,349.9 226.5,387.6 264.3,387.6 264.3,349.9 325.8,349.9 325.8,304.4 230.4,304.4 325.8,175 325.8,140.6 264.3,140.6 264.3,103 226.5,103 226.5,140.6 165,140.6 165,186.2 260.4,186.2 "});function xf(e,t){var n=e.title,r=e.titleId,l=vf(e,["title","titleId"]);return a.createElement("svg",gf({id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 493.3 490.2",style:{enableBackground:"new 0 0 493.3 490.2"},xmlSpace:"preserve",ref:t,"aria-labelledby":r},l),yf,void 0===n?a.createElement("title",{id:r},"headerArtboard 7"):n?a.createElement("title",{id:r},n):null,Ef,Of,wf)}var jf=a.forwardRef(xf),Cf=(n.p,Object(f.a)({logo:{maxHeight:80,maxWidth:200},title:{margin:[[24,0,32,0]]},text:{margin:0},button:{marginTop:"auto",marginBottom:58},modalContent:{display:"flex",flexDirection:"column",alignItems:"center",padding:[[0,42]],flex:1}})),kf=function(e){var t=e.code,n=e.name,a=e.onContinue,l=Cf(),i=function(e){switch(e){case"BTC":return Gm;case"BCH":return Qm;case"DASH":return rf;case"ETH":return uf;case"LTC":return bf;case"ZEC":return jf;default:return null}}(t);return r.a.createElement("div",{className:l.modalContent},r.a.createElement(i,{className:l.logo}),r.a.createElement(Je,{className:l.title},"Enable ",n),r.a.createElement(tt,{className:l.text},"You are about to enable ",n," on your system. This will allow you to use this cryptocurrency on your machines. To be able to do that, you\u2019ll have to set up all the necessary 3rd party services."),r.a.createElement(on,{className:l.button,onClick:a},"Start configuration"))},Sf=n(529),Nf=Object(f.a)({button:{margin:[["auto",0,32,"auto"]]},form:{flex:1,display:"flex",flexDirection:"column"},grid:{marginBottom:24,marginTop:12}}),If=function(e){var t=e.validationSchema,n=e.elements,a=e.value,l=e.save,i=e.buttonLabel,o=void 0===i?"Save changes":i,c=e.buttonClass,s=e.xs,u=void 0===s?12:s,m=Nf(),f=$t.a(Sf.a,da.a((function(e){var t,n=e.code;return Object(E.a)({},n,null!==(t=a&&a[n])&&void 0!==t?t:"")})))(n),p=gn.a(f,a);return r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:p,validationSchema:t,onSubmit:l},r.a.createElement(Rt.c,{className:m.form},r.a.createElement(d.a,{container:!0,spacing:3,className:m.grid},n.map((function(e){var t=e.component,n=e.code,a=e.display,l=e.inputProps;return r.a.createElement(d.a,{item:!0,xs:u,key:n},r.a.createElement(Rt.a,Object.assign({component:t},l,{name:n,label:a,fullWidth:!0})))}))),r.a.createElement(on,{className:w()(m.button,c),type:"submit"},o)))},Lf={title:{margin:[[0,0,12,0]]},subtitle:{margin:[[32,0,21,0]]},error:{color:se},button:{marginLeft:"auto"},submit:{display:"flex",flexDirection:"row",margin:[["auto",0,24]]},radioGroup:{flexDirection:"row"},radioLabel:{width:150,height:48},radio:{padding:4,margin:4},setupNew:{display:"flex",alignItems:"center",height:48},picker:{width:150}},Bf=Object(f.a)(Lf),Pf={form:null,selected:null,isNew:!1,iError:!1},Ff=function(e,t){switch(t.type){case"select":return{form:null,selected:t.selected,isNew:null,iError:!1};case"new":return{form:e.form,selected:null,isNew:!0,iError:!1};case"form":return{form:t.form,selected:t.form.code,isNew:!0,iError:!1};case"error":return gn.a(e,{innerError:!0});case"reset":return Pf;default:throw new Error}},Df=function(e){var t,n=e.type,l=e.name,i=e.step,c=e.error,s=e.lastStep,u=e.onContinue,d=e.filled,m=e.unfilled,f=e.getValue,p=Bf(),h=Object(a.useReducer)(Ff,Pf),b=Object(o.a)(h,2),g=b[0],v=g.innerError,y=g.selected,O=g.form,x=g.isNew,j=b[1];Object(a.useEffect)((function(){j({type:"reset"})}),[i]);var C=function(e,t){if(!e||!e[n])return j({type:"error"});u(e,t)},k=s?"Finish":"Next",S=null!==l&&void 0!==l?l:n,N=(t={},Object(E.a)(t,p.subtitle,!0),Object(E.a)(t,p.error,v),t);return r.a.createElement(r.a.Fragment,null,r.a.createElement(at,{className:p.title},wl(n)),r.a.createElement(ns,{steps:4,currentStep:i}),r.a.createElement(Xe,{className:w()(N)},"Select a ",S," or set up a new one"),r.a.createElement(Na,{options:d,value:y,className:p.radioGroup,onChange:function(e,t){j({type:"select",selected:t})},labelClassName:p.radioLabel,radioClassName:p.radio}),r.a.createElement("div",{className:p.setupNew},!pa.a(m)&&!ma.a(m)&&r.a.createElement(Na,{value:x,onChange:function(e,t){j({type:"new"})},labelClassName:p.radioLabel,radioClassName:p.radio,options:[{display:"Set up new",code:!0}]}),x&&r.a.createElement(Oa,{fullWidth:!0,label:"Select ".concat(S),className:p.picker,getOptionSelected:ba.a("code"),getLabel:Jr.a(["display"]),options:m,onChange:function(e,t){j({type:"form",form:t})}})),O&&r.a.createElement(If,{save:function(e){return C(Object(E.a)({},n,O.code),Object(E.a)({},O.code,e))},elements:Mm[O.code].elements,validationSchema:Mm[O.code].validationSchema,value:f(O.code),buttonLabel:k}),!O&&r.a.createElement("div",{className:p.submit},c&&r.a.createElement(pt,null,"Failed to save"),r.a.createElement(on,{className:p.button,onClick:function(){return C(Object(E.a)({},n,y))}},k)))},Tf=function(e,t){return Wr.a((function(n){return function(e){return sa.a("class",e)}(t)(n)&&function(e){return $t.a(qr.a(e),ua.a("cryptos"))}(e)(n)}))},Wf=function(e,t,n,a){var r=Tf(a,n)(e),l=zo.a((function(e){var n=e.code,a=function(e){return t&&t[e]}(n);return!Mm[n]||Mm[n].validationSchema.isValidSync(a)}))(r),i=Object(o.a)(l,2);return{filled:i[0],unfilled:i[1]}},Rf=function(e){var t=e.coin,n=e.onClose,l=e.accountsConfig,i=e.accounts,s=e.save,u=e.error,d=Object(a.useState)({step:0,config:{active:!0},accountsToSave:{}}),m=Object(o.a)(d,2),f=m[0],p=f.step,h=f.config,b=f.accountsToSave,g=m[1],v="Enable ".concat(t.display),y=4===p,E={filled:Tf(t.code,"ticker")(l)},O=Wf(l,i,"wallet",t.code),w=Wf(l,i,"exchange",t.code),x=Wf(l,i,"zeroConf",t.code),j=function(){var e=Object(_r.a)(Zr.a.mark((function e(n,a){var r,l;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=gn.a(h,n),l=a?gn.a(b,a):b,!y){e.next=4;break}return e.abrupt("return",s(ai(t.code,r),l));case 4:g({step:p+1,config:r,accountsToSave:l});case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return r.a.createElement(ci,{title:0===p?null:v,handleClose:n,width:554,open:!0},0===p&&r.a.createElement(kf,{code:t.code,name:t.display,onContinue:function(){return j()}}),0!==p&&r.a.createElement(Df,Object.assign({step:p,error:u,lastStep:y},function(){switch(p){case 1:return Object(c.a)({type:"ticker"},E);case 2:return Object(c.a)({type:"wallet"},O);case 3:return Object(c.a)({type:"exchange"},w);case 4:return Object(c.a)({type:"zeroConf",name:"zero conf"},x);default:return null}}(),{onContinue:j,getValue:function(e){return ca.a(sa.a("code",e))(i)}})))},Af=function(e){return Wr.a((function(t){return t.class===e}))},zf=function(e){var t=e.id;return Wr.a((function(e){return qr.a(t)(e.cryptos)}))},Mf=Yt.d().shape({ticker:Yt.e().required(),wallet:Yt.e().required(),exchange:Yt.e().required(),zeroConf:Yt.e().required()}),qf=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=a?11:0,l=function(t){return $t.a(ua.a(["display"]),ca.a(sa.a("code",t)))(e)},i=function(e){return Af(e)(t||[])},o=function(e){return function(t){return $t.a(ua.a("display"),ca.a(sa.a("code",t)))(i(e))}},c=Ml.a((function(e,t){return zf(t)(i(e))}));return[{name:"id",header:"Cryptocurrency",width:180-r,view:l,size:"sm",editable:!1},{name:"ticker",size:"sm",stripe:!0,view:o("ticker"),width:190-r,input:Fa,inputProps:{options:c("ticker"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null}},{name:"wallet",size:"sm",stripe:!0,view:o("wallet"),width:190-r,input:Fa,inputProps:{options:c("wallet"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null,onChange:n}},{name:"exchange",size:"sm",stripe:!0,view:o("exchange"),width:190-r,input:Fa,inputProps:{options:c("exchange"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null,onChange:n}},{name:"zeroConf",size:"sm",stripe:!0,view:o("zeroConf"),input:Fa,width:190-r,inputProps:{options:c("zeroConf"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null,onChange:n}}]},$f=n(530),Hf=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return Wr.a((function(e){return ks.a(e.name,t)}),Vf(e,n,a))},Vf=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=function(e,t,n){return function(a){return e?$t.a(ua.a(t),ca.a(sa.a(null!==n&&void 0!==n?n:"code",a)))(e):""}},r=function(e){return function(t){return t?$t.a(Cs.a(", "),da.a(a(e,"code")))(t):t}},l=da.a((function(e){return e.machine}),n),i=function(e){return $f.a((function(e,t){return e.deviceId===t}),e,l)},o=e(["machines"]),c=e(["countries"]),s=e(["currencies"]),u=e(["languages"]),d=e(["cryptoCurrencies"]),m=function(e){var t=ca.a(sa.a("deviceId",e.machine))(o);return t?[t]:[]};return[{name:"machine",width:200,size:"sm",view:a(o,"name","deviceId"),input:Fa,inputProps:{options:function(e){return Rr.a(m(e))(i(o))},valueProp:"deviceId",getLabel:Jr.a(["name"])}},{name:"country",width:200,size:"sm",view:a(c,"display"),input:Fa,inputProps:{options:c,valueProp:"code",getLabel:Jr.a(["display"])}},{name:"fiatCurrency",width:150,size:"sm",view:a(s,"code"),input:Fa,inputProps:{options:s,valueProp:"code",getLabel:Jr.a(["code"])}},{name:"languages",width:240,size:"sm",view:r(u),input:Fa,inputProps:{options:u,valueProp:"code",getLabel:Jr.a(["display"]),multiple:!0}},{name:"cryptoCurrencies",width:290,size:"sm",view:r(d),input:Fa,inputProps:{options:d,valueProp:"code",getLabel:Jr.a(["code"]),multiple:!0,optionsLimit:null,onChange:t}}]},Yf=function(e,t){var n=Jr.a(Ss.a,e);return Hf(n,["country","fiatCurrency","languages","cryptoCurrencies"],t)},Gf=function(e,t,n){var a=Jr.a(Ss.a,e);return Hf(a,["machine","country","languages","cryptoCurrencies"],n,t)},Zf=Yt.d().shape({country:Yt.e().label("Country").required(),fiatCurrency:Yt.e().label("Fiat Currency").required(),languages:Yt.a().label("Languages").required().max(4),cryptoCurrencies:Yt.a().label("Crypto Currencies").required()}),_f=Yt.d().shape({machine:Yt.e().label("Machine").required(),country:Yt.e().label("Country").required(),languages:Yt.a().label("Languages").required(),cryptoCurrencies:Yt.a().label("Crypto Currencies").required()}),Uf={country:"",fiatCurrency:"",languages:[],cryptoCurrencies:[]},Jf={machine:"",country:"",languages:[],cryptoCurrencies:[]};function Kf(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Kf=function(){return e},e}function Qf(){var e=Object(Bt.a)(["\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n currencies {\n code\n display\n }\n countries {\n code\n display\n }\n cryptoCurrencies {\n code\n display\n }\n languages {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n"]);return Qf=function(){return e},e}var Xf=Object(f.a)({rightAligned:{marginTop:"20px",marginLeft:"auto",marginBottom:"20px"},rightLink:{marginLeft:"20px"}}),ep=zt()(Qf()),tp=zt()(Kf()),np=function(e){var t=e.open,n=e.close,a=e.save,l=Xf();return r.a.createElement(ci,{title:"Change fiat currency?",handleClose:n,width:450,height:310,open:t},r.a.createElement(tt,null,"Please note that all values you set that were based on your prior fiat currency are still the same. If you need to adjust these to reflect the new fiat currency (such as minimum transaction amounts, fixed fees, and compliance triggers, for example), please do so now."),r.a.createElement(tt,null,"Also, if you have cash-out enabled, you must define new dispenser bill counts for the new currency for cash-out on the new currency to work."),r.a.createElement("div",{className:l.rightAligned},r.a.createElement(Bn,{onClick:n,color:"secondary"},"Cancel"),r.a.createElement(Bn,{className:l.rightLink,onClick:a,color:"primary"},"Save")))},ap=function(e){var t,n,l,i,c,s,u=e.name,d=Object(a.useState)(!1),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Object(a.useState)(null),b=Object(o.a)(h,2),g=b[0],v=b[1],y=Object(a.useState)(!1),E=Object(o.a)(y,2),O=E[0],w=E[1],x=Object(a.useState)(!1),j=Object(o.a)(x,2),C=j[0],k=j[1],S=Object(Pt.c)(ep).data,N=Object(Pt.b)(tp,{onCompleted:function(){return p(!1)},refetchQueries:function(){return["getData"]}}),I=Object(o.a)(N,2),L=I[0],B=I[1].error,P=Object(a.useState)(null),F=Object(o.a)(P,2),D=F[0],T=F[1],W=(null===S||void 0===S?void 0:S.config)&&ni(u)(S.config),R=(null===S||void 0===S?void 0:S.config)&&ni(Yl)(S.config),A=null===S||void 0===S?void 0:S.accountsConfig,z=null!==(t=null===S||void 0===S?void 0:S.accounts)&&void 0!==t?t:[],M=null!==(n=null===S||void 0===S?void 0:S.cryptoCurrencies)&&void 0!==n?n:[],q=W&&!pa.a(W)?W:Uf,$=null!==(l=q.overrides)&&void 0!==l?l:[],H=function(e){return T(null),L({variables:{config:e}})},V=function(e,t,n){var a=Is.a(t,e)[0];if(!a)return n(t);var r=ni(a)(R);if(!Mf.isValidSync(r))return v((function(){return function(){return n(t)}})),void p(a);n(t)};return r.a.createElement(r.a.Fragment,null,r.a.createElement(np,{open:D,close:function(){return T(null)},save:function(){return D&&H(D)}}),r.a.createElement(vt,{title:"Locales"}),r.a.createElement(js,null,r.a.createElement(xc,{title:"Default settings",error:null===B||void 0===B?void 0:B.message,titleLg:!0,name:"locale",enableEdit:!0,initialValues:q,save:function(e){var t=ai(u)(e.locale[0]);return W.fiatCurrency&&t.locale_fiatCurrency!==W.fiatCurrency?T(t):H(t)},validationSchema:Zf,data:Es.a(q),elements:Yf(S,V),setEditing:function(e,t){return w(t)},forceDisable:C})),r.a.createElement(js,null,r.a.createElement(xc,{error:null===B||void 0===B?void 0:B.message,title:"Overrides",titleLg:!0,name:"overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,initialValues:Jf,save:function(e){var t=ai(u)(e);return L({variables:{config:t}})},validationSchema:_f,data:null!==$&&void 0!==$?$:[],elements:Gf(S,$,V),disableAdd:$t.a(pa.a,Is.a)(null!==(i=null===S||void 0===S?void 0:S.machines.map((function(e){return e.deviceId})))&&void 0!==i?i:[],null!==(c=null===$||void 0===$?void 0:$.map((function(e){return e.machine})))&&void 0!==c?c:[]),setEditing:function(e,t){return k(t)},forceDisable:O})),f&&r.a.createElement(Rf,{coin:ca.a(sa.a("code",f))(M),onClose:function(){return p(!1)},save:function(e){return H(ai(Yl)(e)).then((function(e){return g(),v(null),e}))},error:null===B||void 0===B?void 0:B.message,cryptoCurrencies:M,userAccounts:null===S||void 0===S||null===(s=S.config)||void 0===s?void 0:s.accounts,accounts:z,accountsConfig:A}))},rp=n(341),lp=n.n(rp);function ip(){return(ip=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var cp=a.createElement("desc",null,"Created with Sketch."),sp=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"pop-up/action/download-logs/date-range-copy-3",transform:"translate(-117.000000, -116.000000)",stroke:"#1B2559",strokeWidth:2},a.createElement("g",{id:"arrow-download-logs",transform:"translate(128.500000, 124.500000) rotate(-90.000000) translate(-128.500000, -124.500000) translate(121.000000, 114.000000)"},a.createElement("polyline",{id:"Path-3",points:"0 13.3571429 7.14285714 20.5 14.2857143 13.3571429"}),a.createElement("line",{x1:7.14285714,y1:.142857143,x2:7.14285714,y2:20.1428571,id:"Path-4"}))));function up(e,t){var n=e.title,r=e.titleId,l=op(e,["title","titleId"]);return a.createElement("svg",ip({width:"23px",height:"17px",viewBox:"0 0 23 17",ref:t,"aria-labelledby":r},l),void 0===n?a.createElement("title",{id:r},"arrow download logs"):n?a.createElement("title",{id:r},n):null,cp,sp)}var dp=a.forwardRef(up);n.p;function mp(){return(mp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var pp=a.createElement("desc",null,"Created with Sketch."),hp=a.createElement("g",{id:"icon/button/download/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"icon/sf-small/wizzard",stroke:"#FFFFFF"},a.createElement("polyline",{id:"Path-3",points:"3.6 5.4 6 7.8 8.4 5.4"}),a.createElement("line",{x1:6,y1:.5,x2:6,y2:7.4,id:"Path-4"}),a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1"})));function bp(e,t){var n=e.title,r=e.titleId,l=fp(e,["title","titleId"]);return a.createElement("svg",mp({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,pp,hp)}var gp=a.forwardRef(bp);n.p;function vp(){return(vp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ep=a.createElement("desc",null,"Created with Sketch."),Op=a.createElement("g",{id:"icon/button/download/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"icon/sf-small/wizzard",stroke:"#1B2559"},a.createElement("polyline",{id:"Path-3",points:"3.6 5.4 6 7.8 8.4 5.4"}),a.createElement("line",{x1:6,y1:.5,x2:6,y2:7.4,id:"Path-4"}),a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1"})));function wp(e,t){var n=e.title,r=e.titleId,l=yp(e,["title","titleId"]);return a.createElement("svg",vp({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ep,Op)}var xp=a.forwardRef(wp);n.p;function jp(){return(jp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var kp=a.createElement("desc",null,"Created with Sketch."),Sp=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"pop-up/action/download-logs/date-range-copy-2",transform:"translate(-20.000000, -187.000000)"},a.createElement("g",{id:"icon/sf-contain-b-copy-5",transform:"translate(30.000000, 197.000000) rotate(-270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)"},a.createElement("g",{id:"icon/sf-small/wizzard",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{transform:"translate(6.666667, 6.000000)",id:"Group"},a.createElement("g",null,a.createElement("polyline",{id:"Path-3",stroke:"#1B2559",strokeWidth:2,points:"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333"}),a.createElement("line",{x1:3.33333333,y1:.25,x2:3.33333333,y2:6.5,id:"Path-4",stroke:"#1B2559",strokeWidth:2})))))));function Np(e,t){var n=e.title,r=e.titleId,l=Cp(e,["title","titleId"]);return a.createElement("svg",jp({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,kp,Sp)}var Ip=a.forwardRef(Np);n.p;function Lp(){return(Lp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Pp=a.createElement("desc",null,"Created with Sketch."),Fp=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"pop-up/action/download-logs/date-range-copy-2",transform:"translate(-20.000000, -187.000000)"},a.createElement("g",{id:"icon/sf-contain-b-copy-5",transform:"translate(30.000000, 197.000000) rotate(270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)"},a.createElement("g",{id:"icon/sf-small/wizzard",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{transform:"translate(6.666667, 6.000000)",id:"Group"},a.createElement("g",null,a.createElement("polyline",{id:"Path-3",stroke:"#1B2559",strokeWidth:2,points:"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333"}),a.createElement("line",{x1:3.33333333,y1:.25,x2:3.33333333,y2:6.5,id:"Path-4",stroke:"#1B2559",strokeWidth:2})))))));function Dp(e,t){var n=e.title,r=e.titleId,l=Bp(e,["title","titleId"]);return a.createElement("svg",Lp({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Pp,Fp)}var Tp=a.forwardRef(Dp),Wp=(n.p,{wrapper:{height:26,display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden"},button:{outline:"none",extend:Be.label1,border:"none",cursor:"pointer",backgroundColor:"transparent",color:J,zIndex:2},lowerBound:{left:"50%"},upperBound:{right:"50%"},selected:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:$,borderRadius:"50%",position:"absolute",zIndex:1},between:{position:"absolute",width:"100%",height:"100%",zIndex:0,backgroundColor:H},disabled:{color:ae,cursor:"default"}}),Rp=Object(f.a)(Wp),Ap=function(e){var t,n,a,l=e.isLowerBound,i=e.isUpperBound,o=e.isBetween,c=e.isDisabled,s=e.children,u=(Object($e.a)(e,["isLowerBound","isUpperBound","isBetween","isDisabled","children"]),Rp()),d=l||i,m=(t={},Object(E.a)(t,u.between,o&&!(l&&i)),Object(E.a)(t,u.lowerBound,l&&!i),Object(E.a)(t,u.upperBound,i&&!l),t),f=(n={},Object(E.a)(n,u.wrapper,!0),Object(E.a)(n,u.selected,d),n),p=(a={},Object(E.a)(a,u.button,!0),Object(E.a)(a,u.disabled,c),a);return r.a.createElement("div",{className:u.wrapper},r.a.createElement("div",{className:w()(m)}),r.a.createElement("div",{className:w()(f)},r.a.createElement("button",{className:w()(p)},s)))},zp={wrapper:{display:"flex",flexDirection:"column",alignItems:"center"},button:{outline:"none"},navbar:{extend:Be.p,display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",padding:[[15,15]],color:J,"& button":{display:"flex",alignItems:"center",padding:0,border:"none",backgroundColor:Y,cursor:"pointer",borderRadius:"50%",width:20,height:20,position:"relative",overflow:"hidden","& svg":{position:"absolute",left:0}}},table:{borderCollapse:"collapse",width:"100%",color:J,"& tr":{"&:first-child":{paddingLeft:5},"&:last-child":{paddingRight:5}},"& th, & td":{margin:0,padding:[[3,0,3,0]]},"& th":{extend:Be.label2}}},Mp=Object(f.a)(zp),qp=function(e){var t=e.minDate,n=e.maxDate,l=e.handleSelect,i=Object($e.a)(e,["minDate","maxDate","handleSelect"]),c=Object(a.useState)(Ud()()),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Mp(),f=Ud.a.weekdaysMin().map((function(e){return e.slice(0,1)})),p=function(e){var t=Ud()(e).subtract(1,"month"),n=Tc.a(0,Ud()(e).startOf("month").weekday()).reverse(),a=da.a((function(e){return Ud()(t).endOf("month").subtract(e,"days")}))(n),r=Tc.a(0,function(e){return Number.parseInt(Ud()(e).endOf("month").format("D"))}(e)),l=da.a((function(t){return Ud()(e).startOf("month").add(t,"days")}))(r),i=Ud()(e).add(1,"month"),o=Tc.a(0,42-a.length-l.length),c=da.a((function(e){return Ud()(i).startOf("month").add(e,"days")}))(o);return Rr.a(Rr.a(a,l),c)};return r.a.createElement("div",{className:m.wrapper},r.a.createElement("div",{className:m.navbar},r.a.createElement("button",{className:m.button,onClick:function(){return function(e){var n=Ud()(e).subtract(1,"month");d(t?n.isSameOrAfter(t,"month")?n:u:n)}(u)}},r.a.createElement(Ip,null)),r.a.createElement("span",null,"".concat(u.format("MMMM")," ").concat(u.format("YYYY"))),r.a.createElement("button",{className:m.button,onClick:function(){return function(e){var t=Ud()(e).add(1,"month");d(n?t.isSameOrBefore(n,"month")?t:u:t)}(u)}},r.a.createElement(Tp,null))),r.a.createElement("table",{className:m.table},r.a.createElement("thead",null,r.a.createElement("tr",null,f.map((function(e,t){return r.a.createElement("th",{key:t},e)})))),r.a.createElement("tbody",null,Tc.a(1,8).map((function(e,a){return r.a.createElement("tr",{key:a},function(e,t){return p(e).slice(7*t-7,7*t)}(u,e).map((function(e,a){return r.a.createElement("td",{key:a,onClick:function(){return l(e,t,n)}},r.a.createElement(Ap,{isDisabled:n&&e.isAfter(n,"day")||t&&e.isBefore(t,"day"),isLowerBound:e.isSame(i.from,"day"),isUpperBound:e.isSame(i.to,"day"),isBetween:e.isBetween(i.from,i.to,"day",[])},e.format("D")))})))})))))},$p=Object(f.a)({wrapper:{backgroundColor:"white",borderRadius:10}}),Hp=function(e){var t=e.minDate,n=e.maxDate,l=e.className,i=e.onRangeChange,c=Object(a.useState)(null),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(null),f=Object(o.a)(m,2),p=f[0],h=f[1];Object(a.useEffect)((function(){i(u,p)}),[u,i,p]);var b=$p();return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:w()(b.wrapper,l)},r.a.createElement(qp,{from:u,to:p,minDate:t,maxDate:n,handleSelect:function(e,t,n){if(!(n&&e.isAfter(n,"day")||t&&e.isBefore(t,"day")))return u&&!p&&e.isBefore(u,"day")?(h(u),void d(e)):void(u&&!p&&e.isSameOrAfter(u,"day")?h(e):(d(e),h(null)))}})))},Vp=Be.label1,Yp=Be.h4,Gp={wrapper:{height:46,width:99},container:{display:"flex"},monthWeekDayContainer:{display:"flex",flexDirection:"column"},label:{extend:Vp,lineHeight:1.33,color:J},bigNumber:{extend:Be.info1,lineHeight:1,marginRight:7},monthYear:{extend:Be.label2,lineHeight:1.17,color:J},weekDay:{extend:Vp,lineHeight:1.33,color:ie}},Zp=Object(f.a)(Gp),_p=function(e){var t=e.date,n=e.children,a=(Object($e.a)(e,["date","children"]),Zp());return r.a.createElement("div",{className:a.wrapper},r.a.createElement("div",{className:a.label},n),t&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:a.container},r.a.createElement("div",{className:a.bigNumber},t.format("D")),r.a.createElement("div",{className:a.monthWeekDayContainer},r.a.createElement("span",{className:a.monthYear},"".concat(t.format("MMM")," ").concat(t.format("YYYY"))),r.a.createElement("span",{className:a.weekDay},t.format("dddd"))))))},Up={popoverContent:{width:280},popoverHeader:{extend:Yp,padding:[[15,15,0,15]]},radioButtonsContainer:{padding:[[5,15,5,15]]},radioButtons:{display:"flex",justifyContent:"space-between",flexDirection:"row",color:J},dateRangePickerShowing:{display:"block",height:"100%"},dateRangePickerHidden:{display:"none",height:0},download:{padding:[[10,15]]},dateContainerWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center",position:"relative",backgroundColor:Y,padding:[[0,15]],minHeight:70},arrowContainer:{position:"absolute",left:125,top:26},arrow:{margin:"auto"}},Jp=Object(f.a)(Up),Kp="all",Qp="range",Xp=function(e){var t,n=e.name,l=e.query,i=e.args,s=e.title,u=e.getLogs,d=Object(a.useState)(Kp),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Object(a.useState)({from:null,until:null}),b=Object(o.a)(h,2),g=b[0],v=b[1],y=Object(a.useState)(null),O=Object(o.a)(y,2),x=O[0],j=O[1],C=Object(Pt.a)(l,{onCompleted:function(e){return L(u(e),g)}}),k=Object(o.a)(C,1)[0],S=Jp(),N=(t={},Object(E.a)(t,S.dateRangePickerShowing,f===Qp),Object(E.a)(t,S.dateRangePickerHidden,f===Kp),t),I=Object(a.useCallback)((function(e,t){v({from:e,until:t})}),[v]),L=function(e,t){var a=function(e){return Ud()(e).format("YYYY-MM-DD_HH-mm")},r=new window.Blob([e],{type:"text/plain;charset=utf-8"});lp.a.saveAs(r,f===Kp?"".concat(a(new Date),"_").concat(n,".csv"):"".concat(a(t.from),"_").concat(a(t.until),"_").concat(n,".csv"))},B=[{display:"All logs",code:Kp},{display:"Date range",code:Qp}],P=Boolean(x),F=P?"date-range-popover":void 0;return r.a.createElement(Kr.a,{onClickAway:function(){j(null)}},r.a.createElement("div",null,r.a.createElement(pn,{Icon:xp,InverseIcon:gp,onClick:function(e){j(x?null:e.currentTarget)},variant:"contained"}),r.a.createElement(vn,{id:F,open:P,anchorEl:x,placement:"bottom"},r.a.createElement("div",{className:S.popoverContent},r.a.createElement("div",{className:S.popoverHeader},s),r.a.createElement("div",{className:S.radioButtonsContainer},r.a.createElement(Na,{name:"logs-select",value:f,options:B,ariaLabel:"logs-select",onChange:function(e){var t=Jr.a(["target","value"])(e);p(t),t===Kp&&v({from:null,until:null})},className:S.radioButtons})),f===Qp&&r.a.createElement("div",{className:w()(N)},r.a.createElement("div",{className:S.dateContainerWrapper},g&&r.a.createElement(r.a.Fragment,null,r.a.createElement(_p,{date:g.from},"From"),r.a.createElement("div",{className:S.arrowContainer},r.a.createElement(dp,{className:S.arrow})),r.a.createElement(_p,{date:g.until},"To"))),r.a.createElement(Hp,{maxDate:Ud()(),onRangeChange:I})),r.a.createElement("div",{className:S.download},r.a.createElement(Bn,{color:"primary",onClick:function(){return function(e,t,n){f===Kp&&n({variables:Object(c.a)({},t)}),e&&e.from&&(e.from&&!e.until&&(e.until=Ud()()),f===Qp&&n({variables:Object(c.a)(Object(c.a)({},t),{},{from:e.from,until:e.until})}))}(g,i,k)}},"Download"))))))},eh=Object(f.a)({table:{tableLayout:"fixed",borderCollapse:"separate",borderSpacing:"0 0"}}),th=Object(a.memo)((function(e){var t=e.className,n=e.children,a=Object($e.a)(e,["className","children"]),l=eh();return r.a.createElement("table",Object.assign({},a,{className:w()(l.table,t)}),n)})),nh=Object(a.memo)((function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement("tbody",n,t)})),ah=Object(f.a)({td:{padding:[[0,24]]},alignRight:{textAlign:"right"}}),rh=Object(a.memo)((function(e){var t,n=e.colspan,a=e.rightAlign,l=e.className,i=e.children,o=Object($e.a)(e,["colspan","rightAlign","className","children"]),c=ah(),s=(t={},Object(E.a)(t,c.td,!0),Object(E.a)(t,c.alignRight,a),t);return r.a.createElement("td",Object.assign({colSpan:n,className:w()(s,l)},o),i)})),lh=Object(a.memo)((function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement("thead",n,t)})),ih=Be.tl2,oh=Object(f.a)({th:{extend:ih,backgroundColor:Ne,height:je,textAlign:"left",color:Z,padding:"0 ".concat(24,"px")},alignRight:{textAlign:"right"}}),ch=Object(a.memo)((function(e){var t,n=e.rightAlign,a=e.children,l=e.className,i=Object($e.a)(e,["rightAlign","children","className"]),o=oh(),c=(t={},Object(E.a)(t,o.th,!0),Object(E.a)(t,o.alignRight,n),t);return r.a.createElement("th",Object.assign({},i,{className:w()(c,l)}),a)})),sh=Be.info2,uh=Be.p,dh=Object(f.a)({tr:{extend:uh,padding:4,height:Ce,backgroundColor:"#ffffff"},lg:{extend:sh,height:76},sm:{height:30},error:{backgroundColor:Ie},success:{backgroundColor:"#ecfbef"}}),mh=Object(a.memo)((function(e){var t,n=e.className,a=e.children,l=e.header,i=e.error,o=e.success,c=e.size,s=void 0===c?"sm":c,u=Object($e.a)(e,["className","children","header","error","success","size"]),d=dh(),m=(t={},Object(E.a)(t,d.tr,!l),Object(E.a)(t,d.sm,!l&&"sm"===s),Object(E.a)(t,d.lg,!l&&"lg"===s),Object(E.a)(t,d.error,i),Object(E.a)(t,d.success,o),t);return r.a.createElement("tr",Object.assign({className:w()(m,n)},u),a)}));function fh(){var e=Object(Bt.a)(["\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogs(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n ) {\n logLevel\n id\n timestamp\n message\n }\n }\n"]);return fh=function(){return e},e}function ph(){var e=Object(Bt.a)(["\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogsCsv(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n )\n }\n"]);return ph=function(){return e},e}function hh(){var e=Object(Bt.a)(["\n {\n machines {\n name\n deviceId\n }\n }\n"]);return hh=function(){return e},e}var bh=Object(f.a)(Ki),gh=zt()(hh()),vh=zt()(ph()),yh=zt()(fh()),Eh=function(){var e,t=bh(),n=Object(a.useState)(null),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)(null),u=Object(o.a)(s,2),d=u[0],m=u[1],f=null===i||void 0===i?void 0:i.deviceId,p=Object(Pt.c)(gh).data,h=Object(Pt.c)(yh,{variables:{deviceId:f,limit:500},skip:!i,onCompleted:function(){return m("")}}).data;(null===p||void 0===p||null===(e=p.machines)||void 0===e?void 0:e.length)&&!i&&c(null===p||void 0===p?void 0:p.machines[0]);return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:t.titleWrapper},r.a.createElement("div",{className:t.titleAndButtonsContainer},r.a.createElement(bt,null,"Machine Logs"),h&&r.a.createElement("div",{className:t.buttonsWrapper},r.a.createElement(Xp,{title:"Download logs",name:"machine-logs",query:vh,args:{deviceId:f},getLogs:function(e){return Jr.a(["machineLogsCsv"])(e)}}),r.a.createElement(rt,null,d)))),r.a.createElement("div",{className:t.wrapper},r.a.createElement(ze,{displayName:function(e){return e.name},data:(null===p||void 0===p?void 0:p.machines)||[],isSelected:function(e){return Jr.a(["deviceId"])(i)===e.deviceId},onClick:c}),r.a.createElement("div",{className:t.tableWrapper},r.a.createElement(th,{className:t.table},r.a.createElement(lh,null,r.a.createElement(mh,{header:!0},r.a.createElement(ch,{className:t.dateColumn},"Date"),r.a.createElement(ch,{className:t.levelColumn},"Level"),r.a.createElement(ch,{className:t.fillColumn}))),r.a.createElement(nh,null,h&&h.machineLogs.map((function(e,t){return r.a.createElement(mh,{key:t,size:"sm"},r.a.createElement(rh,null,(n=e.timestamp,Ud()(n).format("YYYY-MM-DD HH:mm"))),r.a.createElement(rh,null,e.logLevel),r.a.createElement(rh,null,e.message));var n})))))))};function Oh(){var e=Object(Bt.a)(["\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $cassette1: Int!\n $cassette2: Int!\n ) {\n machineAction(\n deviceId: $deviceId\n action: $action\n cassette1: $cassette1\n cassette2: $cassette2\n ) {\n deviceId\n cassette1\n cassette2\n }\n }\n"]);return Oh=function(){return e},e}function wh(){var e=Object(Bt.a)(["\n query getData {\n machines {\n name\n id: deviceId\n cassette1\n cassette2\n }\n config\n }\n"]);return wh=function(){return e},e}var xh=Object(f.a)({cashbox:{width:80,height:36}}),jh=Yt.d().shape({name:Yt.e().required(),cassette1:Yt.c().label("Cassette 1 (top)").required().integer().min(0).max(500),cassette2:Yt.c().label("Cassette 2 (bottom)").required().integer().min(0).max(500)}),Ch=zt()(wh()),kh=zt()(Oh()),Sh=function(){var e=xh(),t=Object(Pt.c)(Ch).data,n=Object(Pt.b)(kh,{refetchQueries:function(){return["getData"]}}),a=Object(o.a)(n,2),l=a[0],i=a[1].error,c=(null===t||void 0===t?void 0:t.config)&&ni("cashOut")(t.config),s=(null===t||void 0===t?void 0:t.config)&&ni("locale")(t.config),u=null===s||void 0===s?void 0:s.fiatCurrency,d=function(e){return ni(e)(c)},m=function(e){var t=e.id;return!d(t).active},f=[{name:"name",header:"Machine",width:254,view:function(e){return r.a.createElement(r.a.Fragment,null,e)},input:function(e){var t=e.field.value;return r.a.createElement(r.a.Fragment,null,t)}},{name:"cassette1",header:"Cassette 1 (Top)",width:265,stripe:!0,view:function(t,n){var a,l=n.id;return r.a.createElement(zl,{className:e.cashbox,denomination:null===(a=d(l))||void 0===a?void 0:a.top,currency:{code:u},notes:t})},input:Da,inputProps:{decimalPlaces:0}},{name:"cassette2",header:"Cassette 2 (Bottom)",width:265,stripe:!0,view:function(t,n){var a,l=n.id;return r.a.createElement(zl,{className:e.cashbox,denomination:null===(a=d(l))||void 0===a?void 0:a.bottom,currency:{code:u},notes:t})},input:Da,inputProps:{decimalPlaces:0}}];return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Cash Cassettes"}),r.a.createElement(xc,{error:null===i||void 0===i?void 0:i.message,name:"cashboxes",enableEdit:!0,stripeWhen:m,disableRowEdit:m,elements:f,data:t&&t.machines,save:function(){for(var e=arguments.length,t=new Array(e),n=0;n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Lh=a.createElement("rect",{width:12,height:12,rx:3,ry:3,fill:"#ff7311"});function Bh(e,t){var n=e.title,r=e.titleId,l=Ih(e,["title","titleId"]);return a.createElement("svg",Nh({width:12,height:12,viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Lh)}var Ph=a.forwardRef(Bh);n.p;function Fh(){return(Fh=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Th=a.createElement("rect",{width:12,height:12,rx:3,ry:3,fill:"#ff584a"});function Wh(e,t){var n=e.title,r=e.titleId,l=Dh(e,["title","titleId"]);return a.createElement("svg",Fh({width:12,height:12,viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Th)}var Rh=a.forwardRef(Wh),Ah=(n.p,n(533)),zh=n(532),Mh=Object(f.a)({dialogContent:{width:434,padding:16,paddingRight:28},dialogTitle:{padding:16,paddingRight:12,display:"flex","justify-content":"space-between","& > h4":{margin:0},"& > button":{padding:0,marginTop:-4}},dialogActions:{padding:32,paddingTop:16}}),qh=function(e){var t=e.children,n=e.onClose,a=Mh();return r.a.createElement("div",{className:a.dialogTitle},t,n&&r.a.createElement(kn,{size:16,"aria-label":"close",onClick:n},r.a.createElement(Va,null)))},$h=Object(a.memo)((function(e){var t=e.title,n=void 0===t?"Confirm action":t,l=e.errorMessage,i=void 0===l?"This action requires confirmation":l,c=e.open,s=e.toBeConfirmed,u=e.saveButtonAlwaysEnabled,d=void 0!==u&&u,m=e.message,f=e.confirmationMessage,p=void 0===f?"Write '".concat(s,"' to confirm this action"):f,h=e.onConfirmed,b=e.onDissmised,g=e.initialValue,v=void 0===g?"":g,y=e.disabled,E=void 0!==y&&y,O=Object($e.a)(e,["title","errorMessage","open","toBeConfirmed","saveButtonAlwaysEnabled","message","confirmationMessage","onConfirmed","onDissmised","initialValue","disabled"]),w=Mh(),x=Object(a.useState)(v),j=Object(o.a)(x,2),C=j[0],k=j[1],S=Object(a.useState)(!1),N=Object(o.a)(S,2),I=N[0],L=N[1],B=!d&&s!==C||""===C;return r.a.createElement(Ft.a,Object.assign({open:c,"aria-labelledby":"form-dialog-title"},O),r.a.createElement(qh,{id:"customized-dialog-title",onClose:function(){k(""),L(!1),b()}},r.a.createElement(Xe,null,n)),i&&r.a.createElement(qh,null,r.a.createElement(pt,null,i.split(":").map((function(e){return r.a.createElement(r.a.Fragment,null,e,r.a.createElement("br",null))})))),r.a.createElement(Dt.a,{className:w.dialogContent},m&&r.a.createElement(tt,null,m),r.a.createElement(Ea,{disabled:E,label:p,name:"confirm-input",autoFocus:!0,id:"confirm-input",type:"text",size:"sm",fullWidth:!0,value:C,touched:{},error:I,InputLabelProps:{shrink:!0},onChange:function(e){return k(e.target.value)},onBlur:function(){return L(B)}})),r.a.createElement(zh.a,{className:w.dialogActions},r.a.createElement(on,{color:"green",disabled:B,onClick:function(){return h(C)}},"Confirm")))}));function Hh(){return(Hh=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Yh=a.createElement("desc",null,"Created with Sketch."),Gh=a.createElement("g",{id:"icon/button/edit/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1",stroke:"#FFFFFF"}),a.createElement("polygon",{id:"Stroke-3",stroke:"#FFFFFF",points:"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9"}));function Zh(e,t){var n=e.title,r=e.titleId,l=Vh(e,["title","titleId"]);return a.createElement("svg",Hh({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Yh,Gh)}var _h=a.forwardRef(Zh);n.p;function Uh(){return(Uh=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Kh=a.createElement("desc",null,"Created with Sketch."),Qh=a.createElement("g",{id:"icon/button/edit/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1",stroke:"#1B2559"}),a.createElement("polygon",{id:"Stroke-3",stroke:"#1B2559",points:"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9"}));function Xh(e,t){var n=e.title,r=e.titleId,l=Jh(e,["title","titleId"]);return a.createElement("svg",Uh({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Kh,Qh)}var eb=a.forwardRef(Xh);n.p;function tb(){return(tb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var ab=a.createElement("desc",null,"Created with Sketch."),rb=a.createElement("g",{id:"icon/button/link/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-7",stroke:"#1B2559",strokeWidth:1.2},a.createElement("polyline",{id:"Stroke-1",points:"12 6.66678 12 12.00018 0 12.00018 0 0.00018 5.3334 0.00018"}),a.createElement("polyline",{id:"Stroke-3",points:"8.66658 0 12.00018 0 12.00018 3.3336"}),a.createElement("line",{x1:6,y1:6,x2:12,y2:0,id:"Stroke-5"})));function lb(e,t){var n=e.title,r=e.titleId,l=nb(e,["title","titleId"]);return a.createElement("svg",tb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,ab,rb)}var ib=a.forwardRef(lb);n.p;function ob(){return(ob=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var sb=a.createElement("desc",null,"Created with Sketch."),ub=a.createElement("g",{id:"icon/button/reboot/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-3",stroke:"#FFFFFF"},a.createElement("g",{id:"Group-2"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"})),a.createElement("line",{x1:5.92223784,y1:7.57277922,x2:5.92223784,y2:3.98212987,id:"Stroke-9"}),a.createElement("g",{id:"Group-2",transform:"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"}))));function db(e,t){var n=e.title,r=e.titleId,l=cb(e,["title","titleId"]);return a.createElement("svg",ob({width:"12px",height:"12px",viewBox:"-0.493 -0.5 12.993 13",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,sb,ub)}var mb=a.forwardRef(db);n.p;function fb(){return(fb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var hb=a.createElement("desc",null,"Created with Sketch."),bb=a.createElement("g",{id:"icon/button/reboot/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-3",stroke:"#1B2559"},a.createElement("g",{id:"Group-2"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"})),a.createElement("line",{x1:5.92223784,y1:7.57277922,x2:5.92223784,y2:3.98212987,id:"Stroke-9"}),a.createElement("g",{id:"Group-2",transform:"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"}))));function gb(e,t){var n=e.title,r=e.titleId,l=pb(e,["title","titleId"]);return a.createElement("svg",fb({width:"12px",height:"12px",viewBox:"-0.493 -0.5 12.993 13",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,hb,bb)}var vb=a.forwardRef(gb);n.p;function yb(){return(yb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ob=a.createElement("desc",null,"Created with Sketch."),wb=a.createElement("g",{id:"icon/button/shut-down/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",transform:"translate(1.000000, 0.000000)",stroke:"#FFFFFF"},a.createElement("path",{d:"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976",id:"Stroke-1"}),a.createElement("line",{x1:5,y1:.75,x2:5,y2:3.25,id:"Stroke-3"})));function xb(e,t){var n=e.title,r=e.titleId,l=Eb(e,["title","titleId"]);return a.createElement("svg",yb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ob,wb)}var jb=a.forwardRef(xb);n.p;function Cb(){return(Cb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Sb=a.createElement("desc",null,"Created with Sketch."),Nb=a.createElement("g",{id:"icon/button/shut-down/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",transform:"translate(1.000000, 0.000000)",stroke:"#1B2559"},a.createElement("path",{d:"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976",id:"Stroke-1"}),a.createElement("line",{x1:5,y1:.75,x2:5,y2:3.25,id:"Stroke-3"})));function Ib(e,t){var n=e.title,r=e.titleId,l=kb(e,["title","titleId"]);return a.createElement("svg",Cb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Sb,Nb)}var Lb=a.forwardRef(Ib);n.p;function Bb(){return(Bb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Fb=a.createElement("desc",null,"Created with Sketch."),Db=a.createElement("g",{id:"icon/button/unpair/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-12",stroke:"#FFFFFF"},a.createElement("g",{id:"Group-5"},a.createElement("polyline",{id:"Stroke-1",points:"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3"}),a.createElement("polyline",{id:"Stroke-3",points:"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9"})),a.createElement("line",{x1:8.25,y1:3,x2:8.25,y2:1.5,id:"Stroke-6"}),a.createElement("line",{x1:9.75,y1:3,x2:10.5,y2:2.25,id:"Stroke-7"}),a.createElement("line",{x1:9.75,y1:4.5,x2:11.25,y2:4.5,id:"Stroke-8"}),a.createElement("line",{x1:2.25,y1:7.5,x2:.75,y2:7.5,id:"Stroke-9"}),a.createElement("line",{x1:2.25,y1:9,x2:1.5,y2:9.75,id:"Stroke-10"}),a.createElement("line",{x1:3.75,y1:9,x2:3.75,y2:10.5,id:"Stroke-11"})));function Tb(e,t){var n=e.title,r=e.titleId,l=Pb(e,["title","titleId"]);return a.createElement("svg",Bb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Fb,Db)}var Wb=a.forwardRef(Tb);n.p;function Rb(){return(Rb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var zb=a.createElement("desc",null,"Created with Sketch."),Mb=a.createElement("g",{id:"icon/button/unpair/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-12",stroke:"#1B2559"},a.createElement("g",{id:"Group-5"},a.createElement("polyline",{id:"Stroke-1",points:"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3"}),a.createElement("polyline",{id:"Stroke-3",points:"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9"})),a.createElement("line",{x1:8.25,y1:3,x2:8.25,y2:1.5,id:"Stroke-6"}),a.createElement("line",{x1:9.75,y1:3,x2:10.5,y2:2.25,id:"Stroke-7"}),a.createElement("line",{x1:9.75,y1:4.5,x2:11.25,y2:4.5,id:"Stroke-8"}),a.createElement("line",{x1:2.25,y1:7.5,x2:.75,y2:7.5,id:"Stroke-9"}),a.createElement("line",{x1:2.25,y1:9,x2:1.5,y2:9.75,id:"Stroke-10"}),a.createElement("line",{x1:3.75,y1:9,x2:3.75,y2:10.5,id:"Stroke-11"})));function qb(e,t){var n=e.title,r=e.titleId,l=Ab(e,["title","titleId"]);return a.createElement("svg",Rb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,zb,Mb)}var $b=a.forwardRef(qb),Hb=(n.p,Object(c.a)(Object(c.a)({},eo),{},{colDivider:{width:1,margin:[[16,32]],backgroundColor:q,border:"none"},inlineChip:{marginInlineEnd:"0.25em"},stack:{display:"flex",flexDirection:"row"},wrapper:{display:"flex",marginTop:24,marginBottom:32,fontSize:ge},row:{display:"flex",flexDirection:"row",marginBottom:36},list:{padding:0,margin:0,listStyle:"none"},item:{height:24,marginBottom:12},link:{color:J,textDecoration:"none"},divider:{margin:"0 1rem"},mr:{marginRight:8},separator:{width:1,height:170,zIndex:1,marginRight:60,marginLeft:"auto",background:Object(Sn.fade)(q,.5)},warning:{color:se}}));function Vb(){var e=Object(Bt.a)(["\n query getMachine($deviceId: ID!) {\n machine(deviceId: $deviceId) {\n latestEvent {\n note\n }\n }\n }\n"]);return Vb=function(){return e},e}function Yb(){var e=Object(Bt.a)(["\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $newName: String\n ) {\n machineAction(deviceId: $deviceId, action: $action, newName: $newName) {\n deviceId\n }\n }\n"]);return Yb=function(){return e},e}var Gb=zt()(Yb()),Zb=zt()(Vb()),_b=[{code:void 0,label:"Troubleshooting",article:"https://support.lamassu.is/hc/en-us/categories/115000075249-Troubleshooting"}],Ub=function(e){var t=e.code;return _b.find((function(e){return e.code===t}))},Jb=Object(f.a)(to),Kb=function(e){var t=e.children,n=Jb();return r.a.createElement("div",{className:n.label},t)},Qb=Object(f.a)(Hb),Xb=function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement(d.a,Object.assign({container:!0,spacing:4},n),t)},eg=function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement(d.a,Object.assign({item:!0,xs:!0},n),t)},tg=function(e){var t=e.it,n=e.onActionSuccess,l=Object(a.useState)({command:null}),i=Object(o.a)(l,2),s=i[0],u=i[1],d=Object(a.useState)(null),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Qb(),b=r.a.createElement("span",{className:h.warning},"A user may be in the middle of a transaction and they could lose their funds if you continue."),g=Object(Pt.a)(Zb,{variables:{deviceId:t.deviceId},onCompleted:function(e){var t,n=(t=function(e){var t,n;return JSON.parse(null!==(t=null===(n=e.machine.latestEvent)||void 0===n?void 0:n.note)&&void 0!==t?t:'{"state": null}').state}(e))&&!["chooseCoin","idle","pendingIdle","dualIdle","networkDown","unpaired","maintenance","virgin","wifiList"].includes(t)?b:null;u((function(e){return Object(c.a)(Object(c.a)({},e),{},{message:n})}))}}),v=Object(o.a)(g,2),y=v[0],E=v[1].loading,O=Object(Pt.b)(Gb,{onError:function(e){var t=e.message;p(null!==t&&void 0!==t?t:"An error ocurred")},onCompleted:function(){n&&n(),u({command:null})}}),w=Object(o.a)(O,2),x=w[0],j=w[1].loading,C=Boolean(s.command),k=!("restartServices"!==(null===s||void 0===s?void 0:s.command)||!E);return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xb,{className:h.wrapper},r.a.createElement(eg,{xs:5},r.a.createElement(Xb,null,r.a.createElement(eg,null,r.a.createElement(Kb,null,"Statuses"),r.a.createElement("ul",{className:h.list},t.statuses.map((function(e,t){return r.a.createElement("li",{className:h.item,key:t},r.a.createElement(fu,{status:e}))})))),r.a.createElement(eg,null,r.a.createElement(Kb,null,"Lamassu Support article"),r.a.createElement("ul",{className:h.list},t.statuses.map(Ub).map((function(e,t){var n=e.label,a=e.article;return r.a.createElement("li",{className:h.item,key:t},r.a.createElement("a",{className:h.link,target:"_blank",rel:"noopener noreferrer",href:a},"'",n,"' ",r.a.createElement(ib,null)))})))))),r.a.createElement(Ah.a,{orientation:"vertical",flexItem:!0,className:h.separator}),r.a.createElement($h,{disabled:k,open:C,title:"".concat(null===s||void 0===s?void 0:s.display," this machine?"),errorMessage:f,toBeConfirmed:t.name,message:null===s||void 0===s?void 0:s.message,confirmationMessage:null===s||void 0===s?void 0:s.confirmationMessage,saveButtonAlwaysEnabled:"rename"===(null===s||void 0===s?void 0:s.command),onConfirmed:function(e){p(null),x({variables:Object(c.a)({deviceId:t.deviceId,action:"".concat(null===s||void 0===s?void 0:s.command)},"rename"===(null===s||void 0===s?void 0:s.command)&&{newName:e})})},onDissmised:function(){u({command:null}),p(null)}}),r.a.createElement(eg,{xs:!0},r.a.createElement(Xb,{className:h.row},r.a.createElement(eg,{xs:4},r.a.createElement(Kb,null,"Machine Model"),r.a.createElement("span",null,t.model)),r.a.createElement(eg,{xs:4},r.a.createElement(Kb,null,"Paired at"),r.a.createElement("span",null,Ud()(t.pairedAt).format("YYYY-MM-DD HH:mm:ss")))),r.a.createElement(Xb,null,r.a.createElement(eg,null,r.a.createElement(Kb,null,"Actions"),r.a.createElement("div",{className:h.stack},r.a.createElement(Lt,{className:h.mr,disabled:j,color:"primary",Icon:eb,InverseIcon:_h,onClick:function(){return u({command:"rename",display:"Rename",confirmationMessage:"Write the new name for this machine"})}},"Rename"),r.a.createElement(Lt,{color:"primary",className:h.mr,Icon:$b,InverseIcon:Wb,disabled:j,onClick:function(){return u({command:"unpair",display:"Unpair"})}},"Unpair"),r.a.createElement(Lt,{color:"primary",className:h.mr,Icon:vb,InverseIcon:mb,disabled:j,onClick:function(){return u({command:"reboot",display:"Reboot"})}},"Reboot"),r.a.createElement(Lt,{className:h.mr,disabled:j,color:"primary",Icon:Lb,InverseIcon:jb,onClick:function(){return u({command:"shutdown",display:"Shutdown",message:"In order to bring it back online, the machine will need to be visited and its power reset."})}},"Shutdown"),r.a.createElement(Lt,{color:"primary",className:h.inlineChip,Icon:vb,InverseIcon:mb,disabled:j,onClick:function(){y(),u({command:"restartServices",display:"Restart services for"})}},"Restart Services")))))))};function ng(){var e=Object(Bt.a)(["\n {\n machines {\n name\n deviceId\n lastPing\n pairedAt\n version\n paired\n cashbox\n cassette1\n cassette2\n version\n model\n statuses {\n label\n type\n }\n }\n }\n"]);return ng=function(){return e},e}var ag=zt()(ng()),rg=Object(f.a)(no),lg=function(){var e,t=rg(),n=Object(v.i)().state,a=null===n||void 0===n?void 0:n.id,l=Object(Pt.c)(ag),i=l.data,o=l.refetch,c=[{header:"Machine Name",width:250,size:"sm",textAlign:"left",view:function(e){return e.name}},{header:"Status",width:350,size:"sm",textAlign:"left",view:function(e){return r.a.createElement(pu,{statuses:e.statuses})}},{header:"Last ping",width:200,size:"sm",textAlign:"left",view:function(e){return e.lastPing?Ud()(e.lastPing).fromNow():"unknown"}},{header:"Software Version",width:200,size:"sm",textAlign:"left",view:function(e){return e.version||"unknown"}}],s=null!==(e=Jr.a(["machines"])(i))&&void 0!==e?e:[],u=$r.a(sa.a("deviceId",a))(s);return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:t.titleWrapper},r.a.createElement("div",{className:t.titleAndButtonsContainer},r.a.createElement(bt,null,"Machine Status")),r.a.createElement("div",{className:t.headerLabels},r.a.createElement("div",null,r.a.createElement(Ph,null),r.a.createElement("span",null,"Warning")),r.a.createElement("div",null,r.a.createElement(Rh,null),r.a.createElement("span",null,"Error")))),r.a.createElement(Hi,{elements:c,data:s,Details:function(e){var t=e.it;return r.a.createElement(tg,{it:t,onActionSuccess:o})},initialExpanded:u,expandable:!0}))},ig=r.a.createContext(),og=n(565),cg=n(534),sg=n(535),ug=og.a(cg.a(Number),sg.a(Fo.a(NaN))),dg=function(e){return ug(e)?e:null},mg=Object(f.a)({header:{display:"flex",alignItems:"center",marginBottom:16,height:26,margin:0},title:{flexShrink:2,margin:0,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},button:{border:"none",backgroundColor:"transparent",cursor:"pointer",marginLeft:8},editingButtons:{display:"flex",flexShrink:0,marginLeft:16,justifyContent:"space-between",width:110}}),fg=function(e){var t=e.title,n=e.editing,a=e.disabled,l=e.setEditing,i=mg();return r.a.createElement("div",{className:i.header},r.a.createElement(Xe,{className:i.title},t),!n&&r.a.createElement(kn,{onClick:function(){return l(!0)},className:i.button,disabled:a},a?r.a.createElement(nc,null):r.a.createElement(cc,null)),n&&r.a.createElement("div",{className:i.editingButtons},r.a.createElement(Bn,{color:"primary",type:"submit"},"Save"),r.a.createElement(Bn,{color:"secondary",type:"reset"},"Cancel")))},pg=Object(f.a)({text:{margin:[[7,0,7,1]]},fieldWrapper:{height:53},valueWrapper:{display:"flex",alignItems:"baseline"},label:{margin:0},decoration:{margin:[[0,0,0,7]]}}),hg=function(e){var t,n=e.label,a=e.name,l=e.editing,i=e.displayValue,o=e.decoration,c=e.className,s=e.decimalPlaces,u=void 0===s?0:s,d=e.width,m=void 0===d?80:d,f=pg({width:m,editing:l}),p=Object(Rt.e)().values,h=(t={},Object(E.a)(t,f.fieldWrapper,!0),Object(E.a)(t,"className",c),t);return r.a.createElement("div",{className:w()(h)},n&&r.a.createElement(ct,{className:f.label},n),r.a.createElement("div",{className:f.valueWrapper},!l&&r.a.createElement(nt,{className:f.text},i(p[a])),l&&r.a.createElement(Rt.b,{id:a,size:"lg",fullWidth:!0,name:a,component:Da,textAlign:"right",width:m,decimalPlaces:u}),r.a.createElement(ot,{className:f.decoration},o)))},bg=function(e){var t,n=e.title,l=e.label,i=e.width,c=void 0===i?80:i,s=e.min,u=void 0===s?0:s,d=e.max,m=void 0===d?9999999:d,f=e.name,p=e.section,h=e.className,b=Object(a.useState)(!1),g=Object(o.a)(b,2),v=g[0],y=g[1],O=function(){var e=Object(_r.a)(Zr.a.mark((function e(t,n){return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!v){e.next=2;break}return e.abrupt("return");case 2:return y(!0),e.next=5,x(t,n);case 5:y(!1);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),w=Object(a.useContext)(ig),x=w.save,j=w.data,C=w.currency,k=w.isEditing,S=w.isDisabled,N=w.setEditing,I=Yt.d().shape(Object(E.a)({},f,Yt.c().transform(dg).integer().min(u).max(m).nullable()));return r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:Object(E.a)({},f,null!==(t=j&&j[f])&&void 0!==t?t:""),validationSchema:I,onSubmit:function(e){return O(p,I.cast(e))},onReset:function(){N(f,!1)}},r.a.createElement(Rt.c,{className:h},r.a.createElement(Ro,null),r.a.createElement(fg,{title:n,editing:k(f),disabled:S(f),setEditing:function(e){return N(f,e)}}),r.a.createElement(hg,{label:l,name:f,editing:k(f),width:c,displayValue:function(e){return""===e?"-":e},decoration:C})))},gg="cryptoLowBalance",vg="cryptoHighBalance",yg=Object(f.a)({cryptoBalanceAlerts:{display:"flex",marginBottom:36,height:135,alignItems:"center"},cryptoBalanceAlertsForm:{width:222,marginRight:32},cryptoBalanceAlertsSecondForm:{marginLeft:50},vertSeparator:{width:1,height:"100%",borderRight:[[1,"solid","black"]]}}),Eg=function(e){var t=e.section,n=e.fieldWidth,l=yg(),i=Object(a.useContext)(ig),o=i.data,c=i.save,s=i.currency,u=i.setEditing,d=i.isEditing,m=i.isDisabled;return r.a.createElement("div",{className:l.cryptoBalanceAlerts},r.a.createElement(bg,{name:gg,data:o,save:c,section:t,decoration:s,className:l.cryptoBalanceAlertsForm,title:"Default (Low Balance)",label:"Alert me under",editing:d(gg),disabled:m(gg),setEditing:function(e){return u(gg,e)},width:n}),r.a.createElement("div",{className:l.vertSeparator}),r.a.createElement(bg,{name:vg,data:o,section:t,save:c,decoration:s,className:l.cryptoBalanceAlertsSecondForm,title:"Default (High Balance)",label:"Alert me over",editing:d(vg),disabled:m(vg),setEditing:function(e){return u(vg,e)},width:n}))},Og="highBalance",wg="lowBalance",xg="cryptoCurrency",jg="cryptoBalanceOverrides",Cg=function(e){var t,n,l,i=e.section,o=Object(a.useContext)(ig),c=o.cryptoCurrencies,s=void 0===c?[]:c,u=o.data,d=o.save,m=o.currency,f=o.isDisabled,p=o.setEditing,h=null!==(t=null===u||void 0===u?void 0:u.cryptoBalanceOverrides)&&void 0!==t?t:[],b=da.a(ua.a(xg))(h),g=Wr.a((function(e){return!qr.a(e.code,b)}))(s),v=(n={},Object(E.a)(n,xg,null),Object(E.a)(n,wg,""),Object(E.a)(n,Og,""),n),y=9999999,O=Yt.d().shape((l={},Object(E.a)(l,xg,Yt.e().label("Cryptocurrency").nullable().required()),Object(E.a)(l,wg,Yt.c().label("Low Balance").when(Og,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(y).nullable()),Object(E.a)(l,Og,Yt.c().label("High Balance").when(wg,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(y).nullable()),l),[wg,Og]),w=[{name:xg,header:"Cryptocurrency",width:166,size:"sm",view:function(e){return $t.a(Jr.a(["display"]),ca.a(sa.a("code",e)))(s)},input:Fa,inputProps:{options:function(e){return Rr.a(g,function(e){var t=$t.a(ca.a(sa.a("code",null===e||void 0===e?void 0:e.cryptoCurrency)))(s);return t?[t]:[]}(e))},optionsLimit:null,valueProp:"code",getLabel:Jr.a(["display"])}},{name:wg,width:155,textAlign:"right",bold:!0,input:Da,suffix:m,inputProps:{decimalPlaces:2}},{name:Og,width:155,textAlign:"right",bold:!0,input:Da,suffix:m,inputProps:{decimalPlaces:2}}];return r.a.createElement(xc,{name:jg,title:"Overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,save:function(e){return d(i,e)},initialValues:v,validationSchema:O,forceDisable:f(jg)||!s,data:h,elements:w,disableAdd:!(null===g||void 0===g?void 0:g.length),onDelete:function(e){var t={cryptoBalanceOverrides:Do.a((function(t){return t.id===e}),h)};return d(t)},setEditing:function(e){return p(jg,e)}})},kg=Object(f.a)({wrapper:{display:"flex"},form:{marginBottom:36},first:{width:236},title:{marginTop:0},row:{width:183,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gridTemplateRows:"1fr",gridColumnGap:18,gridRowGap:0},col2:{width:136}}),Sg="fiatBalanceAlerts",Ng=function(e){var t,n,l,i,o=e.section,c=e.min,s=void 0===c?0:c,u=e.max,d=void 0===u?Number.MAX_SAFE_INTEGER:u,m=e.fieldWidth,f=void 0===m?80:m,p=Object(a.useContext)(ig),h=p.isEditing,b=p.isDisabled,g=p.setEditing,v=p.data,y=p.save,E=kg(),O=h(Sg),w=Yt.d().shape({fiatBalanceCassette1:Yt.c().transform(dg).integer().min(s).max(d).nullable(),fiatBalanceCassette2:Yt.c().transform(dg).integer().min(s).max(d).nullable()}),x=100*(null!==(t=null===v||void 0===v?void 0:v.fiatBalanceCassette1)&&void 0!==t?t:0)/d,j=100*(null!==(n=null===v||void 0===v?void 0:v.fiatBalanceCassette2)&&void 0!==n?n:0)/d;return r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:{fiatBalanceCassette1:null!==(l=null===v||void 0===v?void 0:v.fiatBalanceCassette1)&&void 0!==l?l:"",fiatBalanceCassette2:null!==(i=null===v||void 0===v?void 0:v.fiatBalanceCassette2)&&void 0!==i?i:""},validationSchema:w,onSubmit:function(e){return y(o,w.cast(e))},onReset:function(){g(Sg,!1)}},r.a.createElement(Rt.c,{className:E.form},r.a.createElement(Ro,null),r.a.createElement(fg,{title:"Cash out (Empty)",editing:O,disabled:b(Sg),setEditing:function(e){return g(Sg,e)}}),r.a.createElement("div",{className:E.wrapper},r.a.createElement("div",{className:E.first},r.a.createElement("div",{className:E.row},r.a.createElement(Al,{percent:x,cashOut:!0}),r.a.createElement("div",{className:E.col2},r.a.createElement(ot,{className:E.title},"Cassette 1 (Top)"),r.a.createElement(hg,{label:"Alert me under",name:"fiatBalanceCassette1",editing:O,displayValue:function(e){return""===e?"-":e},decoration:"notes",width:f})))),r.a.createElement("div",{className:E.row},r.a.createElement(Al,{percent:j,cashOut:!0}),r.a.createElement("div",{className:E.col2},r.a.createElement(ot,{className:E.title},"Cassette 2 (Bottom)"),r.a.createElement(hg,{label:"Alert me under",name:"fiatBalanceCassette2",editing:O,displayValue:function(e){return""===e?"-":e},decoration:"notes",width:f}))))))},Ig="fiatBalanceCassette1",Lg="fiatBalanceCassette2",Bg="machine",Pg="fiatBalanceOverrides",Fg=function(e){var t,n,l,i=e.section,o=Object(a.useContext)(ig),c=o.machines,s=void 0===c?[]:c,u=o.data,d=o.save,m=o.isDisabled,f=o.setEditing,p=null!==(t=null===u||void 0===u?void 0:u.fiatBalanceOverrides)&&void 0!==t?t:[],h=da.a((function(e){return e.machine}),p),b=Wr.a((function(e){return!qr.a(e.deviceId,h)}))(s),g=(n={},Object(E.a)(n,Bg,null),Object(E.a)(n,Ig,""),Object(E.a)(n,Lg,""),n),v=9999999,y=Yt.d().shape((l={},Object(E.a)(l,Bg,Yt.e().label("Machine").nullable().required()),Object(E.a)(l,Ig,Yt.c().label("Cassette 1 (top)").when(Lg,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(v).nullable()),Object(E.a)(l,Lg,Yt.c().label("Cassette 1 (bottom)").when(Ig,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(v).nullable()),l),[Ig,Lg]),O=[{name:Bg,width:238,size:"sm",view:function(e){return $t.a(Jr.a(["name"]),ca.a(sa.a("deviceId",e)))(s)},input:Fa,inputProps:{options:function(e){return Rr.a(b,function(e){var t=$t.a(ca.a(sa.a("deviceId",null===e||void 0===e?void 0:e.machine)))(s);return t?[t]:[]}(e))},valueProp:"deviceId",getLabel:Jr.a(["name"])}},{name:Ig,display:"Cash-out 1",width:155,textAlign:"right",doubleHeader:"Cash-out (Cassette Empty)",bold:!0,input:Da,suffix:"notes",inputProps:{decimalPlaces:0}},{name:Lg,display:"Cash-out 2",width:155,textAlign:"right",doubleHeader:"Cash-out (Cassette Empty)",bold:!0,input:Da,suffix:"notes",inputProps:{decimalPlaces:0}}];return r.a.createElement(xc,{name:Pg,title:"Overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,save:function(e){return d(i,y.cast(e))},initialValues:g,validationSchema:y,forceDisable:m(Pg)||!s,data:p,elements:O,disableAdd:!(null===b||void 0===b?void 0:b.length),setEditing:function(e){return f(Pg,e)}})},Dg={balance:152,transactions:184,compliance:178,errors:142,active:263},Tg=mi.a(Vo.a(Dg))+129,Wg=function(e){var t=e.namespace,n=e.forceDisable,l=Object(a.useContext)(ig),i=l.data,o=l.save,c=$t.a(o(null),ai(t)),s=ni(t)(i),u=n||!s||!s.active,d=function(e){var t=e.name,n=e.disabled,a=!(!s||!s[t]);return r.a.createElement(ji,{width:Dg[t],textAlign:"center"},r.a.createElement(Pa,{disabled:n,checked:a,onChange:function(e){c(Object(E.a)({},t,e.target.checked))},value:a}))};return r.a.createElement(Si,null,r.a.createElement(ji,{width:129},wl(t)),r.a.createElement(d,{name:"balance",disabled:u}),r.a.createElement(d,{name:"transactions",disabled:u}),r.a.createElement(d,{name:"compliance",disabled:u}),r.a.createElement(d,{name:"errors",disabled:u}),r.a.createElement(d,{name:"active",disabled:n}))},Rg=Object(f.a)({mainTable:{width:Tg},wizardTable:{width:930}}),Ag=function(e){var t=e.wizard,n=e.forceDisable,a=t?20:0,l=Rg();return r.a.createElement(Ei,{className:t?l.wizardTable:l.mainTable},r.a.createElement(Oi,null,r.a.createElement(Ci,{width:129-a},"Channel"),Object.keys(Dg).map((function(e){return r.a.createElement(Ci,{key:e,width:Dg[e]-a,textAlign:"center"},wl(e))}))),r.a.createElement(xi,null,r.a.createElement(Wg,{namespace:"email",forceDisable:n}),r.a.createElement(Wg,{namespace:"sms",forceDisable:n})))},zg=function(e){var t=e.section,n=e.fieldWidth;return r.a.createElement(bg,{section:t,title:"High value transaction",label:"Alert me over",name:"highValueTransaction",width:n})};function Mg(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Mg=function(){return e},e}function qg(){var e=Object(Bt.a)(["\n query getData {\n config\n machines {\n name\n deviceId\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return qg=function(){return e},e}var $g=zt()(qg()),Hg=zt()(Mg()),Vg=function(e){var t=e.name,n=e.displaySetup,l=void 0===n||n,i=e.displayTransactionAlerts,c=void 0===i||i,s=e.displayFiatAlerts,u=void 0===s||s,d=e.displayCryptoAlerts,m=void 0===d||d,f=e.displayOverrides,p=void 0===f||f,h=e.displayTitle,b=void 0===h||h,g=e.wizard,v=void 0!==g&&g,y=Object(a.useState)(null),E=Object(o.a)(y,2),O=E[0],w=E[1],x=Object(a.useState)(null),j=Object(o.a)(x,2),C=j[0],k=j[1],S=Object(a.useState)(null),N=Object(o.a)(S,2),I=N[0],L=N[1],B=Object(Pt.c)($g).data,P=Object(Pt.b)(Hg,{refetchQueries:["getData"],onCompleted:function(){return L(null)},onError:function(e){return k({error:e})}}),F=Object(o.a)(P,1)[0],D=ni(t)(null===B||void 0===B?void 0:B.config),T=null===B||void 0===B?void 0:B.machines,W=null===B||void 0===B?void 0:B.cryptoCurrencies,R=Jr.a(["fiatCurrency"])(ni(_l)(null===B||void 0===B?void 0:B.config)),A={save:Ml.a((function(e,n){var a=ai(t)(n);return w(e),k(null),F({variables:{config:a}})})),error:C,editingKey:I,data:D,currency:R,isEditing:function(e){return I===e},isDisabled:function(e){return I&&I!==e},setEditing:function(e,t){t||k(null),L(t?e:null)},setSection:w,machines:T,cryptoCurrencies:W};return r.a.createElement(ig.Provider,{value:A},b&&r.a.createElement(vt,{title:"Notifications"}),l&&r.a.createElement(js,{title:"Setup",error:C&&!O},r.a.createElement(Ag,{forceDisable:!!I,wizard:v})),c&&r.a.createElement(js,{title:"Transaction alerts",error:C&&"tx"===O},r.a.createElement(zg,{section:"tx",fieldWidth:130})),u&&r.a.createElement(js,{title:"Fiat balance alerts",error:C&&"fiat"===O},r.a.createElement(Ng,{section:"fiat",max:500,fieldWidth:50}),p&&r.a.createElement(Fg,{section:"fiat"})),m&&r.a.createElement(js,{title:"Crypto balance alerts",error:C&&"crypto"===O},r.a.createElement(Eg,{section:"crypto",fieldWidth:130}),p&&r.a.createElement(Cg,{section:"crypto",fieldWidth:130})))},Yg={button:Ki.button,content:{display:"flex"},transparentButton:{"& > *":{margin:"auto 10px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},titleWrapper:{display:"flex",alignItems:"center",flex:"wrap"},rowWrapper:{display:"flex",alignItems:"center",justifyContent:"space-between"},rowTextAndSwitch:{display:"flex",flex:"wrap",alignItems:"center",justifyContent:"space-between",width:285},popoverContent:{width:272,padding:[[10,15]]}};function Gg(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Gg=function(){return e},e}function Zg(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return Zg=function(){return e},e}var _g=Object(f.a)(Yg),Ug=zt()(Zg()),Jg=zt()(Gg()),Kg=Object(a.memo)((function(e){var t=e.title,n=e.disabled,a=void 0!==n&&n,l=e.checked,i=e.save,o=e.label,c=_g();return r.a.createElement("div",{className:c.rowWrapper},r.a.createElement("div",{className:c.rowTextAndSwitch},r.a.createElement(tt,null,t),r.a.createElement(Pa,{disabled:a,checked:l,onChange:function(e){return i&&i(e.target.checked)}})),o&&r.a.createElement(st,null,o))})),Qg=Object(a.memo)((function(){var e=_g(),t=Object(Pt.c)(Ug).data,n=Object(Pt.b)(Jg,{refetchQueries:["getData"]}),a=Object(o.a)(n,1)[0],l=function(e){return a({variables:{config:ai(Kl,e)}})},i=(null===t||void 0===t?void 0:t.config)&&ni(Kl,t.config);return i?r.a.createElement("div",{className:e.content},r.a.createElement("div",null,r.a.createElement("div",{className:e.titleWrapper},r.a.createElement(Xe,null,"Coin ATM Radar share settings"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,"For details on configuring this panel, please read the relevant knowledgebase article"," ",r.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://support.lamassu.is/hc/en-us/articles/360023720472-Coin-ATM-Radar"},"here"),"."))),r.a.createElement(Kg,{title:"Share information?",checked:i.active,save:function(e){return l({active:e})},label:i.active?"Yes":"No"}),r.a.createElement(Xe,null,"Machine info"),r.a.createElement(Kg,{title:"Commissions",disabled:!i.active,checked:i.commissions,save:function(e){return l({commissions:e})}}),r.a.createElement(Kg,{title:"Limits and verification",disabled:!i.active,checked:i.limitsAndVerification,save:function(e){return l({limitsAndVerification:e})}}))):null})),Xg=n(343),ev=Be.p,tv=Object(Xg.a)({typography:{fontFamily:xe,body1:Object(c.a)({},ev)},MuiButtonBase:{disableRipple:!0},palette:{primary:{light:K,dark:K,main:K},secondary:{light:K,dark:K,main:K},background:{default:ee}},overrides:{MuiRadio:{colorSecondary:{color:K}},MuiAutocomplete:{root:{color:le},noOptions:{padding:[[6,16]]},option:{'&[data-focus="true"]':{backgroundColor:te}},paper:{color:le,margin:0},listbox:{padding:0},tag:{'&[data-tag-index="0"]':{marginLeft:0},margin:2,backgroundColor:te,borderRadius:4,height:18}},MuiChip:{label:{paddingLeft:4,paddingRight:4,color:le,fontSize:ve}},MuiInput:{root:{color:le},underline:{"&:before":{borderBottom:[[2,"solid",le]]}}},MuiInputLabel:{root:{font:"inherit",fontSize:be,color:ie},shrink:{color:le,transform:"translate(0, 1.7px) scale(0.83)"}},MuiFormLabel:{root:{"&$focused":{color:le}}}}}),nv=Be.p,av={header:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},transparentButton:{"& > *":{margin:"auto 12px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},section:{marginBottom:52},row:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:28,width:600,"&:last-child":{marginBottom:0}},switchRow:{display:"flex",alignItems:"center",marginBottom:28,width:600},switch:{display:"flex",alignItems:"center",marginLeft:120},submit:{justifyContent:"flex-start",alignItems:"center",height:19,padding:[[0,4,4,4]],"& > button":{marginRight:40}},singleButton:{marginTop:50,paddingLeft:0}},rv={infoMessage:{display:"flex",marginBottom:52,"& > p":{width:330,color:ie,marginTop:4,marginLeft:16}},radioButtonsRow:{height:60,marginBottom:14},radioButtons:{display:"flex",flexDirection:"row",paddingLeft:4},rowWrapper:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},transparentButton:{"& > *":{margin:"auto 12px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}}},lv={enable:{display:"flex",alignItems:"center",marginBottom:22-tv.spacing(1),"& > span:first-child":{extend:nv,marginRight:116-tv.spacing(1)},"& > span:last-child":{marginLeft:4}}};function iv(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return iv=function(){return e},e}function ov(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return ov=function(){return e},e}var cv={field:{position:"relative",width:280,height:48,padding:[[0,4,4,0]]},notEditing:{display:"flex",flexDirection:"column","& > p:first-child":{height:16,lineHeight:"16px",fontSize:ve,transformOrigin:"left",paddingLeft:0,margin:[[3,0,3,0]]},"& > p:last-child":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",margin:0}}},sv=Object(f.a)(cv),uv=function(e){var t,n=e.editing,a=e.field,l=e.displayValue,i=Object($e.a)(e,["editing","field","displayValue"]),o=sv(),c=(t={},Object(E.a)(t,o.field,!0),Object(E.a)(t,o.notEditing,!n),t);return r.a.createElement("div",{className:w()(c)},!n&&r.a.createElement(r.a.Fragment,null,r.a.createElement(ut,null,a.label),r.a.createElement(rt,null,l(a.value))),n&&r.a.createElement(Rt.b,Object.assign({id:a.name,name:a.name,component:a.component,placeholder:a.placeholder,type:a.type,label:a.label,width:280},i)))},dv=zt()(ov()),mv=zt()(iv()),fv=gn.a(av,rv),pv=Object(f.a)(fv),hv=function(e){var t,n,l,i,c=e.wizard,s=pv(),u=Object(a.useState)(c||!1),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(a.useState)(null),h=Object(o.a)(p,2),b=h[0],g=h[1],v=Object(Pt.b)(mv,{onCompleted:function(){return f(!1)},refetchQueries:function(){return["getData"]},onError:function(e){return g(e)}}),y=Object(o.a)(v,1)[0],E=Object(Pt.c)(dv).data,O=function(e){return y({variables:{config:ai(Gl,e)}})},x=(null===E||void 0===E?void 0:E.config)&&ni(Gl,E.config);if(!x)return null;var j=Yt.d().shape({active:Yt.b(),name:Yt.e(),phone:Yt.e(),email:Yt.e().email("Please enter a valid email address").required(),website:Yt.e(),companyNumber:Yt.e()}),C=[{name:"name",label:"Full name",value:null!==(t=x.name)&&void 0!==t?t:"",component:Ra},{name:"phone",label:"Phone number",value:x.phone,component:Ra},{name:"email",label:"Email",value:null!==(n=x.email)&&void 0!==n?n:"",component:Ra},{name:"website",label:"Website",value:null!==(l=x.website)&&void 0!==l?l:"",component:Ra},{name:"companyNumber",label:"Company number",value:null!==(i=x.companyNumber)&&void 0!==i?i:"",component:Ra}],k=function(e){return ca.a(sa.a("name",e))(C)},S=function(e){return k(e).value},N=function(e){return e},I={initialValues:{active:x.active,name:S("name"),phone:S("phone"),email:S("email"),website:S("website"),companyNumber:S("companyNumber")}};return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.rowWrapper},r.a.createElement(Xe,null,"Contact information")),r.a.createElement("div",{className:s.rowWrapper},r.a.createElement(tt,null,"Info card enabled?"),r.a.createElement("div",{className:s.switch},r.a.createElement(Pa,{checked:x.active,onChange:function(e){return O({active:e.target.checked})}}),r.a.createElement(st,null,x.active?"Yes":"No"))),r.a.createElement("div",{className:s.section},r.a.createElement("div",{className:s.rowWrapper},r.a.createElement(Xe,null,"Info card"),!m&&r.a.createElement(kn,{className:s.transparentButton,onClick:function(){return f(!0)}},r.a.createElement(cc,null))),r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:I.initialValues,validationSchema:j,onSubmit:function(e){return O(j.cast(e))},onReset:function(){f(!1),g(null)}},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),r.a.createElement("div",{className:s.row},r.a.createElement(uv,{field:k("name"),editing:m,displayValue:N,onFocus:function(){return g(null)}}),r.a.createElement(uv,{field:k("phone"),editing:m,displayValue:N,onFocus:function(){return g(null)}})),r.a.createElement("div",{className:s.row},r.a.createElement(uv,{field:k("email"),editing:m,displayValue:N,onFocus:function(){return g(null)}}),r.a.createElement(uv,{field:k("website"),editing:m,displayValue:N,onFocus:function(){return g(null)}})),r.a.createElement("div",{className:s.row},r.a.createElement(uv,{field:k("companyNumber"),editing:m,displayValue:N,onFocus:function(){return g(null)}})),r.a.createElement("div",{className:w()(s.row,s.submit)},m&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Bn,{color:"primary",type:"submit"},"Save"),r.a.createElement(Bn,{color:"secondary",type:"reset"},"Cancel"),b&&r.a.createElement(pt,{className:s.errorMessage},"Failed to save changes")))))),!c&&r.a.createElement("div",{className:w()(s.section,s.infoMessage)},r.a.createElement(Ja,null),r.a.createElement(ct,null,"Sharing your information with your customers through your machines allows them to contact you in case there's a problem with a machine in your network or a transaction.")))},bv=n(269),gv=n.n(bv);function vv(){return(vv=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ev=a.createElement("desc",null,"Created with Sketch."),Ov=a.createElement("g",{id:"icon/table/false",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"Group-4",stroke:"#FF584A",strokeWidth:4},a.createElement("line",{x1:13.5,y1:.5,x2:.995667,y2:13.004333,id:"Line-7"}),a.createElement("line",{x1:13.5,y1:.5,x2:.995667,y2:13.004333,id:"Line-7",transform:"translate(7.000000, 7.000000) scale(-1, 1) translate(-7.000000, -7.000000) "})));function wv(e,t){var n=e.title,r=e.titleId,l=yv(e,["title","titleId"]);return a.createElement("svg",vv({width:"14px",height:"14px",viewBox:"0 0 14 14",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ev,Ov)}var xv=a.forwardRef(wv);n.p;function jv(){return(jv=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var kv=a.createElement("desc",null,"Created with Sketch."),Sv=a.createElement("g",{id:"icon/table/true",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M4.17451294,13.3251347 L0.599425104,9.29667256 C-0.199808368,8.3960844 -0.199808368,6.94040225 0.599425104,6.03981409 C1.39865858,5.13922593 2.69051421,5.13922593 3.48974768,6.03981409 L5.61967423,8.439847 L12.5102523,0.675441122 C13.3094858,-0.225147041 14.6033855,-0.225147041 15.4005749,0.675441122 C16.1998084,1.57372599 16.1998084,3.03171143 15.4005749,3.93229959 L7.06483552,13.3251347 C6.66624082,13.7742771 6.14295752,14 5.61967423,14 C5.09639093,14 4.57310763,13.7742771 4.17451294,13.3251347 Z",id:"Fill-1",fill:"#48F694"}));function Nv(e,t){var n=e.title,r=e.titleId,l=Cv(e,["title","titleId"]);return a.createElement("svg",jv({width:"16px",height:"14px",viewBox:"0 0 16 14",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,kv,Sv)}var Iv=a.forwardRef(Nv),Lv=(n.p,{booleanPropertiesTableWrapper:{display:"flex",flexDirection:"column",width:396},tableRow:{display:"flex",alignItems:"center",justifyContent:"space-between","&:nth-child(even)":{backgroundColor:ee},"&:nth-child(odd)":{backgroundColor:Y},minHeight:32,height:"auto",padding:[[8,16,8,24]],boxShadow:"0 0 0 0 rgba(0, 0, 0, 0)"},leftTableCell:{display:"flex",alignItems:"center",justifyContent:"left",width:200,padding:[0]},rightTableCell:{display:"flex",alignItems:"center",justifyContent:"right",padding:[0]},transparentButton:{"& > *":{margin:"auto 12px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},rowWrapper:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},rightAligned:{marginLeft:"auto"},radioButtons:{display:"flex",flexDirection:"row",margin:[-15]},rightLink:{marginLeft:"20px"},fillColumn:Ki.fillColumn,popoverContent:{width:272,padding:[[10,15]]}}),Bv=Object(f.a)(Lv),Pv=function(e){var t=e.name;return"true"===Object(Rt.e)().values[t]?r.a.createElement(Iv,null):r.a.createElement(xv,null)},Fv=Object(a.memo)((function(e){var t=e.title,n=e.disabled,l=e.data,i=e.elements,c=e.save,s=e.forcedEditing,u=void 0!==s&&s,d=gv.a.fromPairs(i.map((function(e){return[e.name,""]}))),m=gv.a.fromPairs(i.map((function(e){return[e.name,Yt.b().required()]}))),f=Object(a.useState)(u),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Bv(),v=function(){var e=Object(_r.a)(Zr.a.mark((function e(t){return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c(t),b(!1);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),y=[{display:"Yes",code:"true"},{display:"No",code:"false"}];return r.a.createElement("div",{className:g.booleanPropertiesTableWrapper},r.a.createElement(Rt.d,{enableReinitialize:!0,onSubmit:v,initialValues:l||d,schemaValidation:m},r.a.createElement(Rt.c,null,r.a.createElement("div",{className:g.rowWrapper},r.a.createElement(Xe,null,t),h?r.a.createElement("div",{className:g.rightAligned},r.a.createElement(Bn,{type:"submit",color:"primary"},"Save"),r.a.createElement(Bn,{className:g.rightLink,onClick:function(){return b(!1)},color:"secondary"},"Cancel")):r.a.createElement(kn,{className:g.transparentButton,onClick:function(){return b(!0)}},n?r.a.createElement(nc,null):r.a.createElement(cc,null))),r.a.createElement(Ro,null),r.a.createElement(th,{className:g.fillColumn},r.a.createElement(nh,{className:g.fillColumn},i.map((function(e,t){return r.a.createElement(mh,{key:t,size:"sm",className:g.tableRow},r.a.createElement(rh,{className:g.leftTableCell},e.display),r.a.createElement(rh,{className:g.rightTableCell},h&&r.a.createElement(Rt.b,{component:Ta,name:e.name,options:y,className:w()(g.radioButtons,g.rightTableCell)}),!h&&r.a.createElement(Pv,{name:e.name})))})))))))}));function Dv(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Dv=function(){return e},e}function Tv(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return Tv=function(){return e},e}var Wv=Object(f.a)({rowWrapper:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},switchWrapper:{display:"flex",marginLeft:120}}),Rv=zt()(Tv()),Av=zt()(Dv()),zv=Object(a.memo)((function(e){var t=e.wizard,n=Wv(),a=Object(Pt.c)(Rv).data,l=Object(Pt.b)(Av,{refetchQueries:function(){return["getData"]}}),i=Object(o.a)(l,1)[0],c=(null===a||void 0===a?void 0:a.config)&&ni(Jl,a.config);return c?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:n.rowWrapper},r.a.createElement(Xe,null,"Receipt options")),r.a.createElement("div",{className:n.rowWrapper},r.a.createElement(tt,null,"Enable receipt printing?"),r.a.createElement("div",{className:n.switchWrapper},r.a.createElement(Pa,{checked:c.active,onChange:function(e){return i({variables:{config:ai(Jl,gn.a(c,{active:e.target.checked}))}})}})),r.a.createElement(st,null,c.active?"Yes":"No")),r.a.createElement(Fv,{editing:t,title:"Visible on the receipt (options)",data:c,elements:[{name:"operatorWebsite",display:"Operator website"},{name:"operatorEmail",display:"Operator email"},{name:"operatorPhone",display:"Operator phone"},{name:"companyNumber",display:"Company number"},{name:"machineLocation",display:"Machine location"},{name:"customerNameOrPhoneNumber",display:"Customer name or phone number (if known)"},{name:"exchangeRate",display:"Exchange rate"},{name:"addressQRCode",display:"Address QR code"}],save:function(e){return i({variables:{config:ai(Jl,e)}})}})):null}));function Mv(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Mv=function(){return e},e}function qv(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return qv=function(){return e},e}var $v=Object(f.a)({field:{position:"relative",width:280,padding:[[0,4,4,0]]},notEditing:{display:"flex",flexDirection:"column"},notEditingSingleLine:{"& > p:first-child":{height:16,lineHeight:"16px",transform:"scale(0.75)",transformOrigin:"left",paddingLeft:0,margin:[[1,0,6,0]]},"& > p:last-child":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",height:25,margin:0}},notEditingMultiline:{"& > p:first-child":{height:16,lineHeight:"16px",transform:"scale(0.75)",transformOrigin:"left",paddingLeft:0,margin:[[1,0,5,0]]},"& > p:last-child":{width:502,height:121,overflowY:"auto",lineHeight:"19px",wordWrap:"anywhere",margin:0}}}),Hv=function(e){var t,n=e.editing,a=e.name,l=e.width,i=e.placeholder,o=e.label,c=e.value,s=e.multiline,u=void 0!==s&&s,d=e.rows,m=e.onFocus,f=Object($e.a)(e,["editing","name","width","placeholder","label","value","multiline","rows","onFocus"]),p=$v(),h=(t={},Object(E.a)(t,p.field,!0),Object(E.a)(t,p.notEditing,!n),Object(E.a)(t,p.notEditingSingleLine,!n&&!u),Object(E.a)(t,p.notEditingMultiline,!n&&u),t);return r.a.createElement("div",{className:w()(h)},!n&&r.a.createElement(r.a.Fragment,null,r.a.createElement(ut,null,o),r.a.createElement(rt,{className:p.multiLineText},c)),n&&r.a.createElement(Rt.b,Object.assign({id:a,name:a,component:Ra,width:l,placeholder:i,type:"text",label:o,multiline:u,rows:d,rowsMax:"6",onFocus:m},f)))},Vv=zt()(qv()),Yv=zt()(Mv()),Gv=gn.a(av,lv),Zv=Object(f.a)(Gv),_v=function(){var e,t,n,l,i,c=Object(a.useState)(null),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(!1),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(Pt.b)(Yv,{onCompleted:function(){d(null),h(!1)},refetchQueries:function(){return["getData"]},onError:function(e){return d(e)}}),g=Object(o.a)(b,1)[0],v=Zv(),y=Object(Pt.c)(Vv).data,E=(null===y||void 0===y?void 0:y.config)&&ni(Ql,y.config),O=null!==E&&void 0!==E?E:{},x=null!==(e=null===E||void 0===E?void 0:E.active)&&void 0!==e&&e,j=function(e){return g({variables:{config:ai(Ql,e)}})},C=[{name:"title",label:"Screen title",value:null!==(t=O.title)&&void 0!==t?t:"",width:282},{name:"text",label:"Text content",value:null!==(n=O.text)&&void 0!==n?n:"",width:502,multiline:!0,rows:6},{name:"acceptButtonText",label:"Accept button text",value:null!==(l=O.acceptButtonText)&&void 0!==l?l:"",placeholder:"I accept",width:282},{name:"cancelButtonText",label:"Cancel button text",value:null!==(i=O.cancelButtonText)&&void 0!==i?i:"",placeholder:"Cancel",width:282}],k=function(e){return function(e){return ca.a(sa.a("name",e))(C)}(e).value},S={title:k("title"),text:k("text"),acceptButtonText:k("acceptButtonText"),cancelButtonText:k("cancelButtonText")},N=Yt.d().shape({title:Yt.e().required().max(50,"Too long"),text:Yt.e().required(),acceptButtonText:Yt.e().required().max(50,"Too long"),cancelButtonText:Yt.e().required().max(50,"Too long")});return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:v.rowWrapper},r.a.createElement(Xe,null,"Terms & Conditions")),r.a.createElement("div",{className:v.section},r.a.createElement("div",{className:v.enable},r.a.createElement("span",null,"Show on screen"),r.a.createElement(Pa,{checked:x,onChange:function(e){return j({active:e.target.checked})}}),r.a.createElement(st,null,x?"Yes":"No")),r.a.createElement("div",{className:v.header},r.a.createElement(at,null,"Info card"),!p&&r.a.createElement(kn,{className:v.transparentButton,onClick:function(){return h(!0)}},r.a.createElement(cc,null))),r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:S,validationSchema:N,onSubmit:function(e){return j(e)},onReset:function(){h(!1),d(null)}},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),C.map((function(e,t){return r.a.createElement("div",{className:v.row,key:t},r.a.createElement(Hv,{editing:p,name:e.name,width:e.width,placeholder:e.placeholder,label:e.label,value:e.value,multiline:e.multiline,rows:e.rows,onFocus:function(){return d(null)}}))})),r.a.createElement("div",{className:w()(v.row,v.submit)},p&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Bn,{color:"primary",type:"submit"},"Save"),r.a.createElement(Bn,{color:"secondary",type:"reset"},"Cancel"),u&&r.a.createElement(pt,{className:v.errorMessage},"Failed to save changes")))))))},Uv={running:X,notRunning:"#ffeceb"},Jv={running:"#ecfbef",notRunning:se},Kv={uptimeContainer:{display:"inline-block",minWidth:104,margin:[[0,20]]},name:{extend:Be.label1,paddingLeft:4,color:ie}},Qv=Object(f.a)(Kv),Xv=Object(f.a)({root:{borderRadius:4,marginTop:4,marginRight:2,marginBottom:4,marginLeft:2,height:24,backgroundColor:function(e){var t=e.type;return Jv[t]}},label:{fontSize:ye,fontWeight:500,fontFamily:xe,padding:[[4,8]],color:function(e){var t=e.type;return Uv[t]}}}),ey=function(e){var t,n=e.process,a=(Object($e.a)(e,["process"]),Qv());return r.a.createElement("div",{className:a.uptimeContainer},r.a.createElement("div",{className:a.name},li.a(n.name)),r.a.createElement(Nl.a,{label:"RUNNING"===n.state?"Running for ".concat((t=n.uptime,t<60?"".concat(t,"s"):t<3600?"".concat(Math.floor(t/60),"m"):t<86400?"".concat(Math.floor(t/60/60),"h"):"".concat(Math.floor(t/60/60/24),"d"))):El(n.state),classes:Xv({type:"RUNNING"===n.state?"running":"notRunning"})}))};function ty(){var e=Object(Bt.a)(["\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverVersion\n uptime {\n name\n state\n uptime\n }\n serverLogs(limit: $limit, from: $from, until: $until) {\n logLevel\n id\n timestamp\n message\n }\n }\n"]);return ty=function(){return e},e}function ny(){var e=Object(Bt.a)(["\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverLogsCsv(limit: $limit, from: $from, until: $until)\n }\n"]);return ny=function(){return e},e}var ay={serverTableWrapper:{extend:Ki.tableWrapper,maxWidth:"100%",marginLeft:0},serverVersion:{extend:Be.p,color:ie,margin:"auto 0 auto 0"},headerLine2:{display:"flex",justifyContent:"space-between",marginBottom:24},uptimeContainer:{margin:"auto 0 auto 0"}},ry=gn.a(Ki,ay),ly=Object(f.a)(ry),iy="Show all",oy=zt()(ny()),cy=zt()(ty()),sy=function(){var e,t=ly(),n=Object(a.useRef)(),l=Object(a.useState)(null),i=Object(o.a)(l,2),c=i[0],s=i[1],u=Object(a.useState)(iy),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(Pt.c)(cy,{onCompleted:function(){return s("")},variables:{limit:500}}).data,h=null===p||void 0===p?void 0:p.serverVersion,b=null!==(e=null===p||void 0===p?void 0:p.uptime)&&void 0!==e?e:[],g=$t.a(Po.a(iy),Ns.a,Rr.a(["error","info","debug"]),da.a(Jr.a(["logLevel"])),Jr.a(["serverLogs"]));return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:t.titleWrapper},r.a.createElement("div",{className:t.titleAndButtonsContainer},r.a.createElement(bt,null,"Server"),p&&r.a.createElement("div",{className:t.buttonsWrapper},r.a.createElement(Xp,{title:"Download logs",name:"server-logs",query:oy,logs:p.serverLogs,getLogs:function(e){return Jr.a(["serverLogsCsv"])(e)}}),r.a.createElement(rt,null,c))),r.a.createElement("div",{className:t.serverVersion},h&&r.a.createElement("span",null,"Server version: v",h))),r.a.createElement("div",{className:t.headerLine2},p&&r.a.createElement(Sl,{onSelectedItemChange:function(e){n.current&&n.current.scrollTo(0,0),f(e)},label:"Level",items:g(p),default:iy,selectedItem:m}),r.a.createElement("div",{className:t.uptimeContainer},b&&b.map((function(e,t){return r.a.createElement(ey,{key:t,process:e})})))),r.a.createElement("div",{className:t.wrapper},r.a.createElement("div",{ref:n,className:t.serverTableWrapper},r.a.createElement(th,{className:t.table},r.a.createElement(lh,null,r.a.createElement(mh,{header:!0},r.a.createElement(ch,{className:t.dateColumn},"Date"),r.a.createElement(ch,{className:t.levelColumn},"Level"),r.a.createElement(ch,{className:t.fillColumn}))),r.a.createElement(nh,null,p&&p.serverLogs.filter((function(e){return m===iy||e.logLevel===m})).map((function(e,t){return r.a.createElement(mh,{key:t,size:"sm"},r.a.createElement(rh,null,(n=e.timestamp,Ud()(n).format("YYYY-MM-DD HH:mm"))),r.a.createElement(rh,null,e.logLevel),r.a.createElement(rh,null,e.message));var n})))))))};function uy(){return(uy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var my=a.createElement("desc",null,"Created with Sketch."),fy=a.createElement("g",{id:"icon/action/edit/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18",id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("polygon",{id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2,points:"6 12 17 1 21 5 10 16 6 16"}));function py(e,t){var n=e.title,r=e.titleId,l=dy(e,["title","titleId"]);return a.createElement("svg",uy({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,my,fy)}var hy=a.forwardRef(py),by=(n.p,{tr:function(e){return{margin:0,height:e.height}},table:function(e){return{width:e.width}},head:{display:"flex",flex:1,justifyContent:"space-between",alignItems:"center",paddingRight:12},button:{marginBottom:1},itemWrapper:{display:"flex",flexDirection:"column",marginTop:16,minHeight:35},label:{extend:Be.label1,color:ie,marginBottom:4},item:{extend:Be.p,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}),gy=Object(f.a)(by),vy=function(e){var t=e.width,n=void 0===t?378:t,a=e.height,l=void 0===a?128:a,i=e.title,o=e.items,c=e.onEdit,s=e.className,u=gy({width:n,height:l});return r.a.createElement(r.a.Fragment,null,r.a.createElement(Ei,{className:w()(s,u.table)},r.a.createElement(Oi,null,r.a.createElement(Ci,{className:u.head},i,r.a.createElement(kn,{onClick:c,className:u.button},r.a.createElement(hy,null)))),r.a.createElement(xi,null,r.a.createElement(Si,{className:u.tr},r.a.createElement(ji,{width:n},o&&r.a.createElement(r.a.Fragment,null,o[0]&&r.a.createElement("div",{className:u.itemWrapper},r.a.createElement("div",{className:u.label},o[0].label),r.a.createElement("div",{className:u.item},o[0].value)),o[1]&&r.a.createElement("div",{className:u.itemWrapper},r.a.createElement("div",{className:u.label},o[1].label),r.a.createElement("div",{className:u.item},o[1].value))))))))};function yy(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return yy=function(){return e},e}function Ey(){var e=Object(Bt.a)(["\n query getData {\n accounts\n }\n"]);return Ey=function(){return e},e}var Oy=zt()(Ey()),wy=zt()(yy()),xy=Object(f.a)({wrapper:{marginLeft:1}}),jy=function(){var e,t=Object(a.useState)(null),n=Object(o.a)(t,2),l=n[0],i=n[1],c=Object(Pt.c)(Oy).data,s=Object(Pt.b)(wy,{onCompleted:function(){return i(null)},refetchQueries:["getData"]}),u=Object(o.a)(s,1)[0],m=xy(),f=null!==(e=null===c||void 0===c?void 0:c.accounts)&&void 0!==e?e:{},p=function(e,t){var n=Wr.a(ua.a("face"))(t),a=f[e]||{};return da.a((function(e){var t,n=e.display,r=e.code;return{label:n,value:e.long?(t=a[r],!t||t.length<=20?t:"".concat(t.slice(0,8),"(...)").concat(t.slice(t.length-8,t.length))):a[r]}}))(n)};return r.a.createElement("div",{className:m.wrapper},r.a.createElement(vt,{title:"3rd Party Services"}),r.a.createElement(d.a,{container:!0,spacing:4},Vo.a(Mm).map((function(e){return r.a.createElement(d.a,{item:!0,key:e.code},r.a.createElement(vy,{editMessage:"Configure "+e.title,title:e.title,onEdit:function(){return i(e)},items:p(e.code,e.elements)}))}))),l&&r.a.createElement(ci,{title:"Edit ".concat(l.name),width:478,handleClose:function(){return i(null)},open:!0},r.a.createElement(If,{save:function(e){return u({variables:{accounts:Object(E.a)({},l.code,e)}})},elements:l.elements,validationSchema:l.validationSchema,value:f[l.code]})))},Cy=n(536),ky=n(537),Sy=n(566);function Ny(){return(Ny=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ly=a.createElement("desc",null,"Created with Sketch."),By=a.createElement("g",{id:"icon/ID/card/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("polygon",{id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:1.6,points:"0 16 22 16 22 0 0 0"}),a.createElement("line",{x1:11.7857143,y1:4,x2:18.8571429,y2:4,id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:1.6}),a.createElement("line",{x1:11.7857143,y1:7.2,x2:18.8571429,y2:7.2,id:"Stroke-4",stroke:"#FFFFFF",strokeWidth:1.6}),a.createElement("polygon",{id:"Stroke-5",stroke:"#FFFFFF",strokeWidth:1.6,points:"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4"}));function Py(e,t){var n=e.title,r=e.titleId,l=Iy(e,["title","titleId"]);return a.createElement("svg",Ny({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ly,By)}var Fy=a.forwardRef(Py);n.p;function Dy(){return(Dy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Wy=a.createElement("desc",null,"Created with Sketch."),Ry=a.createElement("g",{id:"icon/ID/phone/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z",id:"Stroke-1-Copy",stroke:"#FFFFFF",strokeWidth:1.6}));function Ay(e,t){var n=e.title,r=e.titleId,l=Ty(e,["title","titleId"]);return a.createElement("svg",Dy({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Wy,Ry)}var zy=a.forwardRef(Ay);n.p;function My(){return(My=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var $y=a.createElement("desc",null,"Created with Sketch."),Hy=a.createElement("g",{id:"icon/ID/phone/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z",id:"Stroke-1-Copy",stroke:"#1B2559",strokeWidth:1.6}));function Vy(e,t){var n=e.title,r=e.titleId,l=qy(e,["title","titleId"]);return a.createElement("svg",My({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,$y,Hy)}var Yy=a.forwardRef(Vy);n.p;function Gy(){return(Gy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var _y=a.createElement("desc",null,"Created with Sketch."),Uy=a.createElement("g",{id:"icon/ID/photo/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z",id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:1.6}));function Jy(e,t){var n=e.title,r=e.titleId,l=Zy(e,["title","titleId"]);return a.createElement("svg",Gy({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,_y,Uy)}var Ky=a.forwardRef(Jy);n.p;function Qy(){return(Qy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var eE=a.createElement("desc",null,"Created with Sketch."),tE=a.createElement("g",{id:"icon/ID/photo/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z",id:"Stroke-1",stroke:"#1B2559",strokeWidth:1.6}));function nE(e,t){var n=e.title,r=e.titleId,l=Xy(e,["title","titleId"]);return a.createElement("svg",Qy({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,eE,tE)}var aE=a.forwardRef(nE),rE=(n.p,{wrapper:{display:"flex",flexDirection:"column",marginTop:24},row:{display:"flex",flexDirection:"row",marginBottom:36},secondRow:{display:"flex",flexDirection:"row",justifyContent:"space-between",marginBottom:36},lastRow:{display:"flex",flexDirection:"row",marginBottom:32},label:{color:ie,margin:[[0,0,6,0]]},txIcon:{marginRight:10},popover:{height:164,width:215},idButton:{marginRight:4},idCardDataCard:{extend:Be.p,display:"flex",padding:[[11,8]],"& > div":{display:"flex",flexDirection:"column","& > div":{width:144,height:37,marginBottom:15,"&:last-child":{marginBottom:0}}}},bold:{fontWeight:700},direction:{width:233},availableIds:{width:232},exchangeRate:{width:250},commission:{width:217},address:{width:280},transactionId:{width:280},sessionId:{width:215}}),lE=function(e){return"cashOut"===e.txClass?function(e){return e.hasError?"Error":e.dispense?"Success":e.expired?"Expired":"Pending"}(e):function(e){return e.operatorCompleted?"Cancelled":e.hasError?"Error":e.sendConfirmed?"Sent":e.expired?"Expired":"Pending"}(e)},iE=Object(f.a)(rE),oE=function(e){var t=e.children,n=iE();return r.a.createElement(ct,{className:n.label},t)},cE=function(e){var t=e.it,n=iE(),a=Number.parseFloat(t.fiat),l=tm(new Xd.a(t.cryptoAtoms),t.cryptoCode),i=Number.parseFloat(t.commissionPercentage,2),o=Number(a*i).toFixed(2),c=Number(a/l).toFixed(3),s="1 ".concat(t.cryptoCode," = ").concat(c," ").concat(t.fiatCode),u=t.customerIdCardData&&{name:"".concat(El(t.customerIdCardData.firstName)," ").concat(El(t.customerIdCardData.lastName)),age:Ud()().diff(Ud()(t.customerIdCardData.dateOfBirth),"years"),country:t.customerIdCardData.country,idCardNumber:t.customerIdCardData.documentNumber,idCardExpirationDate:Ud()(t.customerIdCardData.expirationDate).format("DD-MM-YYYY")};return r.a.createElement("div",{className:n.wrapper},r.a.createElement("div",{className:n.row},r.a.createElement("div",{className:n.direction},r.a.createElement(oE,null,"Direction"),r.a.createElement("div",null,r.a.createElement("span",{className:n.txIcon},"cashOut"===t.txClass?r.a.createElement(Bc,null):r.a.createElement(Ws,null)),r.a.createElement("span",null,"cashOut"===t.txClass?"Cash-out":"Cash-in"))),r.a.createElement("div",{className:n.availableIds},r.a.createElement(oE,null,"Available IDs"),r.a.createElement(qe.a,{display:"flex",flexDirection:"row"},t.customerPhone&&r.a.createElement(xn,{className:n.idButton,name:"phone",Icon:Yy,InverseIcon:zy},t.customerPhone),t.customerIdCardPhotoPath&&!t.customerIdCardData&&r.a.createElement(xn,{popoverClassname:n.popover,className:n.idButton,name:"card",Icon:Nd,InverseIcon:Fy},r.a.createElement("img",{className:n.idCardPhoto,src:"".concat(Ct,"/id-card-photo/").concat(t.customerIdCardPhotoPath),alt:""})),t.customerIdCardData&&r.a.createElement(xn,{className:n.idButton,name:"card",Icon:Nd,InverseIcon:Fy},r.a.createElement("div",{className:n.idCardDataCard},r.a.createElement("div",null,r.a.createElement("div",null,r.a.createElement(oE,null,"Name"),r.a.createElement("div",null,u.name)),r.a.createElement("div",null,r.a.createElement(oE,null,"Age"),r.a.createElement("div",null,u.age)),r.a.createElement("div",null,r.a.createElement(oE,null,"Country"),r.a.createElement("div",null,u.country))),r.a.createElement("div",null,r.a.createElement("div",null,r.a.createElement(oE,null,"ID number"),r.a.createElement("div",null,u.idCardNumber)),r.a.createElement("div",null,r.a.createElement(oE,null,"Expiration date"),r.a.createElement("div",null,u.idCardExpirationDate))))),t.customerFrontCameraPath&&r.a.createElement(xn,{name:"cam",Icon:aE,InverseIcon:Ky},r.a.createElement("img",{src:"".concat(Ct,"/front-camera-photo/").concat(t.customerFrontCameraPath),alt:""})))),r.a.createElement("div",{className:n.exchangeRate},r.a.createElement(oE,null,"Exchange rate"),r.a.createElement("div",null,l>0?s:"-")),r.a.createElement("div",{className:n.commission},r.a.createElement(oE,null,"Commission"),r.a.createElement("div",null,"".concat(o," ").concat(t.fiatCode," (").concat(100*i," %)"))),r.a.createElement("div",null,r.a.createElement(oE,null,"Fixed fee"),r.a.createElement("div",null,"cashIn"===t.txClass?"".concat(Number.parseFloat(t.cashInFee)," ").concat(t.fiatCode):"N/A"))),r.a.createElement("div",{className:n.secondRow},r.a.createElement("div",{className:n.address},r.a.createElement(oE,null,"Address"),r.a.createElement("div",null,r.a.createElement(ro,null,function(){return nm(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").replace(/(.{5})/g,"$1 ")}(t.cryptoCode,t.toAddress)))),r.a.createElement("div",{className:n.transactionId},r.a.createElement(oE,null,"Transaction ID"),r.a.createElement("div",null,"cashOut"===t.txClass?"N/A":r.a.createElement(ro,null,t.txHash))),r.a.createElement("div",{className:n.sessionId},r.a.createElement(oE,null,"Session ID"),r.a.createElement(ro,null,t.id))),r.a.createElement("div",{className:n.lastRow},r.a.createElement("div",null,r.a.createElement(oE,null,"Transaction status"),r.a.createElement("span",{className:n.bold},lE(t)))))},sE=Object(a.memo)(cE,(function(e,t){return e.id===t.id}));function uE(){var e=Object(Bt.a)(["\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactions(limit: $limit, from: $from, until: $until) {\n id\n txClass\n txHash\n toAddress\n commissionPercentage\n expired\n machineName\n operatorCompleted\n sendConfirmed\n dispense\n hasError: error\n deviceId\n fiat\n cashInFee\n fiatCode\n cryptoAtoms\n cryptoCode\n toAddress\n created\n customerName\n customerIdCardData\n customerIdCardPhotoPath\n customerFrontCameraPath\n customerPhone\n }\n }\n"]);return uE=function(){return e},e}function dE(){var e=Object(Bt.a)(["\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactionsCsv(limit: $limit, from: $from, until: $until)\n }\n"]);return dE=function(){return e},e}var mE=Object(f.a)(no),fE=zt()(dE()),pE=zt()(uE()),hE=function(){var e=mE(),t=Object(Pt.c)(pE,{variables:{limit:1e3}}),n=t.data,a=t.loading,l=[{header:"",width:62,size:"sm",view:function(e){return"cashOut"===e.txClass?r.a.createElement(Bc,null):r.a.createElement(Ws,null)}},{header:"Machine",name:"machineName",width:180,size:"sm",view:Jr.a(["machineName"])},{header:"Customer",width:162,size:"sm",view:function(e){return e.customerName?e.customerName:e.customerIdCardData?function(e){var t=e.firstName,n=e.lastName;return"".concat(Cy.a(ky.a,Sy.a)(t),". ").concat(n)}(e.customerIdCardData):e.customerPhone}},{header:"Cash",width:144,textAlign:"right",size:"sm",view:function(e){return"".concat(Number.parseFloat(e.fiat)," ").concat(e.fiatCode)}},{header:"Crypto",width:144,textAlign:"right",size:"sm",view:function(e){return"".concat(tm(new Xd.a(e.cryptoAtoms),e.cryptoCode).toFormat(5)," ").concat(e.cryptoCode)}},{header:"Address",view:function(e){return nm(e.cryptoCode,e.toAddress)},className:e.overflowTd,size:"sm",width:140},{header:"Date (UTC)",view:function(e){return Ud.a.utc(e.created).format("YYYY-MM-DD HH:mm:ss")},textAlign:"right",size:"sm",width:200},{header:"Status",view:function(e){return lE(e)},size:"sm",width:80}];return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:e.titleWrapper},r.a.createElement("div",{className:e.titleAndButtonsContainer},r.a.createElement(bt,null,"Transactions"),n&&r.a.createElement("div",{className:e.buttonsWrapper},r.a.createElement(Xp,{title:"Download logs",name:"transactions",query:fE,getLogs:function(e){return Jr.a(["transactionsCsv"])(e)}}))),r.a.createElement("div",{className:e.headerLabels},r.a.createElement("div",null,r.a.createElement(Bc,null),r.a.createElement("span",null,"Cash-out")),r.a.createElement("div",null,r.a.createElement(Ws,null),r.a.createElement("span",null,"Cash-in")))),r.a.createElement(Hi,{loading:a,emptyText:"No transactions so far",elements:l,data:Jr.a(["transactions"])(n),Details:sE,expandable:!0}))},bE=n(538),gE=Object(f.a)({radioLabel:{height:40,padding:[[0,10]]},radio:{padding:4,margin:4},radioGroup:{flexDirection:"row"},error:{color:se},specialLabel:{height:40,padding:0},specialGrid:{display:"grid",gridTemplateColumns:[[182,162,141]]},directionIcon:{marginRight:2},directionName:{marginLeft:6},thresholdWrapper:{display:"flex"},thresholdField:{margin:10,width:208},space:{marginLeft:6,marginRight:6},lastSpace:{marginLeft:6},suspensionDays:{width:34},input:{marginTop:-2},limitedInput:{width:50},daysInput:{width:60}}),vE=Yt.e().required(),yE=Yt.d().shape({threshold:Yt.c(),thresholdDays:Yt.c().test({test:function(e){var t=this.parent.triggerType;return!pa.a(e)||!ks.a(t,["txVolume","txVelocity"])||this.createError()}})}),EE=Yt.d().shape({requirement:Yt.e().required(),suspensionDays:Yt.c().when("requirement",{is:"suspend",then:Yt.c().required(),otherwise:Yt.c().nullable().transform((function(){return null}))})}),OE=Yt.d().shape({triggerType:vE,requirement:EE,threshold:yE}),wE=Yt.d().shape({triggerType:vE,threshold:yE}),xE=[{display:"Transaction amount",code:"txAmount"},{display:"Transaction volume",code:"txVolume"},{display:"Transaction velocity",code:"txVelocity"},{display:"Consecutive days",code:"consecutiveDays"}],jE={schema:wE,options:xE,Component:function(){var e=gE(),t=Object(Rt.e)(),n=t.errors,a=t.touched,l=t.values,i=Object(E.a)({},e.error,n.triggerType&&a.triggerType),o=qr.a(null===l||void 0===l?void 0:l.triggerType),c=o(["txAmount","txVolume","txVelocity"]),s=o(["txVolume","txVelocity","consecutiveDays"]);return r.a.createElement(r.a.Fragment,null,r.a.createElement(qe.a,{display:"flex",alignItems:"center"},r.a.createElement(Xe,{className:w()(i)},"Choose trigger type")),r.a.createElement(Rt.b,{component:Ta,name:"triggerType",options:xE,labelClassName:e.radioLabel,radioClassName:e.radio,className:e.radioGroup}),r.a.createElement("div",{className:e.thresholdWrapper},c&&r.a.createElement(Rt.b,{className:e.thresholdField,component:Ra,label:"Threshold",size:"lg",name:"threshold.threshold"}),s&&r.a.createElement(Rt.b,{className:e.thresholdField,component:Ra,label:"Threshold Days",size:"lg",name:"threshold.thresholdDays"})))},initialValues:{triggerType:"",threshold:""}},CE=Yt.d().shape({requirement:EE}),kE=[{display:"SMS verification",code:"sms"},{display:"ID card image",code:"idCardPhoto"},{display:"ID data",code:"idCardData"},{display:"Customer camera",code:"facephoto"},{display:"Sanctions",code:"sanctions"},{display:"US SSN",code:"usSsn"},{display:"Suspend",code:"suspend"},{display:"Block",code:"block"}],SE={schema:CE,options:kE,Component:function(){var e,t=gE(),n=Object(Rt.e)(),a=n.errors,l=n.values,i=Object(E.a)({},t.error,a.requirement),o="suspend"===(null===l||void 0===l||null===(e=l.requirement)||void 0===e?void 0:e.requirement);return r.a.createElement(r.a.Fragment,null,r.a.createElement(qe.a,{display:"flex",alignItems:"center"},r.a.createElement(Xe,{className:w()(i)},"Choose a requirement")),r.a.createElement(Rt.b,{component:Ta,name:"requirement.requirement",options:kE,labelClassName:t.specialLabel,radioClassName:t.radio,className:w()(t.radioGroup,t.specialGrid)}),o&&r.a.createElement(Rt.b,{className:t.thresholdField,component:Ra,label:"Days",size:"lg",name:"requirement.suspensionDays"}))},initialValues:{requirement:""}},NE=function(e,t,n){return function(a){return e?$t.a(ua.a(t),ca.a(sa.a(null!==n&&void 0!==n?n:"code",a)))(e):""}},IE=function(){var e,t=Object(Rt.e)().values,n=gE(),a=null===t||void 0===t||null===(e=t.requirement)||void 0===e?void 0:e.requirement,l="suspend"===a,i=NE(kE,"display")(a);return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline"},"".concat(i," ").concat(l?"for":""),l&&r.a.createElement(Rt.b,{bold:!0,className:n.suspensionDays,name:"requirement.suspensionDays",component:Ra,textAlign:"center"}),l&&"days")},LE=function(e){var t=e.requirement,n=e.suspensionDays,a=gE(),l=NE(kE,"display")(t),i="suspend"===t;return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline"},"".concat(l," ").concat(i?"for":""),i&&r.a.createElement(at,{className:a.space,noMargin:!0},n),i&&"days")},BE=function(e){var t,n,a,l=e.config,i=e.currency,o=e.isEdit,c=gE(),s=(t={},Object(E.a)(t,c.input,!0),Object(E.a)(t,c.limitedInput,"txVelocity"===(null===l||void 0===l?void 0:l.triggerType)),Object(E.a)(t,c.daysInput,"consecutiveDays"===(null===l||void 0===l?void 0:l.triggerType)),t),u=null===l||void 0===l||null===(n=l.threshold)||void 0===n?void 0:n.threshold,d=null===l||void 0===l||null===(a=l.threshold)||void 0===a?void 0:a.thresholdDays,m=o?r.a.createElement(Rt.b,{bold:!0,className:w()(s),name:"threshold.threshold",component:Ra,textAlign:"right"}):r.a.createElement(at,{noMargin:!0},u),f=o?r.a.createElement(Rt.b,{bold:!0,className:w()(s),name:"threshold.thresholdDays",component:Ra,textAlign:"right"}):r.a.createElement(at,{noMargin:!0},d);switch(null===l||void 0===l?void 0:l.triggerType){case"txAmount":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},m,r.a.createElement(st,{noMargin:!0,className:c.lastSpace},i));case"txVolume":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},m,r.a.createElement(st,{noMargin:!0,className:c.lastSpace},i),r.a.createElement(ct,{noMargin:!0,className:c.space},"in"),f,r.a.createElement(ct,{noMargin:!0,className:c.lastSpace},"days"));case"txVelocity":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},m,r.a.createElement(ct,{className:c.space,noMargin:!0},"transactions in"),f,r.a.createElement(ct,{className:c.lastSpace,noMargin:!0},"days"));case"consecutiveDays":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},f,r.a.createElement(ct,{className:c.lastSpace,noMargin:!0},"days"));default:return""}},PE=Object(a.memo)((function(e){var t=e.currency,n=Object(Rt.e)().values;return r.a.createElement(BE,{isEdit:!0,config:n,currency:t})})),FE=function(e){var t=e.config,n=e.currency;return r.a.createElement(BE,{config:t,currency:n})},DE=function(e,t){return[{name:"triggerType",size:"sm",width:230,input:function(e){var t=e.field.value;return r.a.createElement(r.a.Fragment,null,NE(xE,"display")(t))},view:NE(xE,"display"),inputProps:{options:xE,valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null}},{name:"requirement",size:"sm",width:230,bypassField:!0,input:IE,view:function(e){return r.a.createElement(LE,e)}},{name:"threshold",size:"sm",width:284,textAlign:"right",input:function(){return r.a.createElement(PE,{currency:e})},view:function(t,n){return r.a.createElement(FE,{config:n,currency:e})}}]},TE=da.a(ua.a("code"))(xE),WE=[bE.a((function(e,t){return TE.indexOf(e.triggerType) p":{width:330,marginTop:4,marginLeft:16}},actionButton:{marginBottom:32},actionButtonLink:{textDecoration:"none",color:J},error:{color:se},button:{marginTop:40},formButton:{margin:[[24,0,0]]}};function wO(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return wO=function(){return e},e}function xO(){var e=Object(Bt.a)(["\n {\n config\n accounts\n }\n"]);return xO=function(){return e},e}var jO=zt()(xO()),CO=zt()(wO()),kO=Object(f.a)(Object(c.a)(Object(c.a)({},OO),{},{content:{width:820},radioLabel:Object(c.a)(Object(c.a)({},OO.radioLabel),{},{width:280}),wrapper:{width:1200,height:100,margin:[[0,"auto"]]},title:{marginLeft:8,marginBottom:5},info:{marginTop:20,marginBottom:20}})),SO=[{code:"enable",display:"Yes, I will"},{code:"disable",display:"No, not for now"}];var NO=function(e){var t,n,l=e.doContinue,i=kO(),c=Object(a.useState)(null),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(!1),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(Pt.c)(jO),g=b.data,v=b.refetch,y=Object(Pt.b)(CO,{onCompleted:l}),O=Object(o.a)(y,1)[0],x=null!==(t=null===g||void 0===g?void 0:g.accounts)&&void 0!==t?t:[],j=(n={},Object(E.a)(n,i.title,!0),Object(E.a)(n,i.error,p),n);return r.a.createElement("div",{className:i.wrapper},r.a.createElement("div",{className:i.content},r.a.createElement(Je,null,"Twilio (SMS service)"),r.a.createElement(qe.a,{display:"flex",alignItems:"end"},r.a.createElement(Xe,{noMargin:!0,className:w()(j)},"Will you setup a two way machine or compliance?"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,"Two-way machines allow your customers not only to buy (cash-in) but also sell cryptocurrencies (cash-out)."),r.a.createElement(tt,null,"You\u2019ll need an SMS service for cash-out transactions and for any compliance triggers"))),r.a.createElement(Na,{labelClassName:i.radioLabel,className:i.radioGroup,options:SO,value:u,onChange:function(e){d(e.target.value),h(!1)}}),r.a.createElement(EO,{className:i.info},"To set up Twilio please read the instructions from our support portal."),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/115001203951-Twilio-for-SMS",label:"Twilio for SMS"}),"enable"===u&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{noMargin:!0},"Enter credentials"),r.a.createElement(If,{xs:6,save:function(e){return O({variables:{accounts:{twilio:e}}}).then((function(){return v()}))},value:x.twilio,elements:zm.elements,validationSchema:zm.validationSchema,buttonLabel:"Continue",buttonClass:i.formButton})),"enable"!==u&&r.a.createElement(on,{size:"lg",onClick:function(){if(!u)return h(!0);l()},className:i.button},"Continue")))},IO=n(539);function LO(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject, $accounts: JSONObject) {\n saveConfig(config: $config)\n saveAccounts(accounts: $accounts)\n }\n"]);return LO=function(){return e},e}function BO(){var e=Object(Bt.a)(["\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return BO=function(){return e},e}var PO=Object(f.a)(OO),FO=zt()(BO()),DO=zt()(LO()),TO=function(e){var t,n=e.data,l=e.doContinue,i=PO(),c=Object(Pt.c)(FO).data,s=Object(Pt.b)(DO,{onCompleted:l}),u=Object(o.a)(s,1)[0],d=Object(a.useState)(!1),m=Object(o.a)(d,2),f=m[0],p=m[1],h=null===n||void 0===n?void 0:n.coin,b=null===c||void 0===c?void 0:c.accountsConfig,g=null!==(t=null===c||void 0===c?void 0:c.cryptoCurrencies)&&void 0!==t?t:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{className:f&&i.error},"All set"),r.a.createElement(tt,null,"These are your wallet settings. You can later edit these and add additional coins."),r.a.createElement(jc,{rowSize:"lg",titleLg:!0,name:"All set",namespaces:[h],data:ai(h,No.a("coin",n)),elements:qf(g,b,!0)}),r.a.createElement(on,{size:"lg",onClick:function(){if(!Mf.isValidSync(n))return p(!0);var e=ai(h,No.a("coin",n)),t=ai(Yl)(e);return p(!1),u({variables:{config:t}})},className:i.button},"Continue"))};function WO(){var e=Object(Bt.a)(["\n mutation SaveAccountsBC($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return WO=function(){return e},e}function RO(){var e=Object(Bt.a)(["\n {\n accounts\n }\n"]);return RO=function(){return e},e}var AO=Object(f.a)(Object(c.a)(Object(c.a)({},OO),{},{radioGroup:OO.radioGroup,radioLabel:Object(c.a)(Object(c.a)({},OO.radioLabel),{},{width:200})})),zO=zt()(RO()),MO=zt()(WO()),qO=[{code:"enable",display:"I will enable cash-out"},{code:"disable",display:"I won't enable cash-out"}],$O=function(e){var t,n=e.addData,l=AO(),i=Object(Pt.c)(zO).data,c=Object(Pt.b)(MO,{onCompleted:function(){return n({zeroConf:"blockcypher"})}}),s=Object(o.a)(c,1)[0],u=Object(a.useState)(null),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(a.useState)(!1),h=Object(o.a)(p,2),b=h[0],g=h[1],v=null!==(t=null===i||void 0===i?void 0:i.accounts)&&void 0!==t?t:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{className:b&&l.error},"Blockcypher"),r.a.createElement(tt,null,"If you are enabling cash-out services, create a Blockcypher account."),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/115001209472-Blockcypher",label:"Configuring Blockcypher"}),r.a.createElement(Na,{labelClassName:l.radioLabel,className:l.radioGroup,options:qO,value:m,onChange:function(e){f(e.target.value),g(!1)}}),r.a.createElement("div",{className:l.mdForm},"disable"===m&&r.a.createElement(on,{size:"lg",onClick:function(){return n({zeroConf:"all-zero-conf"})},className:l.button},"Continue"),"enable"===m&&r.a.createElement(If,{value:v.blockcypher,save:function(e){return s({variables:{accounts:{blockcypher:e}}})},elements:Mm.blockcypher.elements,validationSchema:Mm.blockcypher.validationSchema,buttonLabel:"Continue",buttonClass:l.formButton})))};function HO(){var e=Object(Bt.a)(["\n {\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return HO=function(){return e},e}var VO=Object(f.a)(OO),YO=zt()(HO()),GO=Yt.d().shape({coin:Yt.e().required()}),ZO=function(e){var t,n=e.addData,l=VO(),i=Object(a.useState)(!1),c=Object(o.a)(i,2),s=c[0],u=c[1],d=Object(Pt.c)(YO).data,m=null!==(t=null===d||void 0===d?void 0:d.cryptoCurrencies)&&void 0!==t?t:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{className:s&&l.error},"Choose your first cryptocurrency"),r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:{coin:""},onSubmit:function(e){return GO.isValidSync(e)?"BTC"!==e.coin?n({coin:e.coin,zeroConf:"all-zero-conf"}):void n(e):u(!0)}},r.a.createElement(Rt.c,{onChange:function(){return u(!1)}},r.a.createElement(Ro,null),r.a.createElement(Rt.b,{component:Ta,name:"coin",labelClassName:l.radioLabel,className:l.radioGroup,options:m}),r.a.createElement(on,{size:"lg",type:"submit",className:l.button},"Continue"))))},_O=function(e,t){return Wr.a((function(n){return function(e){return sa.a("class",e)}(t)(n)&&function(e){return $t.a(qr.a(e),ua.a("cryptos"))}(e)(n)}))},UO=function(e,t,n,a){var r=_O(a,n)(e),l=zo.a((function(e){var n=e.code,a=function(e){return t&&t[e]}(n);return!Mm[n]||Mm[n].validationSchema.isValidSync(a)}))(r),i=Object(o.a)(l,2);return{filled:i[0],unfilled:i[1]}};function JO(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return JO=function(){return e},e}function KO(){var e=Object(Bt.a)(["\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return KO=function(){return e},e}var QO=Object(f.a)(OO),XO=zt()(KO()),ew=zt()(JO()),tw=function(e){return qr.a(e)(["kraken","itbit","bitstamp"])},nw=function(e){var t,n,l,i=e.data,c=e.addData,s=QO(),u=Object(Pt.c)(XO).data,d=Object(Pt.b)(ew,{onCompleted:function(){return k()}}),m=Object(o.a)(d,1)[0],f=Object(a.useState)(null),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Object(a.useState)(!1),v=Object(o.a)(g,2),y=v[0],O=v[1],w=null!==(t=null===u||void 0===u?void 0:u.accounts)&&void 0!==t?t:[],x=null!==(n=null===u||void 0===u?void 0:u.accountsConfig)&&void 0!==n?n:[],j=i.coin,C=UO(x,w,"exchange",j),k=function(){if(!h)return O(!0);c({exchange:h})};return r.a.createElement("div",{className:s.mdForm},r.a.createElement(Xe,{className:y&&s.error},"Choose your exchange"),r.a.createElement(Na,{labelClassName:s.radioLabel,className:s.radioGroup,options:fa.a(C.filled,C.unfilled),value:h,onChange:function(e){b(e.target.value),O(!1)}}),!tw(h)&&r.a.createElement(on,{size:"lg",onClick:k,className:s.button},"Continue"),tw(h)&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.infoMessage},r.a.createElement(Ja,null),r.a.createElement(rt,null,"Make sure you set up ",Mm[h].name," to enter the necessary information below. Please follow the instructions on our support page if you haven\u2019t.")),r.a.createElement(ra,{link:{kraken:"https://support.lamassu.is/hc/en-us/articles/115001206891-Kraken-trading",itbit:"https://support.lamassu.is/hc/en-us/articles/360026195032-itBit-trading",bitstamp:"https://support.lamassu.is/hc/en-us/articles/115001206911-Bitstamp-trading"}[h],label:"".concat(Mm[h].name," trading")}),r.a.createElement(Xe,{noMargin:!0},"Enter exchange information"),r.a.createElement(If,{value:w[h],save:(l=h,function(e){var t=Object(E.a)({},l,e);return m({variables:{accounts:t}})}),elements:Mm[h].elements,validationSchema:Mm[h].validationSchema,buttonLabel:"Continue",buttonClass:s.formButton})))};function aw(){var e=Object(Bt.a)(["\n {\n accountsConfig {\n code\n display\n class\n cryptos\n }\n }\n"]);return aw=function(){return e},e}var rw=Object(f.a)(OO),lw=zt()(aw()),iw=function(e){var t,n,l=e.data,i=e.addData,c=rw(),s=Object(Pt.c)(lw).data,u=Object(a.useState)(null),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(a.useState)(!1),h=Object(o.a)(p,2),b=h[0],g=h[1],v=null!==(t=null===s||void 0===s?void 0:s.accounts)&&void 0!==t?t:[],y=null!==(n=null===s||void 0===s?void 0:s.accountsConfig)&&void 0!==n?n:[],E=l.coin,O=UO(y,v,"ticker",E);return r.a.createElement("div",{className:c.mdForm},r.a.createElement(Xe,{className:b&&c.error},"Choose your ticker"),r.a.createElement(Na,{labelClassName:c.radioLabel,className:c.radioGroup,options:fa.a(O.filled,O.unfilled),value:m,onChange:function(e){f(e.target.value),g(!1)}}),r.a.createElement(on,{size:"lg",onClick:function(){if(!m)return g(!0);i({ticker:m})},className:c.button},"Continue"))},ow=function(e){var t;return{code:"bitgo",name:"BitGo",title:"BitGo (Wallet)",elements:[{code:"token",display:"API Token",component:Ra,face:!0,long:!0},{code:"environment",display:"Environment",component:Fa,inputProps:{options:["prod","test"]},face:!0},{code:"".concat(e,"WalletId"),display:"".concat(e," Wallet ID"),component:Ra},{code:"".concat(e,"WalletPassphrase"),display:"".concat(e," Wallet Passphrase"),component:Wa}],validationSchema:Yt.d().shape((t={token:Yt.e().max(100,"Too long").required(),environment:Yt.e().matches(/(prod|test)/).required()},Object(E.a)(t,"".concat(e,"WalletId"),Yt.e().max(100,"Too long").required()),Object(E.a)(t,"".concat(e,"WalletPassphrase"),Yt.e().max(100,"Too long").required()),t))}};function cw(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return cw=function(){return e},e}function sw(){var e=Object(Bt.a)(["\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return sw=function(){return e},e}var uw=Object(f.a)(OO),dw=zt()(sw()),mw=zt()(cw()),fw=function(e){var t,n,l,i=e.data,c=e.addData,s=uw(),u=Object(Pt.c)(dw).data,d=Object(Pt.b)(mw,{onCompleted:function(){return S()}}),m=Object(o.a)(d,1)[0],f=Object(a.useState)(null),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Object(a.useState)(!1),v=Object(o.a)(g,2),y=v[0],O=v[1],w=null!==(t=null===u||void 0===u?void 0:u.accounts)&&void 0!==t?t:[],x=null!==(n=null===u||void 0===u?void 0:u.accountsConfig)&&void 0!==n?n:[],j=i.coin,C=UO(x,w,"wallet",j),k=function(e){return function(t){var n=Object(E.a)({},e,t);return m({variables:{accounts:n}})}},S=function(){if(!h)return O(!0);c({wallet:h})};return r.a.createElement("div",{className:s.mdForm},r.a.createElement(Xe,{className:y&&s.error},"Choose your wallet"),r.a.createElement(Na,{labelClassName:s.radioLabel,className:s.radioGroup,options:fa.a(C.filled,C.unfilled),value:h,onChange:function(e){b(e.target.value),O(!1)}}),(l=h,qr.a(l)(["bitcoind","geth","litecoind","dashd","zcashd","bitcoincashd"])&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.infoMessage},r.a.createElement(Ja,null),r.a.createElement(rt,null,"To set up ",h," please read the node wallet instructions from our support portal.")),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/115001209552-Setting-up-your-node-wallets",label:"Support article"}))),!function(e){return qr.a(e)(["infura","bitgo"])}(h)&&r.a.createElement(on,{size:"lg",onClick:S,className:s.button},"Continue"),"bitgo"===h&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.infoMessage},r.a.createElement(Ja,null),r.a.createElement(rt,null,"Make sure you set up a BitGo wallet to enter the necessary information below. Please follow the instructions on our support page if you haven\u2019t.")),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/360024455592-Setting-up-BitGo",label:"Support article"}),r.a.createElement(Xe,{noMargin:!0},"Enter wallet information"),r.a.createElement(If,{value:w.bitgo,save:k(h),elements:ow(j).elements,validationSchema:ow(j).validationSchema,buttonLabel:"Continue",buttonClass:s.formButton})),"infura"===h&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{noMargin:!0},"Enter wallet information"),r.a.createElement(If,{value:w.infura,save:k(h),elements:Mm.infura.elements,validationSchema:Mm.infura.validationSchema,buttonLabel:"Continue",buttonClass:s.formButton})))},pw=Object(f.a)(Xa),hw=[{label:"Choose cryptocurrency",component:ZO},{label:"Choose wallet",component:fw},{label:"Choose ticker",component:iw},{label:"Exchange",component:nw},{label:"Blockcypher",component:$O},{label:"All set",component:TO}],bw=function(e){var t=e.doContinue,n=Object(a.useState)(0),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)({}),u=Object(o.a)(s,2),d=u[0],m=u[1],f=pw(),p="BTC"===(null===d||void 0===d?void 0:d.coin)?hw:IO.a(4,1,hw),h=p[i].component;return r.a.createElement("div",{className:f.wrapper},r.a.createElement("div",{className:f.headerDiv},r.a.createElement(vt,{title:"Wallet settings"})),r.a.createElement("div",{className:f.contentDiv},r.a.createElement(ze,null,p.map((function(e,t){return r.a.createElement(Me,{key:t,step:i,it:e,idx:t,steps:p})}))),r.a.createElement("div",{className:f.contentWrapper},r.a.createElement(h,{data:d,addData:function(e){m(gn.a(d,e)),c(i+1)},doContinue:t}))))},gw={welcome:{textAlign:"center",paddingTop:256},title:{lineHeight:1,fontSize:48},getStarted:{fontSize:24,fontWeight:500,marginBottom:54,color:q}},vw=Object(f.a)(gw);var yw=function(e,t){var n=ni(Yl,e);return Wr.a((function(e){return Mf.isValidSync(ni(e.code,n))}))(t)},Ew=function(e,t){return e?function(e,t){var n=ni(Yl,e),a=da.a((function(e){return ni(e.code,n)}))(t);return $t.a(Ar.a(iO.a),da.a((function(e){return Mf.isValidSync(e)})))(a)}(e,t)?function(e){var t=ni(_l,e);return Zf.isValidSync(t)}(e)?function(e){var t=ni(Ul,e);return Us.isValidSync(t)}(e)?0:3:2:1:0},Ow=[{id:"welcome",Component:function(e){var t=e.doContinue,n=vw();return r.a.createElement("div",{className:n.welcome},r.a.createElement(Je,{className:n.title},"Welcome to the Lamassu Admin"),r.a.createElement(tt,{className:n.getStarted},"To get you started, we\u2019ve put together a wizard that will",r.a.createElement("br",null),"help set up what you need before pairing your machines."),r.a.createElement(on,{size:"xl",onClick:t},"Get started"))}},{id:"wallet",Component:bw,exImage:"/assets/wizard/fullexample.wallet.png",subtitle:"Wallet settings",text:"Your wallet settings are the first step for this wizard. \n We'll start by setting up one of cryptocurrencies to get you up and running,\n but you can later set up as many as you want."},{id:"locale",Component:vO,exImage:"/assets/wizard/fullexample.locale.png",subtitle:"Locales",text:"From the Locales page, you can define some important default settings\n of your machines. These values will be the default values of all\n machines you'll later add to your network. Default settings keep you\n from having to enther the same values everytime you add a new machine.\n Once a machine is added, you may override some of these values in the\n overrides section."},{id:"twilio",Component:NO,exImage:"/assets/wizard/fullexample.twilio.png",subtitle:"Twilio (SMS service)",text:r.a.createElement(r.a.Fragment,null,"Twilio is used for SMS operator notifications, phone number collection for compliance, and 1-confirmation redemptions on cash-out transactions.",r.a.createElement("br",null),"You'll need to configure Twilio if you're offering cash-out or any compliance options")},{id:"commissions",Component:mO,exImage:"/assets/wizard/fullexample.commissions.png",subtitle:"Commissions",text:"From the Commissions page, you can define all the commissions of your\n machines. The values set here will be default values of all machines\n you'll later add to your network. Default settings keep you from\n having to enter the same values everytime you add a new machine. Once\n a machine is added, you may override these values per machine and per\n cryptocurrency in the overrides section."}],ww=n(540),xw=Object(f.a)((function(){return{drawer:{borderTop:"none",boxShadow:"0 0 4px 0 rgba(0, 0, 0, 0.08)"},wrapper:{padding:"32px 0",flexGrow:1,height:264},smallWrapper:{height:84},title:{margin:[[0,32,0,0]]},subtitle:{marginTop:8,marginBottom:6,lineHeight:1.25,display:"inline"},modal:{background:"none",boxShadow:"none"}}}));var jw=function(e){var t,n=e.currentStep,l=e.steps,i=e.subtitle,c=e.text,s=e.exImage,u=e.open,m=e.start,f=xw(),p=Object(a.useState)(!1),h=Object(o.a)(p,2),b=h[0],g=h[1],v=(t={},Object(E.a)(t,f.wrapper,!0),Object(E.a)(t,f.smallWrapper,!u),t);return r.a.createElement(ww.a,{anchor:"bottom",open:!0,variant:"persistent",classes:{paperAnchorDockedBottom:f.drawer}},r.a.createElement("div",{className:w()(v)},r.a.createElement(d.a,{container:!0,direction:"row",justify:"center",alignItems:"baseline"},r.a.createElement(d.a,{item:!0,xs:5,container:!0,direction:u?"column":"row",justify:"flex-start",alignItems:"baseline"},r.a.createElement(Ke,{className:f.title},"Setup Lamassu Admin"),r.a.createElement(at,{className:f.subtitle},i),u&&r.a.createElement(tt,null,c)),r.a.createElement(d.a,{item:!0,xs:4,container:!0,direction:"column",justify:"flex-start",alignItems:"flex-end",spacing:5},r.a.createElement(d.a,{item:!0,xs:12},l&&n&&r.a.createElement(ns,{currentStep:n,steps:l})))),u&&r.a.createElement(d.a,{container:!0,direction:"row",justify:"center",alignItems:"baseline"},r.a.createElement(d.a,{item:!0,xs:5,container:!0,direction:"column",justify:"flex-start",alignItems:"flex-start"},r.a.createElement(Bn,{onClick:function(){g(!0)}},"See full example")),r.a.createElement(d.a,{item:!0,xs:4,container:!0,direction:"column",justify:"flex-start",alignItems:"flex-end",spacing:5},r.a.createElement(d.a,{item:!0},r.a.createElement(on,{size:"lg",onClick:m},"Get Started"))))),r.a.createElement(ci,{closeOnEscape:!0,closeOnBackdropClick:!0,className:f.modal,xl:!0,width:1328,handleClose:function(){g(!1)},open:b},r.a.createElement("img",{width:1152,src:s,alt:""})))};function Cw(){var e=Object(Bt.a)(["\n query getData {\n config\n accounts\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return Cw=function(){return e},e}var kw,Sw=Object(f.a)({wrapper:{display:"flex",padding:[[16,0]],flexDirection:"column",justifyContent:"space-between",backgroundColor:ee},welcomeBackground:{background:"url(/wizard-background.svg) no-repeat center center fixed",backgroundColor:ee,backgroundSize:"cover"},blurred:{filter:"blur(4px)",pointerEvents:"none"}}),Nw=zt()(Cw()),Iw=function(e){e.fromAuthRegister;var t,n,l=Sw(),i=Object(Pt.c)(Nw),c=i.data,s=i.loading,u=Object(v.h)(),d=Object(a.useContext)(Vw).setWizardTested,m=Object(a.useState)(0),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(a.useState)(!0),g=Object(o.a)(b,2),y=g[0],O=g[1],x=Object(a.useState)(!1),j=Object(o.a)(x,2),C=j[0],k=j[1];if(s)return r.a.createElement(r.a.Fragment,null);var S=Ew(null===c||void 0===c?void 0:c.config,null===c||void 0===c?void 0:c.cryptoCurrencies),N=u.length&&!(null===(t=u.location.state)||void 0===t?void 0:t.fromAuthRegister);0===S&&(d(!0),N?u.goBack():u.push("/"));var I=0===p,L=(n={},Object(E.a)(n,l.blurred,C),Object(E.a)(n,l.wrapper,!0),Object(E.a)(n,l.welcomeBackground,I),n),B=Ow[p];return r.a.createElement(Ft.a,{fullScreen:!0,open:y},r.a.createElement(Dt.a,{className:w()(L)},r.a.createElement(B.Component,{doContinue:function(){p>=Ow.length-1&&(O(!1),u.push("/"));var e=0===p&&S?S:p+1;k(!0),h(e)},isActive:!C})),!I&&r.a.createElement(jw,{currentStep:p,steps:Ow.length-1,exImage:B.exImage,subtitle:B.subtitle,text:B.text,open:C,start:function(){k(!1)}}))},Lw=Object(f.a)({wrapper:{flex:1,display:"flex",flexDirection:"column",height:"100%"}}),Bw=[{key:"transactions",label:"Transactions",route:"/transactions",component:hE},{key:"maintenance",label:"Maintenance",route:"/maintenance",get component(){var e=this;return function(){return r.a.createElement(v.b,{to:e.children[0].route})}},children:[{key:"cash_cassettes",label:"Cash Cassettes",route:"/maintenance/cash-cassettes",component:Sh},{key:"funding",label:"Funding",route:"/maintenance/funding",component:Lm},{key:"logs",label:"Machine Logs",route:"/maintenance/logs",component:Eh},{key:"machine-status",label:"Machine Status",route:"/maintenance/machine-status",component:lg},{key:"server-logs",label:"Server",route:"/maintenance/server-logs",component:sy}]},{key:"settings",label:"Settings",route:"/settings",get component(){var e=this;return function(){return r.a.createElement(v.b,{to:e.children[0].route})}},children:[{key:Ul,label:"Commissions",route:"/settings/commissions",component:ru},{key:_l,label:"Locales",route:"/settings/locale",component:ap},{key:Vl,label:"Cash-out",route:"/settings/cash-out",component:vs},{key:Zl,label:"Notifications",route:"/settings/notifications",component:Vg},{key:"services",label:"3rd party services",route:"/settings/3rd-party-services",component:jy},{key:Yl,label:"Wallet",route:"/settings/wallet-settings",component:lO},{key:Gl,label:"Operator Info",route:"/settings/operator-info",title:"Operator Information",get component(){var e=this;return function(){var t;return r.a.createElement(v.b,{to:{pathname:e.children[0].route,state:{prev:null===(t=e.state)||void 0===t?void 0:t.prev}}})}},children:[{key:"contact-info",label:"Contact information",route:"/settings/operator-info/contact-info",component:hv},{key:"receipt-printing",label:"Receipt",route:"/settings/operator-info/receipt-printing",component:zv},{key:"coin-atm-radar",label:"Coin ATM Radar",route:"/settings/operator-info/coin-atm-radar",component:Qg},{key:"terms-conditions",label:"Terms & Conditions",route:"/settings/operator-info/terms-conditions",component:_v}]}]},{key:"compliance",label:"Compliance",route:"/compliance",get component(){var e=this;return function(){return r.a.createElement(v.b,{to:e.children[0].route})}},children:[{key:"triggers",label:"Triggers",route:"/compliance/triggers",component:QE},{key:"customers",label:"Customers",route:"/compliance/customers",component:hm},{key:"blacklist",label:"Blacklist",route:"/compliance/blacklist",component:ko},{key:"customer",route:"/compliance/customer/:id",component:um}]}],Pw=da.a(Fr.a(Dr.a("children"),ua.a("children"))),Fw=$t.a(Tr.a,Pw)(Bw),Dw=Wr.a(Dr.a("children"))(Fw).concat(Wr.a(Dr.a("children"))(Bw)),Tw=$t.a(Tr.a,Pw)(Fw),Ww=Rr.a(Tw,Dw),Rw=function(){var e=Lw(),t=Object(v.h)(),n=Object(v.i)();Object(a.useContext)(Vw).wizardTested||qr.a(n.pathname)(["/404","/register","/wizard"])||t.push("/wizard");var l=n.state?Pr.a:Br.a,i=l===Pr.a?{direction:$r.a(sa.a("route",n.state.prev))(Tw)>$r.a(sa.a("route",n.pathname))(Tw)?"right":"left"}:{timeout:400};return r.a.createElement(v.e,null,r.a.createElement(v.c,{exact:!0,path:"/"},r.a.createElement(v.b,{to:{pathname:"/transactions"}})),r.a.createElement(v.c,{path:"/wizard",component:Iw}),r.a.createElement(v.c,{path:"/register",component:Yr}),Ww.map((function(t){var a=t.route,o=t.component,c=t.key;return r.a.createElement(v.c,{path:a,key:c},r.a.createElement(l,Object.assign({className:e.wrapper},i,{in:!!Object(v.g)(n.pathname,{path:a}),mountOnEnter:!0,unmountOnExit:!0,children:r.a.createElement("div",{className:e.wrapper},r.a.createElement(o,{name:c}))})))})),r.a.createElement(v.c,{path:"/404"}),r.a.createElement(v.c,{path:"*"},r.a.createElement(v.b,{to:{pathname:"/404"}})))},Aw="100%",zw={"@global":Object(c.a)(Object(c.a)({},{"@font-face":[{fontFamily:"Mont",src:['url("/fonts/MontHeavy/mont-heavy-webfont.woff2") format("woff2")','url("/fonts/MontHeavy/mont-heavy-webfont.woff") format("woff")'],fontWeight:900,fontStyle:"normal"},{fontFamily:"Mont",src:['url("/fonts/MontHeavy/mont-bold-webfont.woff2") format("woff2")','url("/fonts/MontHeavy/mont-bold-webfont.woff") format("woff")'],fontWeight:700,fontStyle:"normal"},{fontFamily:"MuseoSans",src:['url("/fonts/MuseoSans/MuseoSans_500-webfont.woff2") format("woff2")','url("/fonts/MuseoSans/MuseoSans_500-webfont.woff") format("woff")'],fontWeight:500,fontStyle:"normal"},{fontFamily:"MuseoSans",src:['url("/fonts/MuseoSans/MuseoSans_700-webfont.woff2") format("woff2")','url("/fonts/MuseoSans/MuseoSans_700-webfont.woff") format("woff")'],fontWeight:700,fontStyle:"normal"},{fontFamily:"BPmono",src:'url("/fonts/BPmono/BPmono.ttf") format("truetype")',fontWeight:500,fontStyle:"normal"}]}),{},(kw={"#root":{width:Aw,minHeight:Aw},html:{height:Aw},body:{width:ue,display:"flex",minHeight:Aw,"@media screen and (min-width: 1200px)":{width:"auto"}}},Object(E.a)(kw,'a::-moz-focus-inner,\n \'input[type="submit"]::-moz-focus-inner,\n input[type="button"]::-moz-focus-inner',{border:0}),Object(E.a)(kw,'a::-moz-focus-inner,\n input[type="submit"]::-moz-focus-inner,\n input[type="button"]::-moz-focus-inner',{border:0}),Object(E.a)(kw,"a,\n a:visited,\n a:focus,\n a:active,\n a:hover",{outline:"0 none"}),Object(E.a)(kw,"button::-moz-focus-inner",{border:0}),Object(E.a)(kw,".ReactVirtualized__Grid__innerScrollContainer",{overflow:"inherit !important"}),kw))},Mw=Object(b.a)({plugins:[Object(g.a)()].concat(Object(s.a)(Object(m.a)().plugins))}),qw="100%",$w="column",Hw=Object(f.a)(Object(c.a)(Object(c.a)({},zw),{},{root:{backgroundColor:ee,width:qw,minHeight:qw,display:"flex",flexDirection:$w},wrapper:{width:ue,height:qw,margin:"0 auto",flex:1,display:"flex",flexDirection:$w},grid:{flex:1,height:"100%"},contentWithSidebar:{flex:1,marginLeft:48,paddingTop:15},contentWithoutSidebar:{width:ue}})),Vw=Object(a.createContext)(),Yw=function(){var e=Hw(),t=Object(v.i)(),n=Object(v.h)(),l=Object(a.useContext)(Vw).wizardTested,i=t.pathname,o=function(e){return Ar.a((function(t){return t.route===e}))($t.a(Tr.a,da.a(ua.a("children")),Wr.a(Dr.a("children")))(Fw))}(i),c=o?function(e){return ca.a(sa.a("route",zr.a(1,Mr.a((function(e){return"/"!==e}),e))))(Ww)}(i):{},s="/404"===t.pathname,u=o?e.contentWithSidebar:e.contentWithoutSidebar;return r.a.createElement("div",{className:e.root},!s&&l&&r.a.createElement(Lr,{tree:Bw}),r.a.createElement("main",{className:e.wrapper},o&&!s&&l&&r.a.createElement(vt,{title:c.title}),r.a.createElement(d.a,{container:!0,className:e.grid},o&&!s&&l&&r.a.createElement(ze,{data:c.children,isSelected:function(e){return t.pathname===e.route},displayName:function(e){return e.label},onClick:function(e){return n.push(e.route)}}),r.a.createElement("div",{className:u},r.a.createElement(Rw,null)))))},Gw=function(){var e=Object(a.useState)(!1),t=Object(o.a)(e,2),n=t[0],l=t[1];return r.a.createElement(Vw.Provider,{value:{wizardTested:n,setWizardTested:l}},r.a.createElement(y.a,null,r.a.createElement(kt,null,r.a.createElement(p.b,{jss:Mw},r.a.createElement(h.a,{theme:tv},r.a.createElement(u.a,null),r.a.createElement(Yw,null))))))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));i.a.render(r.a.createElement(Gw,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}},[[449,1,2]]]); -//# sourceMappingURL=main.0f20b202.chunk.js.map \ No newline at end of file diff --git a/public/static/js/main.0f20b202.chunk.js.map b/public/static/js/main.0f20b202.chunk.js.map deleted file mode 100644 index 906272736..000000000 --- a/public/static/js/main.0f20b202.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["styling/icons/stage/zodiac/complete.svg","styling/icons/stage/zodiac/current.svg","styling/icons/stage/zodiac/empty.svg","styling/variables.js","styling/helpers.js","components/typography/styles.js","components/layout/Sidebar.styles.js","components/layout/Sidebar.js","styling/icons/warning-icon/tomato.svg","components/typography/index.js","components/ErrorMessage.js","components/Title.js","components/layout/TitleSection.js","components/layout/TitleSection.styles.js","utils/apollo.js","components/buttons/ActionButton.styles.js","components/buttons/ActionButton.js","styling/icons/button/add/zodiac.svg","components/buttons/AddButton.js","components/buttons/Button.styles.js","components/buttons/Button.js","components/buttons/BaseButton.styles.js","components/buttons/FeatureButton.js","components/Popper.js","components/buttons/IDButton.js","components/buttons/IconButton.js","components/buttons/Link.styles.js","components/buttons/Link.js","components/buttons/SimpleButton.js","styling/icons/button/cancel/white.svg","components/buttons/SubpageButton.styles.js","components/buttons/SubpageButton.js","styling/icons/action/external link/white.svg","styling/icons/action/external link/zodiac.svg","components/buttons/SupportLinkButton.js","components/inputs/base/TextInput.styles.js","components/inputs/base/TextInput.js","components/inputs/base/Autocomplete.js","components/inputs/base/Checkbox.js","components/inputs/base/NumberInput.js","components/inputs/base/RadioGroup.js","components/inputs/base/SecretInput.js","components/inputs/base/Switch.js","components/inputs/formik/Autocomplete.js","components/inputs/formik/NumberInput.js","components/inputs/formik/RadioGroup.js","components/inputs/formik/SecretInput.js","components/inputs/formik/TextInput.js","styling/icons/action/close/zodiac.svg","styling/icons/warning-icon/comet.svg","pages/AddMachine/styles.js","pages/AddMachine/AddMachine.js","pages/AddMachine/index.js","styling/icons/button/add/white.svg","styling/icons/menu/logo.svg","components/layout/Header.styles.js","components/layout/Header.js","pages/AuthRegister.js","styling/icons/action/help/zodiac.svg","components/Tooltip.js","styling/icons/action/arrow/regular.svg","utils/sanctuary.js","utils/string.js","components/inputs/base/Select.styles.js","components/inputs/base/Select.js","components/Chip.js","components/inputs/cashbox/Cashbox.styles.js","components/inputs/cashbox/Cashbox.js","utils/config.js","pages/Blacklist/Blacklist.styles.js","components/Modal.js","pages/Blacklist/BlacklistModal.js","components/fake-table/Table.styles.js","components/fake-table/Table.js","styling/icons/action/expand/closed.svg","styling/icons/action/expand/open.svg","components/tables/DataTable.styles.js","components/tables/DataTable.js","styling/icons/action/copy/copy.svg","pages/Logs.styles.js","pages/Transactions/Transactions.styles.js","pages/Transactions/CopyToClipboard.js","styling/icons/action/delete/enabled.svg","pages/Blacklist/BlacklistTable.js","pages/Blacklist/Blacklist.js","pages/Blacklist/index.js","components/PromptWhenDirty.js","components/editableTable/Context.js","components/editableTable/Header.js","styling/icons/action/delete/disabled.svg","styling/icons/action/edit/disabled.svg","styling/icons/action/edit/enabled.svg","styling/icons/stripes.svg","components/editableTable/Row.styles.js","components/editableTable/Row.js","components/editableTable/Table.styles.js","components/editableTable/Table.js","components/editableTable/NamespacedTable.js","utils/bill-denominations.js","styling/icons/direction/cash-out.svg","pages/Cashout/WizardSplash.js","styling/icons/stage/spring/complete.svg","styling/icons/stage/spring/current.svg","styling/icons/stage/spring/empty.svg","components/Stepper.js","styling/icons/cassettes/cashout-cassette-1.svg","styling/icons/cassettes/cashout-cassette-2.svg","pages/Cashout/WizardStep.styles.js","pages/Cashout/WizardStep.js","pages/Cashout/helper.js","pages/Cashout/Wizard.js","pages/Cashout/Cashout.js","pages/Cashout/index.js","components/Subtitle.js","components/layout/Section.js","components/layout/Section.styles.js","styling/icons/direction/cash-in.svg","pages/Commissions/helper.js","pages/Commissions/Commissions.js","pages/Commissions/index.js","components/Status.js","styling/icons/button/authorize/white.svg","styling/icons/button/authorize/zodiac.svg","styling/icons/button/cancel/zodiac.svg","pages/Customers/components/propertyCard/PropertyCard.styles.js","pages/Customers/components/propertyCard/PropertyCard.js","styling/icons/button/block/white.svg","styling/icons/button/block/zodiac.svg","pages/Customers/CustomerProfile.styles.js","styling/icons/circle buttons/search/white.svg","styling/icons/circle buttons/search/zodiac.svg","components/ImagePopper.js","components/ImagePopper.styles.js","styling/icons/ID/photo/crossed-camera.svg","pages/Customers/components/Field.js","pages/Customers/components/ComplianceDetails.js","pages/Customers/components/ComplianceDetails.styles.js","styling/icons/ID/card/zodiac.svg","styling/icons/circle buttons/law/white.svg","styling/icons/circle buttons/law/zodiac.svg","pages/Customers/CustomersList.styles.js","pages/Customers/helper.js","pages/Customers/components/FrontCameraPhoto.js","pages/Customers/components/CustomerDetails.js","utils/nullCheck.js","pages/Customers/components/IdDataCard.js","utils/coin.js","pages/Customers/components/TransactionsList.js","pages/Customers/CustomerProfile.js","pages/Customers/CustomersList.js","pages/Customers/Customers.js","components/TableLabel.js","pages/Funding.styles.js","pages/Funding.js","pages/Services/schemas/bitgo.js","pages/Services/schemas/bitstamp.js","pages/Services/schemas/blockcypher.js","pages/Services/schemas/infura.js","pages/Services/schemas/itbit.js","pages/Services/schemas/kraken.js","pages/Services/schemas/mailgun.js","pages/Services/schemas/twilio.js","pages/Services/schemas/index.js","styling/logos/icon-bitcoin-colour.svg","styling/logos/icon-bitcoincash-colour.svg","styling/logos/icon-dash-colour.svg","styling/logos/icon-ethereum-colour.svg","styling/logos/icon-litecoin-colour.svg","styling/logos/icon-zcash-colour.svg","pages/Wallet/WizardSplash.js","pages/Services/FormRenderer.js","pages/Wallet/WizardStep.styles.js","pages/Wallet/WizardStep.js","pages/Wallet/Wizard.js","pages/Wallet/helper.js","pages/Locales/helper.js","pages/Locales/Locales.js","pages/Locales/Locales.styles.js","pages/Locales/index.js","styling/icons/arrow/download_logs.svg","styling/icons/button/download/white.svg","styling/icons/button/download/zodiac.svg","styling/icons/arrow/month_change.svg","styling/icons/arrow/month_change_right.svg","components/date-range-picker/Tile.js","components/date-range-picker/Calendar.js","components/date-range-picker/DateRangePicker.js","components/LogsDownloaderPopper.js","components/table/Table.js","components/table/TableBody.js","components/table/TableCell.js","components/table/TableHead.js","components/table/TableHeader.js","components/table/TableRow.js","pages/MachineLogs.js","pages/Maintenance/CashCassettes.js","pages/Maintenance/CashCassettes.styles.js","styling/icons/status/pumpkin.svg","styling/icons/status/tomato.svg","components/ConfirmDialog.js","styling/icons/button/edit/white.svg","styling/icons/button/edit/zodiac.svg","styling/icons/button/link/zodiac.svg","styling/icons/button/reboot/white.svg","styling/icons/button/reboot/zodiac.svg","styling/icons/button/shut down/white.svg","styling/icons/button/shut down/zodiac.svg","styling/icons/button/unpair/white.svg","styling/icons/button/unpair/zodiac.svg","pages/Maintenance/MachineDetailsCard.styles.js","pages/Maintenance/MachineDetailsCard.js","pages/Maintenance/MachineStatus.js","pages/Notifications/NotificationsContext.js","utils/number.js","pages/Notifications/components/EditHeader.js","pages/Notifications/components/EditHeader.styles.js","pages/Notifications/components/EditableNumber.js","pages/Notifications/components/EditableNumber.styles.js","pages/Notifications/components/SingleFieldEditableNumber.js","pages/Notifications/sections/CryptoBalanceAlerts.js","pages/Notifications/sections/CryptoBalanceAlerts.styles.js","pages/Notifications/sections/CryptoBalanceOverrides.js","pages/Notifications/sections/FiatBalanceAlerts.js","pages/Notifications/sections/FiatBalanceAlerts.styles.js","pages/Notifications/sections/FiatBalanceOverrides.js","pages/Notifications/sections/Setup.js","pages/Notifications/sections/TransactionAlerts.js","pages/Notifications/Notifications.js","pages/OperatorInfo/CoinATMRadar/CoinATMRadar.styles.js","pages/OperatorInfo/CoinATMRadar/CoinATMRadar.js","pages/OperatorInfo/CoinATMRadar/index.js","styling/theme.js","pages/OperatorInfo/OperatorInfo.styles.js","pages/OperatorInfo/ContactInfo.js","styling/icons/table/false.svg","styling/icons/table/true.svg","components/booleanPropertiesTable/BooleanPropertiesTable.styles.js","components/booleanPropertiesTable/BooleanPropertiesTable.js","pages/OperatorInfo/ReceiptPrinting/ReceiptPrinting.js","pages/OperatorInfo/ReceiptPrinting/ReceiptPrinting.styles.js","pages/OperatorInfo/ReceiptPrinting/index.js","pages/OperatorInfo/TermsConditions.js","components/Uptime.js","pages/ServerLogs.js","styling/icons/action/edit/white.svg","components/single-row-table/SingleRowTable.styles.js","components/single-row-table/SingleRowTable.js","pages/Services/Services.js","styling/icons/ID/card/white.svg","styling/icons/ID/phone/white.svg","styling/icons/ID/phone/zodiac.svg","styling/icons/ID/photo/white.svg","styling/icons/ID/photo/zodiac.svg","pages/Transactions/DetailsCard.styles.js","pages/Transactions/helper.js","pages/Transactions/DetailsCard.js","pages/Transactions/Transactions.js","pages/Triggers/helper.js","pages/Triggers/Wizard.js","pages/Triggers/Triggers.js","pages/Triggers/Triggers.styles.js","pages/Triggers/index.js","pages/Wallet/Wallet.js","pages/Wizard/components/Commissions.js","pages/Wizard/components/Locales.js","components/InfoMessage.js","pages/Wizard/components/Wallet/Shared.styles.js","pages/Wizard/components/Twilio.js","pages/Wizard/components/Wallet/AllSet.js","pages/Wizard/components/Wallet/Blockcypher.js","pages/Wizard/components/Wallet/ChooseCoin.js","pages/Wizard/components/Wallet/getItems.js","pages/Wizard/components/Wallet/ChooseExchange.js","pages/Wizard/components/Wallet/ChooseTicker.js","pages/Services/schemas/singlebitgo.js","pages/Wizard/components/Wallet/ChooseWallet.js","pages/Wizard/components/Wallet/Wallet.js","pages/Wizard/components/Welcome.js","pages/Wizard/helper.js","pages/Wizard/components/Footer.js","pages/Wizard/Wizard.js","pages/Wizard/index.js","routing/routes.js","styling/global/index.js","styling/global/fonts.js","App.js","serviceWorker.js","index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","id","stroke","strokeWidth","fill","fillRule","transform","cx","cy","r","d","SvgComplete","_ref","svgRef","title","titleId","props","width","height","viewBox","ref","ForwardRef","SvgCurrent","SvgEmpty","comet","spring2","spring3","spring4","zircon","zircon2","white","tomato","mistyRose","primaryColor","secondaryColor","secondaryColorDark","secondaryColorDarker","backgroundColor","subheaderColor","subheaderDarkColor","disabledColor","disabledColor2","fontColor","offColor","offDarkColor","placeholderColor","errorColor","mainWidth","linkPrimaryColor","fontPrimary","fontSecondary","fontSize1","fontSize2","fontSize3","fontSize4","fontSize5","smallestFontSize","inputFontSizeSm","inputFontSize","inputFontSizeLg","inputFontFamily","tableHeaderHeight","spacer","tableCellHeight","breakpoint","tableDoubleHeaderHeight","tableHeaderColor","tableErrorColor","base","lineHeight","color","h1","extend","fontSize","fontFamily","fontWeight","h2","h3","h4","h5","p","tl1","tl2","info1","info2","info3","mono","monoBold","monoSmall","inputFont","regularLabel","label1","label2","label3","inline","display","noMargin","margin","bySize","size","bold","typographyStyles","sidebarColor","sidebar","marginLeft","boxShadow","borderRadius","alignItems","padding","flexDirection","minWidth","link","position","cursor","content","background","left","bottom","transition","activeLink","customRenderLink","customRenderActiveLink","item","itemText","marginRight","itemTextActive","itemTextPast","stepperPath","border","right","top","stepperPast","useStyles","makeStyles","styles","Sidebar","data","displayName","isSelected","onClick","children","itemRender","classes","className","map","it","idx","classnames","Stepper","step","steps","active","past","future","label","x","y","rx","SvgTomato","H1","classNames","H2","H3","H4","H5","P","pBuilder","Info1","Info2","Info3","Mono","TL1","TL2","Label1","Label2","Label3","elementClass","wrapper","message","whiteSpace","ErrorMessage","marginTop","marginBottom","Title","memo","titleWrapper","justifyContent","titleAndButtonsContainer","error","icon","TitleSection","labels","Box","URI","Provider","client","history","location","ApolloClient","ApolloLink","from","onError","graphQLErrors","networkError","forEach","locations","path","extensions","code","pathname","push","console","log","HttpLink","credentials","uri","cache","InMemoryCache","defaultOptions","watchQuery","fetchPolicy","errorPolicy","query","mutate","getClient","useHistory","useLocation","colors","color1","color2","color3","actionButton","outline","primary","secondary","actionButtonIcon","paddingRight","svg","actionButtonIconActive","ActionButton","Icon","InverseIcon","strokeLinecap","strokeLinejoin","x1","y1","x2","y2","SvgZodiac","button","SimpleButton","pickSize","shadowSize","baseButton","baseButtonStyles","featureButton","buttonIcon","overflow","buttonIconActive","FeatureButton","Popover","bgColor","arrowSize","useState","arrowRef","setArrowRef","popover","zIndex","arrow","arrowBottom","borderLeft","borderRight","borderBottom","borderColor","transformOrigin","arrowTop","borderTop","arrowRight","arrowLeft","root","arrowClasses","placement","modifiers","R","flip","enabled","preventOverflow","boundariesElement","offset","element","computeStyle","gpuAcceleration","disablePortal","Paper","idButton","closed","open","popoverContent","maxHeight","IDButton","name","popoverWidth","popoverClassname","anchorEl","setAnchorEl","Boolean","undefined","iconClassNames","aria-describedby","event","currentTarget","onClose","flex","IconButton","disableRipple","fade","textDecoration","noColor","action","Link","submit","type","SvgWhite","normalButton","activeButton","buttonIconActiveLeft","buttonIconActiveRight","subpageButtonStyles","SubpageButton","toggle","setActive","newActiveState","points","actionButtonLink","SupportLinkButton","rel","href","LinkIcon","InverseLinkIcon","textAlign","underline","borderBottomColor","TextInput","onChange","onBlur","value","suffix","InputProps","filled","inputClasses","TextField","Autocomplete","optionsLimit","limit","options","valueProp","multiple","getLabel","outsideValue","fullWidth","autoFocus","mapFromValue","mapToValue","valueArray","evt","rValue","getOptionLabel","forcePopupIcon","filterOptions","array","inputValue","input","sort","filter","slice","Math","max","openOnFocus","autoHighlight","disableClearable","ChipProps","onDelete","clearOnEscape","getOptionSelected","renderInput","params","checked","NumberInput","decimalPlaces","customInput","decimalScale","onValueChange","values","floatValue","paddingLeft","RadioGroup","labelClassName","radioClassName","option","FormControlLabel","control","Radio","SecretInput","onFocus","focused","setFocused","previouslyFilled","tempValue","InputLabelProps","shrink","placeholder","theme","spacing","switchBase","opacity","palette","common","thumb","track","transitions","create","disabled","focusVisible","SwitchInput","Switch","focusVisibleClassName","AutocompleteFormik","setOpen","field","form","touched","errors","setFieldValue","setFieldTouched","useFormikContext","initialValues","innerOptions","onChangeHandler","onOpen","NumberInputFormik","RadioGroupFormik","ariaLabel","e","resetError","SecretInputFormik","TextInputFormik","style","enableBackground","xmlSpace","SvgComet","dialog","minHeight","contentDiv","headerDiv","contentWrapper","nameTitle","qrTitle","qrCodeWrapper","qrTextWrapper","qrTextIcon","qrText","SAVE_CONFIG","gql","GET_MACHINES","getSize","validationSchema","Yup","shape","required","component","nextStep","setQrCode","setName","useMutation","onCompleted","createPairingTotem","register","onSubmit","variables","Button","qrCode","count","onPaired","useQuery","pollInterval","addedMachine","machines","find","m","fgColor","AddMachine","close","setStep","Component","Dialog","fullScreen","aria-labelledby","DialogContent","SvgIcon","renderStepper","xlinkHref","SvgLogo","headerHeight","subheaderHeight","header","maxWidth","nav","ul","li","listStyle","forceSize","visibility","addMachine","subheader","subheaderUl","subheaderLi","subheaderLink","activeSubheaderLink","logo","Subheader","prev","setPrev","to","route","state","activeClassName","isActive","match","Header","tree","whiteLink","forcesize","AddIcon","AddIconReverse","machine","deviceId","AuthRegister","URLSearchParams","search","useAxios","url","get","method","withCredentials","trigger","customHandler","err","res","fromAuthRegister","transparentButton","Tooltip","HelpIcon","helpPopperAnchorEl","setHelpPopperAnchorEl","helpPopperOpen","ClickAwayListener","onClickAway","SvgRegular","S","sanctuary","checkTypes","process","env","toFirstLower","compose","joinWith","toLower","toFirstUpper","toUpper","onlyFirstToUpper","splitOnUpper","splitOn","startCase","WIDTH","selectedItem","select","overflowY","listStyleType","selectFiltered","Select","items","useSelect","onSelectedItemChange","isOpen","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","selectClassNames","default","index","LsChip","Chip","withStyles","cashOut","empty","full","zodiac","cashIn","colorPicker","percent","cashboxStyles","cashbox","emptyPart","fullPart","gridStyles","row","innerRow","col2","noMarginText","chip","cashboxClasses","gridClasses","Cashbox","toFixed","CashOut","capacity","denomination","currency","notes","col","namespaces","mapKeys","fn","obj","filterByKey","stripl","q","str","fromNamespace","config","stripped","filtered","toNamespace","grid","footer","modalTitle","subtitle","deleteButton","addressRow","modal","infoPanelWrapper","infoPanelHeight","panelContent","small","xl","Modal","infoPanel","handleClose","secondaryModal","closeOnEscape","closeOnBackdropClick","TitleCase","closeSize","reason","BlackListModal","selectedCoin","addToBlacklist","errorMsg","address","trim","resetForm","handleAddToBlacklist","autoComplete","BTC","ETH","LTC","DASH","ZEC","BCH","doubleHeader","thDoubleLevel","verticalAlign","cellDoubleLevel","td","tdHeader","trError","mainContent","cardContentRoot","card","actionCol","errorContent","Table","THead","TDoubleLevelHead","TBody","Td","Th","ThDoubleLevel","Tr","errorMessage","cardClasses","tr","Card","CardContent","SvgClosed","SvgOpen","expandButton","rowWrapper","expanded","before","paddingTop","after","paddingBottom","pointer","body","table","Row","elements","Details","expandRow","expWidth","expandable","hasPointer","trClasses","view","toString","DataTable","initialExpanded","loading","emptyText","setExpanded","useEffect","coreWidth","CellMeasurerCache","defaultHeight","fixedWidth","rowRenderer","parent","columnIndex","rowIndex","disableWidth","rowCount","rowHeight","overscanRowCount","deferredMeasurementCache","SvgCopy","tableWrapper","overflowX","dateColumn","levelColumn","fillColumn","shareButton","shareIcon","buttonsWrapper","cpcStyles","lineBreak","buttonWrapper","detailsRowStyles","idCardDataCard","labelStyles","mainStyles","baseStyles","headerLabels","overflowTd","textOverflow","CopyToClipboard","buttonClassname","setTimeout","text","handleClick","SvgEnabled","BlacklistTable","handleDeleteEntry","dataToShow","groupByCode","cryptoCode","DELETE_ROW","GET_BLACKLIST","GET_INFO","ADD_ROW","Blacklist","blacklistResponse","configData","showModal","setShowModal","clickedItem","setClickedItem","setErrorMsg","refetchQueries","deleteEntry","addEntry","saveConfig","blacklistData","availableCurrencies","formattedData","complianceConfig","rejectAddressReuse","a","duplicateKeyError","some","includes","Grid","container","mb","mr","rawConfig","addressReuseSave","PromptWhenDirty","formik","when","dirty","submitCount","React","createContext","useContext","TableCtx","enableEdit","editWidth","enableDelete","deleteWidth","enableToggle","toggleWidth","DEFAULT_COL_SIZE","mapElement","toSHeader","noSHeader","groupSecondHeader","innerElements","HeaderElement","mask","SvgDisabled","patternUnits","patternTransform","SvgStripes","saveButton","lastOfGroup","extraPadding","extraPaddingRight","withSuffix","ActionCol","editing","submitForm","onEdit","disableRowEdit","onToggle","forceAdd","clearError","actionColSize","disableEdit","editButton","ECol","focus","bypassField","editable","SuffixComponent","inputProps","innerProps","isEditing","isField","ERow","rowSize","stripeWhen","toStripe","noStripe","groupStriped","extraPaddingIndex","extraPaddingRightIndex","elementToFocusIndex","findIndex","touchedErrors","hasErrors","join","addLink","outerHeader","getWidth","ETable","titleLg","save","externalError","enableCreate","outerEditWidth","forceDisable","disableAdd","setEditing","shouldOverrideEdit","editOverride","groupBy","sortBy","createText","editingId","setEditingId","adding","setAdding","saving","setSaving","setError","innerSave","cast","list","onReset","addField","widthIfEditNull","ACTION_COL_SIZE","showButtonOnEmpty","canAdd","showTable","innerData","ctxValue","AddButton","v4","nextElement","canGroup","groupFunction","isLastOfGroup","enableReinitialize","NamespacedTable","denomiations","AUD","5","10","20","50","100","BBD","2","CAD","CHF","200","1000","DKK","500","EUR","GBP","HKD","HUF","2000","5000","10000","20000","ILS","JMD","JPY","KZT","MXN","MYR","1","NZD","PHP","PLN","SGD","TWD","UAH","USD","VND","50000","100000","200000","500000","ZAR","SvgCashOut","modalContent","innerContent","titleDecorator","WizardSplash","onContinue","stages","stage","separator","separatorSpring","separatorZodiac","separatorSpringEmpty","separatorZodiacEmpty","currentStep","Error","separatorClasses","separatorEmptyClasses","titleDiv","edit","bill","billInput","float","picker","thirdStepHeader","stepImage","disclaimer","disclaimerIcon","WizardStep","schema","lastStep","fiatCurrency","cassetesArtworks","cassetteOne","cassetteTwo","alt","src","zeroConfLimit","currencyMax","DenominationsSchema","min","getElements","stripe","getOptions","locale","Wizard","setState","denominations","isLastStep","newConfig","fudgeFactor","switchLabel","Cashout","SCREEN_KEY","wizard","setWizard","accounts","fudgeFactorActive","isValidSync","namespaced","extraMarginTop","Subtitle","section","sectionHeader","sectionTitle","Section","SvgCashIn","ALL_MACHINES","ALL_COINS","cashInAndOutHeaderStyle","cashInHeader","cashOutHeader","getView","compare","displayCodeArray","onCryptoChange","curr","setValue","hasAllCoins","hadAllCoins","mainFields","overrides","auxData","auxElements","getData","machineData","concat","rawCryptos","cryptoData","getOverridesFields","percentMax","fixedFee","minimumTx","getOverridesSchema","rawData","nullable","cryptoCurrencies","test","alreadyUsed","getCrypto","getMachineId","filteredOverrides","originalValue","originalCryptos","originalMachineId","getAlreadyUsed","isAllMachines","isAllCoins","createError","repeated","codes","machineView","defaults","overridesDefaults","getOrder","GET_DATA","Commissions","isEditingDefault","setEditingDefault","isEditingOverrides","setEditingOverrides","commission","commissionOverrides","orderedCommissionsOverrides","commissions","warning","success","neutral","backgroundColors","Status","status","MainStatus","statuses","mainStatus","s","plus","propertyCardStyles","label1Pending","label1Rejected","label1Accepted","cardActionButton","propertyCardTopRow","propertyCardBottomRow","propertyCard","boxSizing","rowSpaceBetween","flexFlow","columnSpaceBetween","OVERRIDE_PENDING","OVERRIDE_AUTHORIZED","OVERRIDE_REJECTED","PropertyCard","authorize","reject","label1ClassNames","authorized","elevation","AuthorizeIcon","AuthorizeReversedIcon","RejectIcon","RejectReversedIcon","labelLink","breadcrumbs","actionLabel","customerDetails","image","objectFit","popupImage","popupWidth","popupHeight","ImagePopper","popperAnchorEl","setPopperAnchorEl","popperOpen","Image","ZoomIcon","ZoomIconInverse","SvgCrossedCamera","Field","complianceDetailsGrid","firstColumn","lastColumn","photoWrapper","Photo","show","ComplianceDetails","customer","updateCustomer","sanctions","sanctionsDisplay","customerData","idCardPhotoOverride","idCardPhotoPath","frontCameraOverride","frontCameraPath","usSsnOverride","usSsn","sanctionsOverride","column","textInput","fontStretch","fontStyle","letterSpacing","txId","txClassIconLeft","txClassIconRight","photo","img","customerName","idIcon","subpageButton","getAuthorizedStatus","authorizedOverride","daysSuspended","getFormattedPhone","phone","country","phoneNumber","parsePhoneNumberFromString","formatInternational","getName","idData","FrontCameraPhoto","CustomerDetails","setShowCompliance","LawIcon","LawIconInverse","mt","ifNotNull","valueIfNotNull","IdDataCard","rawExpirationDate","rawDob","moment","utc","format","diff","idCardDataOverride","CRYPTO_CURRENCIES","unitScale","toUnit","cryptoAtoms","coin","getCryptoCurrency","shiftedBy","formatCryptoAddress","replace","TransactionsList","LastTxIcon","lastTxClass","TxOutIcon","TxInIcon","hasData","summaryElements","totalTxs","Number","parseInt","totalSpent","parseFloat","lastTxFiatCode","lastActive","lastTxFiat","tableElements","txClass","fiat","fiatCode","BigNumber","toFormat","created","GET_CUSTOMER","SET_CUSTOMER","CustomerProfile","showCompliance","customerId","useParams","customerResponse","getCustomer","refetch","setCustomer","customerInput","rawTransactions","sortedTransactions","blocked","Breadcrumbs","aria-label","BlockIcon","BlockReversedIcon","CustomersList","hasLastTx","lastIcon","GET_CUSTOMERS","Customers","customersResponse","customersData","colorIndicator","TableLabel","main","firstSide","secondSide","coinTotal","leftSpacer","topSpacer","addressWrapper","itemWrapper","inactiveItem","firstItem","total","totalPending","totalTitle","tableLabel","pending","copyToClipboard","sizes","GET_FUNDING","sumReducer","acc","formatNumber","Funding","selected","setSelected","viewHistory","fundingHistory","cryptoAmount","balance","fiatValue","date","Date","performedBy","fundingResponse","funding","pendingTotal","fiatPending","reduce","signIfPositive","num","itemClass","wrapperClass","fiatConfirmedBalance","confirmedBalance","getConfirmedTotal","formatAddress","fundingAddress","fundingAddressUrl","isDefined","face","long","token","BTCWalletId","BTCWalletPassphrase","is","then","LTCWalletId","LTCWalletPassphrase","ZECWalletId","ZECWalletPassphrase","BCHWalletId","BCHWalletPassphrase","DASHWalletId","DASHWalletPassphrase","environment","matches","clientId","secret","confidenceFactor","integer","positive","apiKey","apiSecret","endpoint","userId","walletId","clientKey","clientSecret","privateKey","domain","fromEmail","email","toEmail","accountSid","authToken","fromNumber","toNumber","bitgo","bitstamp","blockcypher","infura","itbit","kraken","mailgun","twilio","SvgIconBitcoinColour","SvgIconBitcoincashColour","SvgIconDashColour","SvgIconEthereumColour","preserveAspectRatio","SvgIconLitecoinColour","SvgIconZcashColour","Logo","BitcoinLogo","BitcoinCashLogo","DashLogo","EthereumLogo","LitecoinLogo","ZCashLogo","getLogo","FormRenderer","buttonLabel","buttonClass","xs","radioGroup","radioLabel","radio","setupNew","initialState","isNew","iError","reducer","innerError","unfilled","getValue","useReducer","dispatch","innerContinue","account","subtitleClass","filterConfig","crypto","sameClass","contains","getItems","accountsConfig","fConfig","accountsToSave","tickers","wallets","exchanges","zeroConfs","stepConfig","stepAccount","newAccounts","getStepData","filterClass","class","filterCoins","cryptos","WalletSchema","ticker","wallet","exchange","zeroConf","widthAdjust","viewCryptoCurrency","getDisplayName","getFields","names","allFields","overridenMachines","override","suggestionFilter","countryData","currencyData","languageData","findSuggestion","configureCoin","LocaleSchema","languages","OverridesSchema","localeDefaults","rightAligned","rightLink","FiatCurrencyChangeAlert","Locales","onChangeFunction","setOnChangeFunction","dataToSave","setDataToSave","localeOverrides","onChangeCoin","locale_fiatCurrency","o","userAccounts","SvgDownloadLogs","SvgMonthChange","SvgMonthChangeRight","lowerBound","upperBound","between","Tile","isLowerBound","isUpperBound","isBetween","isDisabled","rangeClasses","buttonWrapperClasses","buttonClasses","navbar","borderCollapse","Calendar","minDate","maxDate","handleSelect","currentDisplayedMonth","setCurrentDisplayedMonth","weekdays","weekdaysMin","day","monthdays","month","lastMonth","subtract","lastMonthRange","startOf","weekday","reverse","lastMonthDays","endOf","thisMonthRange","monthLength","thisMonthDays","add","nextMonth","nextMonthRange","nextMonthDays","currentMonth","prevMonth","isSameOrAfter","handleNavPrev","isSameOrBefore","handleNavNext","getRow","isAfter","isBefore","isSame","DateRangePicker","onRangeChange","setFrom","setTo","dateContainerStyles","monthWeekDayContainer","bigNumber","monthYear","weekDay","dateContainerUseStyles","DateContainer","popoverHeader","radioButtonsContainer","radioButtons","dateRangePickerShowing","dateRangePickerHidden","download","dateContainerWrapper","arrowContainer","ALL","RANGE","LogsDownloaderPopover","args","getLogs","selectedRadio","setSelectedRadio","until","range","setRange","useLazyQuery","createLogsFile","fetchLogs","dateRangePickerClasses","handleRangeChange","useCallback","logs","formatDateFile","blob","window","Blob","FileSaver","saveAs","radioButtonOptions","Download","DownloadInverseIcon","variant","downloadLogs","tableLayout","borderSpacing","TableBody","alignRight","TableCell","colspan","rightAlign","colSpan","TableHead","th","TableHeaderCell","lg","sm","TableRow","classnamesObj","GET_MACHINE_LOGS_CSV","GET_MACHINE_LOGS","Logs","saveMessage","setSaveMessage","machineResponse","logsResponse","skip","TableHeader","machineLogs","timestamp","logLevel","ValidationSchema","cassette1","cassette2","GET_MACHINES_AND_CONFIG","RESET_CASHOUT_BILLS","CashCassettes","resetCashOut","cashout","getCashoutSettings","isCashOutDisabled","ry","SvgPumpkin","dialogContent","dialogTitle","dialogActions","DialogTitle","ConfirmDialog","toBeConfirmed","saveButtonAlwaysEnabled","confirmationMessage","onConfirmed","onDissmised","initialValue","isOnErrorState","split","DialogActions","machineDetailsStyles","colDivider","inlineChip","marginInlineEnd","stack","divider","MACHINE_ACTION","MACHINE","supportArtices","article","useLStyles","Label","useMDStyles","Container","Item","MachineDetailsRow","onActionSuccess","command","setAction","setErrorMessage","warningMessage","machineEventsLazy","machineState","JSON","parse","latestEvent","note","getState","fetchMachineEvents","loadingEvents","machineAction","confirmDialogOpen","Divider","orientation","flexItem","newName","model","pairedAt","EditIcon","EditReversedIcon","UnpairIcon","UnpairReversedIcon","RebootIcon","RebootReversedIcon","ShutdownIcon","ShutdownReversedIcon","MachineStatus","addedMachineId","machinesResponse","lastPing","fromNow","version","expandedIndex","isValidNumber","NaN","transformNumber","flexShrink","editingButtons","fieldWrapper","valueWrapper","decoration","EditableNumber","displayValue","SingleFieldEditableNumber","NotificationsCtx","LOW_BALANCE_KEY","HIGH_BALANCE_KEY","cryptoBalanceAlerts","cryptoBalanceAlertsForm","cryptoBalanceAlertsSecondForm","vertSeparator","CryptoBalanceAlerts","fieldWidth","CRYPTOCURRENCY_KEY","NAME","CryptoBalanceOverrides","setupValues","cryptoBalanceOverrides","overridenCryptos","suggestions","cryptoCurrency","newOverrides","first","gridTemplateColumns","gridTemplateRows","gridColumnGap","gridRowGap","FiatBalance","MAX_SAFE_INTEGER","fiatBalanceCassette1","fiatBalanceCassette2","fiatBalanceCassette1Percent","fiatBalanceCassette2Percent","CASSETTE_1_KEY","CASSETTE_2_KEY","MACHINE_KEY","FiatBalanceOverrides","fiatBalanceOverrides","notesMax","transactions","compliance","namespace","rawSave","Cell","mainTable","wizardTable","Setup","TransactionAlerts","Notifications","displaySetup","displayTransactionAlerts","displayFiatAlerts","displayCryptoAlerts","displayOverrides","displayTitle","setSection","editingKey","setEditingKey","contextValue","FiatBalanceAlerts","rowTextAndSwitch","GET_CONFIG","CoinATMRadar","coinAtmRadarConfig","limitsAndVerification","createMuiTheme","typography","body1","MuiButtonBase","light","dark","MuiRadio","colorSecondary","MuiAutocomplete","noOptions","paper","listbox","tag","MuiChip","MuiInput","MuiInputLabel","font","MuiFormLabel","switchRow","switch","singleButton","contactInfoStyles","infoMessage","radioButtonsRow","termsConditionsStyles","enable","fieldStyles","notEditing","fieldUseStyles","globalStyles","contactUseStyles","ContactInfo","info","website","companyNumber","fields","findField","findValue","displayTextValue","SvgFalse","SvgTrue","booleanPropertiesTableStyles","booleanPropertiesTableWrapper","tableRow","leftTableCell","rightTableCell","BooleanCell","BooleanPropertiesTable","forcedEditing","_","fromPairs","schemaValidation","switchWrapper","ReceiptPrinting","receiptPrintingConfig","useFieldStyles","notEditingSingleLine","notEditingMultiline","wordWrap","multiline","rows","multiLineText","rowsMax","useTermsConditionsStyles","TermsConditions","termsAndConditions","formData","showOnScreen","acceptButtonText","cancelButtonText","f","running","notRunning","uptimeContainer","useChipStyles","Uptime","time","uptime","floor","localStyles","serverTableWrapper","logsStyles","serverVersion","headerLine2","SHOW_ALL","GET_CSV","tableEl","useRef","setLogLevel","processStates","getLogLevels","serverLogs","current","scrollTo","head","SingleRowTable","SAVE_ACCOUNT","Services","editingSchema","setEditingSchema","saveAccount","faceElements","schemas","editMessage","secondRow","lastRow","txIcon","direction","availableIds","exchangeRate","transactionId","sessionId","getStatus","hasError","dispense","expired","getCashOutStatus","operatorCompleted","sendConfirmed","getCashInStatus","DetailsRow","tx","commissionPercentage","displayExRate","customerIdCardData","firstName","lastName","age","dateOfBirth","idCardNumber","documentNumber","idCardExpirationDate","expirationDate","customerPhone","PhoneIdIcon","PhoneIdInverseIcon","customerIdCardPhotoPath","CardIdIcon","CardIdInverseIcon","idCardPhoto","customerFrontCameraPath","CamIdIcon","CamIdInverseIcon","cashInFee","toAddress","txHash","next","GET_TRANSACTIONS_CSV","GET_TRANSACTIONS","Transactions","txResponse","formatCustomerName","specialLabel","specialGrid","directionIcon","directionName","thresholdWrapper","thresholdField","space","lastSpace","suspensionDays","limitedInput","daysInput","triggerType","threshold","thresholdDays","val","requirement","otherwise","Schema","typeSchema","typeOptions","typeClass","containsType","isThresholdEnabled","isThresholdDaysEnabled","requirementSchema","requirementOptions","requirements","titleClass","isSuspend","RequirementInput","RequirementView","DisplayThreshold","isEdit","Threshold","ThresholdDays","ThresholdInput","ThresholdView","triggerOrder","b","toServer","triggers","rest","stepper","infoTitle","infoCurrentText","getText","getTypeText","getRequirementText","orUnderline","InfoPanel","liveValues","oldText","newText","GetValues","setValues","setLiveValues","stepOptions","Fragment","getStep","tableRadioGroup","tableRadioLabel","tableWidth","Triggers","fromServer","toSave","Wallet","previous","doContinue","getConfiguredCoins","InfoMessage","mdForm","formButton","SAVE_ACCOUNTS","Twilio","saveAccounts","titleClasses","AllSet","currentData","withCoin","Blockcypher","addData","ChooseCoin","isConfigurable","ChooseExchange","ChooseTicker","singleBitgo","ChooseWallet","saveWallet","setData","mySteps","welcome","getStarted","Welcome","getWizardStep","coins","hasValidWallet","hasValidLocale","CommissionsSchema","hasValidCommissions","STEPS","exImage","Locale","drawer","flexGrow","smallWrapper","Footer","start","fullExample","setFullExample","wrapperClassNames","Drawer","anchor","paperAnchorDockedBottom","justify","welcomeBackground","backgroundSize","blurred","pointerEvents","setWizardTested","AppContext","footerExp","setFooterExp","wizardStep","shouldGoBack","goBack","isWelcome","MachineLogs","ServerLogs","WalletSettings","CoinAtmRadar","mappedRoutes","parentRoutes","leafRoutes","flattened","Routes","wizardTested","Transition","Slide","Fade","transitionProps","timeout","exact","Page","in","matchPath","mountOnEnter","unmountOnExit","html","jss","plugins","extendJss","jssPreset","global","contentWithSidebar","contentWithoutSidebar","Main","hasSidebar","getParent","is404","contentClassName","App","StylesProvider","CssBaseline","hostname","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.0f20b202.chunk.js","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/zodiac/complete\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n stroke: \"#1B2559\",\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12\",\n id: \"Path\",\n fill: \"#1B2559\"\n}));\n\nfunction SvgComplete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgComplete);\nexport default __webpack_public_path__ + \"static/media/complete.99ba27f3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/zodiac/current\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy\",\n fill: \"#1B2559\",\n cx: 9,\n cy: 9,\n r: 4\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-5\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgCurrent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCurrent);\nexport default __webpack_public_path__ + \"static/media/current.68045777.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/zodiac/empty\",\n stroke: \"none\",\n strokeWidth: 2,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-6\",\n stroke: \"#5F668A\",\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgEmpty(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmpty);\nexport default __webpack_public_path__ + \"static/media/empty.631601f2.svg\";\nexport { ForwardRef as ReactComponent };","const version = 9\n\n// Primary\nconst zodiac = '#1b2559'\nconst spring = '#48f694'\n\n// Secondary\nconst comet = '#5f668a'\nconst comet2 = '#72799d'\nconst spring2 = '#44e188'\nconst spring3 = '#ecfbef'\nconst spring4 = '#3fd07e'\nconst zircon = '#ebefff'\nconst zircon2 = '#dbdfed'\n\n// Cash-in/cash-out\nconst java = '#16d6d3'\nconst neon = '#5a67ff'\n\n// Neutral\nconst dust = '#dddddd'\nconst concrete = '#f2f2f2'\nconst ghost = '#fafbff'\nconst white = '#ffffff'\n\n// Error\nconst tomato = '#ff584a'\nconst mistyRose = '#ffeceb'\nconst pumpkin = '#ff7311'\nconst linen = '#fbf3ec'\n\n// Color Variables\nconst primaryColor = zodiac\n\nconst secondaryColor = spring\nconst secondaryColorDark = spring2\nconst secondaryColorDarker = spring4\nconst secondaryColorLighter = spring3\n\nconst backgroundColor = ghost\nconst subheaderColor = zircon\nconst subheaderDarkColor = zircon2\nconst disabledColor = dust\nconst disabledColor2 = concrete\nconst fontColor = primaryColor\nconst offColor = comet\nconst offDarkColor = comet2\nconst placeholderColor = comet\nconst errorColor = tomato\nconst offErrorColor = mistyRose\nconst inputBorderColor = primaryColor\n\n// General\nconst spacer = 8\nconst mainWidth = 1200\n\n// Buttons\nconst linkPrimaryColor = secondaryColor\nconst linkSecondaryColor = tomato\n\n// Fonts\nconst fontPrimary = 'Mont'\nconst fontSecondary = 'MuseoSans'\nconst fontMonospaced = 'BPmono'\n\nlet fontSize1 = 24\nlet fontSize2 = 20\nlet fontSize3 = 16\nlet fontSize4 = 14\nlet fontSize5 = 13\n\nif (version === 8) {\n fontSize1 = 32\n fontSize2 = 24\n fontSize3 = 20\n fontSize4 = 16\n fontSize5 = 14\n}\n\nconst smallestFontSize = fontSize5\nconst inputFontSizeSm = fontSize4\nconst inputFontSize = fontSize3\nconst inputFontSizeLg = fontSize1\nconst inputFontWeight = 500\nconst inputFontWeightBold = 700\nconst inputFontFamily = fontSecondary\n\n// Breakpoints\nconst sm = 576\nconst md = 768\nconst lg = 992\nconst xl = 1200\nconst xxl = 1440\n\n// Table\nlet tableHeaderHeight = spacer * 4\nlet tableCellHeight = spacer * 6\n\nif (version === 8) {\n tableHeaderHeight = spacer * 5\n tableCellHeight = spacer * 7 - 2\n}\n\nconst tableDoubleHeaderHeight = tableHeaderHeight * 2\n\nconst tableSmCellHeight = 30\nconst tableLgCellHeight = 76\n\nconst tableHeaderColor = primaryColor\nconst tableDisabledHeaderColor = zircon\nconst tableNewDisabledHeaderColor = spring3\nconst tableCellColor = white\nconst tableErrorColor = mistyRose\nconst tableSuccessColor = spring3\n\nexport {\n version,\n // colors\n white,\n zircon,\n zircon2,\n comet,\n spring2,\n spring3,\n spring4,\n tomato,\n pumpkin,\n mistyRose,\n java,\n neon,\n linen,\n // named colors\n primaryColor,\n secondaryColor,\n secondaryColorDark,\n secondaryColorDarker,\n secondaryColorLighter,\n subheaderColor,\n subheaderDarkColor,\n backgroundColor,\n placeholderColor,\n offColor,\n offDarkColor,\n fontColor,\n disabledColor,\n disabledColor2,\n linkPrimaryColor,\n linkSecondaryColor,\n errorColor,\n offErrorColor,\n inputBorderColor,\n // font sizes\n fontSize1,\n fontSize2,\n fontSize3,\n fontSize4,\n fontSize5,\n fontPrimary,\n fontSecondary,\n fontMonospaced,\n // named font sizes\n smallestFontSize,\n inputFontSize,\n inputFontSizeSm,\n inputFontSizeLg,\n inputFontFamily,\n inputFontWeight,\n inputFontWeightBold,\n // screen sizes\n sm,\n md,\n lg,\n xl,\n xxl,\n // sizes\n spacer,\n mainWidth,\n // table sizes\n tableHeaderHeight,\n tableDoubleHeaderHeight,\n tableCellHeight,\n tableSmCellHeight,\n tableLgCellHeight,\n tableHeaderColor,\n tableDisabledHeaderColor,\n tableNewDisabledHeaderColor,\n tableCellColor,\n tableErrorColor,\n tableSuccessColor\n}\n","import {\n inputFontSize,\n inputFontSizeLg,\n inputFontSizeSm,\n inputFontWeightBold\n} from './variables'\n\nconst respondTo = breakpoint =>\n `@media only screen and (max-width: ${breakpoint})`\n\nconst bySize = size => {\n switch (size) {\n case 'sm':\n return { fontSize: inputFontSizeSm }\n case 'lg':\n return { fontSize: inputFontSizeLg, fontWeight: inputFontWeightBold }\n default:\n return { fontSize: inputFontSize }\n }\n}\n\nconst bold = {\n fontWeight: inputFontWeightBold\n}\n\nexport { respondTo, bySize, bold }\n","import {\n fontColor,\n fontSize1,\n fontSize2,\n fontSize3,\n fontSize4,\n fontSize5,\n fontPrimary,\n fontSecondary,\n fontMonospaced\n} from 'src/styling/variables'\n\nconst base = {\n lineHeight: '120%',\n color: fontColor\n}\n\nexport default {\n h1: {\n extend: base,\n fontSize: fontSize1,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n h2: {\n extend: base,\n fontSize: fontSize2,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n h3: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n h4: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontPrimary,\n fontWeight: 700\n },\n h5: {\n extend: base,\n fontSize: fontSize3,\n fontFamily: fontPrimary,\n fontWeight: 700\n },\n p: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 500\n },\n tl1: {\n extend: base,\n fontSize: fontSize2,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n tl2: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n info1: {\n extend: base,\n fontSize: fontSize1,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n info2: {\n extend: base,\n fontSize: fontSize3,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n info3: {\n extend: base,\n fontSize: fontSize3,\n fontFamily: fontSecondary,\n fontWeight: 500\n },\n mono: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontMonospaced,\n fontWeight: 500\n },\n monoBold: {\n fontWeight: 700\n },\n monoSmall: {\n fontSize: fontSize5\n },\n inputFont: {\n fontSize: fontSize2,\n fontFamily: fontSecondary,\n fontWeight: 500,\n lineHeight: '110%',\n color: fontColor\n },\n regularLabel: {\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 500,\n lineHeight: '110%'\n },\n label1: {\n fontSize: fontSize5,\n fontFamily: fontSecondary,\n fontWeight: 500,\n color: fontColor\n },\n label2: {\n fontSize: fontSize5,\n fontFamily: fontSecondary,\n fontWeight: 700,\n color: fontColor\n },\n label3: {\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 500,\n color: fontColor\n },\n inline: {\n display: 'inline'\n },\n noMargin: {\n margin: 0\n }\n}\n","import typographyStyles from 'src/components/typography/styles'\nimport { respondTo } from 'src/styling/helpers'\nimport {\n primaryColor,\n spacer,\n placeholderColor,\n zircon,\n xxl\n} from 'src/styling/variables'\n\nconst { tl2, p } = typographyStyles\n\nconst sidebarColor = zircon\n\nexport default {\n sidebar: {\n display: 'flex',\n backgroundColor: sidebarColor,\n width: 520,\n marginLeft: -300,\n boxShadow: `-500px 0px 0px 0px ${sidebarColor}`,\n borderRadius: '0 20px 0 0',\n alignItems: 'flex-end',\n padding: spacer * 3,\n flexDirection: 'column',\n [respondTo(xxl)]: {\n width: 'auto',\n marginLeft: 0,\n minWidth: 250,\n boxShadow: `-200px 0px 0px 0px ${sidebarColor}`\n }\n },\n\n link: {\n extend: p,\n position: 'relative',\n color: placeholderColor,\n margin: '12px 24px 12px 0',\n cursor: 'pointer',\n '&:hover::after': {\n height: '140%'\n },\n '&:after': {\n content: '\"\"',\n display: 'block',\n background: primaryColor,\n width: 4,\n height: 0,\n left: '100%',\n marginLeft: 20,\n bottom: -2,\n position: 'absolute',\n borderRadius: 1000,\n transition: 'all 0.2s cubic-bezier(0.95, 0.1, 0.45, 0.94)'\n }\n },\n activeLink: {\n extend: tl2,\n color: primaryColor,\n '&::after': {\n height: '140%'\n }\n },\n customRenderLink: {\n '&:hover::after': {\n height: '100%'\n },\n '&:after': {\n bottom: 0\n }\n },\n customRenderActiveLink: {\n '&::after': {\n height: '100%'\n }\n },\n item: {\n position: 'relative',\n margin: '12px 0 12px 0',\n display: 'flex'\n },\n itemText: {\n extend: p,\n color: placeholderColor,\n marginRight: 24\n },\n itemTextActive: {\n extend: tl2,\n color: primaryColor\n },\n itemTextPast: {\n color: primaryColor\n },\n stepperPath: {\n position: 'absolute',\n height: 25,\n width: 1,\n border: [[1, 'solid', placeholderColor]],\n right: 8,\n top: 18\n },\n stepperPast: {\n border: [[1, 'solid', primaryColor]]\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { ReactComponent as CompleteStageIconZodiac } from 'src/styling/icons/stage/zodiac/complete.svg'\nimport { ReactComponent as CurrentStageIconZodiac } from 'src/styling/icons/stage/zodiac/current.svg'\nimport { ReactComponent as EmptyStageIconZodiac } from 'src/styling/icons/stage/zodiac/empty.svg'\n\nimport styles from './Sidebar.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Sidebar = ({\n data,\n displayName,\n isSelected,\n onClick,\n children,\n itemRender\n}) => {\n const classes = useStyles()\n\n return (\n
\n {data &&\n data.map((it, idx) => (\n onClick(it)}>\n {itemRender ? itemRender(it, isSelected(it)) : displayName(it)}\n
\n ))}\n {children}\n \n )\n}\n\nexport default Sidebar\n\nconst Stepper = ({ step, it, idx, steps }) => {\n const classes = useStyles()\n const active = step === idx\n const past = idx < step\n const future = idx > step\n\n return (\n
\n \n {it.label}\n \n {active && }\n {past && }\n {future && }\n {idx < steps.length - 1 && (\n
\n )}\n \n )\n}\n\nexport { Stepper }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/warning-icon/tomato\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n stroke: \"#FF584A\",\n strokeWidth: 2,\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 11\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z\",\n id: \"!\",\n fill: \"#FF584A\",\n fillRule: \"nonzero\"\n})));\n\nfunction SvgTomato(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTomato);\nexport default __webpack_public_path__ + \"static/media/tomato.4b561f6f.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport styles from './styles'\n\nconst useStyles = makeStyles(styles)\n\nfunction H1({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h1]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H2({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h2]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H3({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h3]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H4({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h4]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H5({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h5]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n
\n {children}\n
\n )\n}\n\nconst P = pBuilder('p')\nconst Info1 = pBuilder('info1')\nconst Info2 = pBuilder('info2')\nconst Info3 = pBuilder('info3')\nconst Mono = pBuilder('mono')\nconst TL1 = pBuilder('tl1')\nconst TL2 = pBuilder('tl2')\nconst Label1 = pBuilder('label1')\nconst Label2 = pBuilder('label2')\nconst Label3 = pBuilder('label3')\n\nfunction pBuilder(elementClass) {\n return ({ inline, noMargin, className, children, ...props }) => {\n const classes = useStyles()\n const classNames = {\n [className]: !!className,\n [classes[elementClass]]: elementClass,\n [classes.inline]: inline,\n [classes.noMargin]: noMargin\n }\n return (\n

\n {children}\n

\n )\n }\n}\n\nexport {\n H1,\n H2,\n H3,\n H4,\n H5,\n TL1,\n TL2,\n P,\n Info1,\n Info2,\n Info3,\n Mono,\n Label1,\n Label2,\n Label3\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { ReactComponent as ErrorIcon } from 'src/styling/icons/warning-icon/tomato.svg'\nimport { errorColor } from 'src/styling/variables'\n\nimport { Info3 } from './typography'\n\nconst styles = {\n wrapper: {\n display: 'flex',\n alignItems: 'center',\n '& > svg': {\n marginRight: 10\n }\n },\n message: {\n display: 'flex',\n alignItems: 'center',\n color: errorColor,\n margin: 0,\n whiteSpace: 'break-spaces'\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst ErrorMessage = ({ className, children, ...props }) => {\n const classes = useStyles()\n\n return (\n
\n \n {children}\n
\n )\n}\n\nexport default ErrorMessage\n","import { makeStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport { spacer } from 'src/styling/variables'\n\nimport { H1 } from './typography'\n\nconst useStyles = makeStyles({\n title: {\n marginTop: spacer * 3,\n marginBottom: spacer * 3\n }\n})\n\nconst Title = memo(({ children }) => {\n const classes = useStyles()\n return

{children}

\n})\n\nexport default Title\n","import { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Title from 'src/components/Title'\nimport { Label1 } from 'src/components/typography'\n\nimport styles from './TitleSection.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst TitleSection = ({ className, title, error, labels, children }) => {\n const classes = useStyles()\n return (\n
\n
\n {title}\n {error && (\n Failed to save\n )}\n
\n \n {(labels ?? []).map(({ icon, label }, idx) => (\n \n
{icon}
\n {label}\n
\n ))}\n
\n {children}\n
\n )\n}\n\nexport default TitleSection\n","export default {\n titleWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n },\n titleAndButtonsContainer: {\n display: 'flex'\n },\n error: {\n marginLeft: 12\n },\n icon: {\n marginRight: 6\n },\n label: {\n marginRight: 24\n }\n}\n","import { ApolloProvider } from '@apollo/react-hooks'\nimport { InMemoryCache } from 'apollo-cache-inmemory'\nimport { ApolloClient } from 'apollo-client'\nimport { ApolloLink } from 'apollo-link'\nimport { onError } from 'apollo-link-error'\nimport { HttpLink } from 'apollo-link-http'\nimport React from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\n\nconst URI =\n process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : ''\n\nconst getClient = (history, location) =>\n new ApolloClient({\n link: ApolloLink.from([\n onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors)\n graphQLErrors.forEach(({ message, locations, path, extensions }) => {\n if (extensions?.code === 'UNAUTHENTICATED') {\n if (location.pathname !== '/404') history.push('/404')\n }\n console.log(\n `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`\n )\n })\n if (networkError) console.log(`[Network error]: ${networkError}`)\n }),\n new HttpLink({\n credentials: 'include',\n uri: `${URI}/graphql`\n })\n ]),\n cache: new InMemoryCache(),\n defaultOptions: {\n watchQuery: {\n fetchPolicy: 'no-cache',\n errorPolicy: 'ignore'\n },\n query: {\n fetchPolicy: 'no-cache',\n errorPolicy: 'all'\n },\n mutate: {\n errorPolicy: 'all'\n }\n }\n })\n\nconst Provider = ({ children }) => {\n const history = useHistory()\n const location = useLocation()\n const client = getClient(history, location)\n return {children}\n}\n\nexport default Provider\nexport { URI }\n","import typographyStyles from 'src/components/typography/styles'\nimport {\n white,\n fontColor,\n subheaderColor,\n subheaderDarkColor,\n offColor,\n offDarkColor\n} from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nconst colors = (color1, color2, color3) => {\n return {\n backgroundColor: color1,\n '&:hover': {\n backgroundColor: color2\n },\n '&:active': {\n backgroundColor: color3\n }\n }\n}\n\nexport default {\n actionButton: {\n extend: p,\n cursor: 'pointer',\n border: 'none',\n height: 28,\n outline: 0,\n borderRadius: 6,\n padding: '0 8px',\n display: 'flex',\n alignItems: 'center'\n },\n primary: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor),\n '&:active': {\n color: white,\n '& $actionButtonIcon': {\n display: 'none'\n },\n '& $actionButtonIconActive': {\n display: 'flex'\n }\n },\n '& $actionButtonIconActive': {\n display: 'none'\n }\n },\n secondary: {\n extend: colors(offColor, offDarkColor, white),\n color: white,\n '&:active': {\n color: fontColor,\n '& $actionButtonIcon': {\n display: 'flex'\n },\n '& $actionButtonIconActive': {\n display: 'none'\n }\n },\n '& $actionButtonIcon': {\n display: 'none'\n },\n '& $actionButtonIconActive': {\n display: 'flex'\n }\n },\n actionButtonIcon: {\n display: 'flex',\n paddingRight: 7,\n '@global': {\n svg: {\n width: 14,\n height: 14\n }\n }\n },\n actionButtonIconActive: {}\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport styles from './ActionButton.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst ActionButton = memo(\n ({ className, Icon, InverseIcon, color, children, ...props }) => {\n const classes = useStyles()\n const classNames = {\n [classes.actionButton]: true,\n [classes.primary]: color === 'primary',\n [classes.secondary]: color === 'secondary'\n }\n\n return (\n \n )\n }\n)\n\nexport default ActionButton\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/add/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 3.69230769,\n x2: 6,\n y2: 8.30769231,\n id: \"Stroke-3\",\n stroke: \"#1B2559\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.69230769,\n y1: 6,\n x2: 8.30769231,\n y2: 6,\n id: \"Stroke-5\",\n stroke: \"#1B2559\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.a976fef2.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport { ReactComponent as AddIcon } from 'src/styling/icons/button/add/zodiac.svg'\nimport { zircon, zircon2, comet, fontColor, white } from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nconst styles = {\n button: {\n extend: p,\n border: 'none',\n backgroundColor: zircon,\n cursor: 'pointer',\n outline: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 167,\n height: 48,\n color: fontColor,\n '&:hover': {\n backgroundColor: zircon2\n },\n '&:active': {\n backgroundColor: comet,\n color: white,\n '& svg g *': {\n stroke: white\n }\n },\n '& svg': {\n marginRight: 8\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst SimpleButton = memo(({ className, children, ...props }) => {\n const classes = useStyles()\n\n return (\n \n )\n})\n\nexport default SimpleButton\n","import typographyStyles from 'src/components/typography/styles'\nimport {\n white,\n disabledColor,\n secondaryColor,\n secondaryColorDark,\n secondaryColorDarker,\n spacer\n} from 'src/styling/variables'\n\nconst { h1, h3 } = typographyStyles\n\nconst pickSize = size => {\n switch (size) {\n case 'xl':\n return spacer * 7.625\n case 'sm':\n return spacer * 4\n case 'lg':\n default:\n return spacer * 5\n }\n}\n\nexport default {\n wrapper: ({ size }) => {\n const height = pickSize(size)\n const shadowSize = height / 12\n return { height: height + shadowSize / 2 }\n },\n button: ({ size }) => {\n const height = pickSize(size)\n const shadowSize = size === 'xl' ? 3 : height / 12\n const padding = size === 'xl' ? 20 : height / 2\n\n return {\n extend: size === 'xl' ? h1 : h3,\n border: 'none',\n color: white,\n cursor: 'pointer',\n fontWeight: 900,\n outline: 0,\n backgroundColor: secondaryColor,\n '&:disabled': {\n backgroundColor: disabledColor,\n boxShadow: 'none',\n '&:hover': {\n backgroundColor: disabledColor,\n boxShadow: 'none'\n },\n '&:active': {\n marginTop: 0\n }\n },\n shadowSize,\n height,\n padding: `0 ${padding}px`,\n borderRadius: height / 4,\n boxShadow: `0 ${shadowSize}px ${secondaryColorDark}`,\n '&:hover': {\n backgroundColor: secondaryColorDark,\n boxShadow: `0 ${shadowSize}px ${secondaryColorDarker}`\n },\n '&:active': {\n marginTop: shadowSize / 2,\n backgroundColor: secondaryColorDark,\n boxShadow: `0 ${shadowSize / 2}px ${secondaryColorDarker}`\n }\n }\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport styles from './Button.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst ActionButton = memo(({ size = 'lg', children, className, ...props }) => {\n const classes = useStyles({ size })\n return (\n
\n \n
\n )\n})\n\nexport default ActionButton\n","import {\n white,\n fontColor,\n subheaderColor,\n subheaderDarkColor,\n offColor,\n offDarkColor\n} from 'src/styling/variables'\n\nconst colors = (color1, color2, color3) => {\n return {\n backgroundColor: color1,\n '&:hover': {\n backgroundColor: color2\n },\n '&:active': {\n backgroundColor: color3\n }\n }\n}\n\nconst buttonHeight = 32\n\nexport default {\n baseButton: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor),\n cursor: 'pointer',\n border: 'none',\n outline: 0,\n height: buttonHeight,\n color: fontColor,\n '&:active': {\n color: white\n }\n },\n primary: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor),\n '&:active': {\n color: white,\n '& $buttonIcon': {\n display: 'none'\n },\n '& $buttonIconActive': {\n display: 'block'\n }\n },\n '& $buttonIconActive': {\n display: 'none'\n }\n },\n secondary: {\n extend: colors(offColor, offDarkColor, white),\n color: white,\n '&:active': {\n color: fontColor,\n '& $buttonIcon': {\n display: 'flex'\n },\n '& $buttonIconActive': {\n display: 'none'\n }\n },\n '& $buttonIcon': {\n display: 'none'\n },\n '& $buttonIconActive': {\n display: 'flex'\n }\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport baseButtonStyles from './BaseButton.styles'\n\nconst { baseButton, primary } = baseButtonStyles\n\nconst styles = {\n featureButton: {\n extend: baseButton,\n width: baseButton.height,\n borderRadius: baseButton.height / 2,\n display: 'flex',\n padding: 0\n },\n primary,\n buttonIcon: {\n margin: 'auto',\n '& svg': {\n width: 16,\n height: 16,\n overflow: 'visible',\n '& g': {\n strokeWidth: 1.8\n }\n }\n },\n buttonIconActive: {} // required to extend primary\n}\n\nconst useStyles = makeStyles(styles)\n\nconst FeatureButton = memo(\n ({ className, Icon, InverseIcon, children, ...props }) => {\n const classes = useStyles()\n\n const classNames = {\n [classes.featureButton]: true,\n [classes.primary]: true\n }\n\n return (\n \n )\n }\n)\n\nexport default FeatureButton\n","import { makeStyles, Popper as MaterialPopper, Paper } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { white } from 'src/styling/variables'\n\nconst Popover = ({\n children,\n bgColor = white,\n arrowSize = 6,\n className,\n ...props\n}) => {\n const [arrowRef, setArrowRef] = useState(null)\n\n const styles = {\n popover: {\n zIndex: 3000,\n backgroundColor: bgColor,\n borderRadius: 4\n },\n arrow: {\n position: 'absolute',\n fontSize: arrowSize,\n width: '3em',\n height: '3em'\n },\n arrowBottom: {\n top: 0,\n width: 0,\n height: 0,\n borderLeft: [['2em', 'solid', 'transparent']],\n borderRight: [['2em', 'solid', 'transparent']],\n borderBottom: [['2em', 'solid', bgColor]],\n marginTop: '-1.9em',\n '&:after': {\n zIndex: -10,\n content: '\"\"',\n position: 'absolute',\n width: arrowSize * 3,\n height: arrowSize * 3,\n marginLeft: 0,\n bottom: 0,\n top: 'calc(50% - 0px)',\n left: 0,\n border: '5px solid #fff',\n borderColor: 'transparent transparent #fff #fff',\n transformOrigin: '0 0',\n transform: 'rotate(45deg)',\n boxShadow:\n '0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)'\n }\n },\n arrowTop: {\n bottom: 0,\n width: 0,\n height: 0,\n borderLeft: [['2em', 'solid', 'transparent']],\n borderRight: [['2em', 'solid', 'transparent']],\n borderTop: [['2em', 'solid', bgColor]],\n marginBottom: '-1.9em',\n '&:after': {\n zIndex: -10,\n content: '\"\"',\n position: 'absolute',\n width: arrowSize * 3,\n height: arrowSize * 3,\n marginLeft: 0,\n bottom: 0,\n top: -(arrowSize * 4 + 2),\n left: 0,\n border: '5px solid #fff',\n borderColor: 'transparent transparent #fff #fff',\n transformOrigin: '0 0',\n transform: 'rotate(45deg)',\n boxShadow:\n '0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)'\n }\n },\n arrowRight: {\n left: 0,\n width: 0,\n height: 0,\n borderTop: [['2em', 'solid', 'transparent']],\n borderBottom: [['2em', 'solid', 'transparent']],\n borderRight: [['2em', 'solid', bgColor]],\n marginLeft: '-1.9em'\n },\n arrowLeft: {\n right: 0,\n width: 0,\n height: 0,\n borderTop: [['2em', 'solid', 'transparent']],\n borderBottom: [['2em', 'solid', 'transparent']],\n borderLeft: [['2em', 'solid', bgColor]],\n marginRight: '-1.9em'\n },\n root: {\n backgroundColor: bgColor\n }\n }\n\n const useStyles = makeStyles(styles)\n\n const classes = useStyles()\n\n const arrowClasses = {\n [classes.arrow]: true,\n [classes.arrowBottom]: props.placement === 'bottom',\n [classes.arrowTop]: props.placement === 'top',\n [classes.arrowRight]: props.placement === 'right',\n [classes.arrowLeft]: props.placement === 'left'\n }\n\n const modifiers = R.merge(props.modifiers, {\n flip: {\n enabled: false\n },\n preventOverflow: {\n enabled: true,\n boundariesElement: 'scrollParent'\n },\n offset: {\n enabled: true,\n offset: '0, 10'\n },\n arrow: {\n enabled: true,\n element: arrowRef\n },\n computeStyle: {\n gpuAcceleration: false\n }\n })\n\n return (\n <>\n \n \n \n {children}\n \n \n \n )\n}\n\nexport default Popover\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { useState, memo } from 'react'\n\nimport Popover from 'src/components/Popper'\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n subheaderColor,\n subheaderDarkColor,\n offColor\n} from 'src/styling/variables'\n\nconst { info2 } = typographyStyles\n\nconst colors = (color1, color2, color3) => {\n return {\n backgroundColor: color1,\n '&:hover': {\n backgroundColor: color2\n },\n '&:active': {\n backgroundColor: color3\n }\n }\n}\n\nconst styles = {\n idButton: {\n width: 34,\n height: 28,\n display: 'flex',\n borderRadius: 4,\n padding: 0,\n border: 'none',\n cursor: 'pointer'\n },\n buttonIcon: {\n margin: 'auto',\n lineHeight: 1,\n '& svg': {\n overflow: 'visible'\n }\n },\n closed: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor)\n },\n open: {\n extend: colors(offColor, offColor, offColor)\n },\n popoverContent: {\n extend: info2,\n padding: 8,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 4,\n '& img': {\n maxHeight: 145\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst IDButton = memo(\n ({\n name,\n className,\n Icon,\n InverseIcon,\n popoverWidth = 152,\n children,\n popoverClassname,\n ...props\n }) => {\n const [anchorEl, setAnchorEl] = useState(null)\n\n const classes = useStyles()\n\n const open = Boolean(anchorEl)\n const id = open ? `simple-popper-${name}` : undefined\n\n const classNames = {\n [classes.idButton]: true,\n [classes.primary]: true,\n [classes.open]: open,\n [classes.closed]: !open\n }\n\n const iconClassNames = {\n [classes.buttonIcon]: true\n }\n\n const handleClick = event => {\n setAnchorEl(anchorEl ? null : event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n \n {Icon && !open && (\n
\n \n
\n )}\n {InverseIcon && open && (\n
\n \n
\n )}\n \n \n
\n
{children}
\n
\n \n \n )\n }\n)\n\nexport default IDButton\n","import { makeStyles, IconButton as IconB } from '@material-ui/core'\nimport React from 'react'\n\nimport { comet } from 'src/styling/variables'\n\nconst styles = {\n label: ({ size }) => ({\n width: size,\n height: size\n }),\n root: {\n '& svg': {\n flex: 1\n },\n '&:hover': {\n backgroundColor: 'inherit'\n },\n '&:hover rect': {\n stroke: comet\n },\n '&:hover polygon': {\n stroke: comet\n },\n '&:hover path': {\n stroke: comet\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst IconButton = ({ size, children, onClick, ...props }) => {\n const classes = useStyles({ size })\n return (\n \n {children}\n \n )\n}\n\nexport default IconButton\n","import { fade } from '@material-ui/core/styles/colorManipulator'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n white,\n linkPrimaryColor,\n linkSecondaryColor,\n zircon\n} from 'src/styling/variables'\n\nconst { h4 } = typographyStyles\n\nconst color = color => ({\n boxShadow: `inset 0 -4px 0 0 ${fade(color, 0.8)}`,\n '&:hover': {\n boxShadow: 'none',\n backgroundColor: fade(color, 0.8)\n }\n})\n\nexport default {\n link: {\n extend: h4,\n textDecoration: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: '0',\n height: '100%'\n },\n primary: {\n extend: color(linkPrimaryColor)\n },\n secondary: {\n extend: color(linkSecondaryColor),\n '&:hover': {\n color: white\n }\n },\n noColor: {\n extend: color(white)\n },\n action: {\n extend: color(linkPrimaryColor),\n color: zircon\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport styles from './Link.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Link = memo(\n ({ submit, className, children, color = 'primary', ...props }) => {\n const classes = useStyles()\n const classNames = {\n [classes.link]: true,\n [classes.primary]: color === 'primary',\n [classes.secondary]: color === 'secondary',\n [classes.noColor]: color === 'noColor',\n [classes.action]: color === 'action'\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default Link\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport baseButtonStyles from './BaseButton.styles'\n\nconst { baseButton, primary } = baseButtonStyles\n\nconst styles = {\n button: {\n extend: baseButton,\n borderRadius: baseButton.height / 2,\n outline: 0,\n padding: '0 20px'\n },\n primary,\n buttonIcon: {\n marginTop: 4,\n marginRight: 4,\n '& svg': {\n width: 20,\n height: 20,\n overflow: 'visible'\n }\n },\n buttonIconActive: {} // required to extend primary\n}\n\nconst useStyles = makeStyles(styles)\n\nconst SimpleButton = memo(\n ({ className, Icon, InverseIcon, children, color, size, ...props }) => {\n const classes = useStyles()\n\n return (\n \n {Icon && (\n
\n \n
\n )}\n {InverseIcon && (\n \n \n \n )}\n {children}\n \n )\n }\n)\n\nexport default SimpleButton\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/cancel/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 10,\n y1: 0,\n x2: 0,\n y2: 10,\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 0,\n x2: 10,\n y2: 10,\n id: \"Stroke-3\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.41439910.svg\";\nexport { ForwardRef as ReactComponent };","import baseButtonStyles from 'src/components/buttons/BaseButton.styles'\nimport { offColor, white } from 'src/styling/variables'\n\nconst { baseButton } = baseButtonStyles\n\nexport default {\n button: {\n extend: baseButton,\n padding: 0,\n color: white,\n borderRadius: baseButton.height / 2\n },\n normalButton: {\n width: baseButton.height\n },\n activeButton: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: offColor,\n fontWeight: 'bold',\n padding: '0 5px',\n '&:hover': {\n backgroundColor: offColor\n }\n },\n buttonIcon: {\n '& svg': {\n width: 16,\n height: 16,\n overflow: 'visible',\n '& g': {\n strokeWidth: 1.8\n }\n }\n },\n buttonIconActiveLeft: {\n marginRight: 12\n },\n buttonIconActiveRight: {\n marginRight: 5,\n marginLeft: 20\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo, useState } from 'react'\n\nimport { ReactComponent as CancelIconInverse } from 'src/styling/icons/button/cancel/white.svg'\n\nimport subpageButtonStyles from './SubpageButton.styles'\n\nconst useStyles = makeStyles(subpageButtonStyles)\n\nconst SubpageButton = memo(\n ({ className, Icon, InverseIcon, toggle, children }) => {\n const [active, setActive] = useState(false)\n\n const classes = useStyles()\n\n const classNames = {\n [classes.button]: true,\n [classes.normalButton]: !active,\n [classes.activeButton]: active\n }\n\n const normalButton = \n\n const activeButton = (\n <>\n \n {children}\n \n \n )\n\n const innerToggle = () => {\n const newActiveState = !active\n toggle(newActiveState)\n setActive(newActiveState)\n }\n\n return (\n \n {active ? activeButton : normalButton}\n \n )\n }\n)\n\nexport default SubpageButton\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/external-link/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n points: \"20 12.1113 20 21.0003 0 21.0003 0 1.0003 8.889 1.0003\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n points: \"14.4443 1 20.0003 1 20.0003 6.556\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 10,\n y1: 11,\n x2: 20,\n y2: 1,\n id: \"Stroke-5\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.9814829c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/external-link/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n transform: \"translate(0.000000, 1.000000)\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"20 11.1113 20 20.0003 0 20.0003 0 0.0003 8.889 0.0003\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"14.4443 0 20.0003 0 20.0003 5.556\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 10,\n y1: 10,\n x2: 20,\n y2: 0,\n id: \"Stroke-5\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.6cff3051.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { ActionButton } from 'src/components/buttons'\nimport { ReactComponent as InverseLinkIcon } from 'src/styling/icons/action/external link/white.svg'\nimport { ReactComponent as LinkIcon } from 'src/styling/icons/action/external link/zodiac.svg'\nimport { spacer, primaryColor } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n actionButton: {\n marginBottom: spacer * 4\n },\n actionButtonLink: {\n textDecoration: 'none',\n color: primaryColor\n }\n})\n\nconst SupportLinkButton = ({ link, label }) => {\n const classes = useStyles()\n return (\n \n \n {label}\n \n \n )\n}\n\nexport default SupportLinkButton\n","import { bySize, bold } from 'src/styling/helpers'\nimport { secondaryColor } from 'src/styling/variables'\n\nexport default {\n size: ({ size }) => ({\n marginTop: size === 'lg' ? 0 : 2,\n ...bySize(size)\n }),\n bold,\n root: ({ width, textAlign }) => ({\n width,\n '& input': {\n textAlign\n }\n }),\n underline: {\n '&:before': {\n borderBottomColor: secondaryColor\n },\n '&:hover:not(.Mui-disabled)::before': {\n borderBottomColor: secondaryColor\n }\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport TextField from '@material-ui/core/TextField'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport styles from './TextInput.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst TextInput = memo(\n ({\n name,\n onChange,\n onBlur,\n value,\n error,\n suffix,\n textAlign,\n width,\n // lg or sm\n size,\n bold,\n className,\n InputProps,\n ...props\n }) => {\n const classes = useStyles({ textAlign, width, size })\n const filled = !error && !R.isNil(value) && !R.isEmpty(value)\n\n const inputClasses = {\n [classes.bold]: bold\n }\n\n return (\n \n )\n }\n)\n\nexport default TextInput\n","import MAutocomplete from '@material-ui/lab/Autocomplete'\nimport sort from 'match-sorter'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport TextInput from './TextInput'\n\nconst Autocomplete = ({\n optionsLimit = 5, // set limit = null for no limit\n limit,\n options,\n label,\n valueProp,\n multiple,\n onChange,\n getLabel,\n value: outsideValue,\n error,\n fullWidth,\n textAlign,\n size,\n autoFocus,\n ...props\n}) => {\n const mapFromValue = options => it => R.find(R.propEq(valueProp, it))(options)\n const mapToValue = R.prop(valueProp)\n\n const getValue = () => {\n if (!valueProp) return outsideValue\n\n const transform = multiple\n ? R.map(mapFromValue(options))\n : mapFromValue(options)\n\n return transform(outsideValue)\n }\n\n const value = getValue()\n\n const innerOnChange = (evt, value) => {\n if (!valueProp) return onChange(evt, value)\n\n const rValue = multiple ? R.map(mapToValue)(value) : mapToValue(value)\n onChange(evt, rValue)\n }\n\n const valueArray = () => {\n if (R.isNil(value)) return []\n return multiple ? value : [value]\n }\n\n const filter = (array, input) =>\n sort(array, input, { keys: ['code', 'display'] })\n\n const filterOptions = (array, { inputValue }) =>\n R.union(\n R.isEmpty(inputValue) ? valueArray() : [],\n filter(array, inputValue)\n ).slice(\n 0,\n R.defaultTo(undefined)(limit) &&\n Math.max(limit, R.isEmpty(inputValue) ? valueArray().length : 0)\n )\n\n return (\n {\n return (\n \n )\n }}\n />\n )\n}\n\nexport default Autocomplete\n","import Checkbox from '@material-ui/core/Checkbox'\nimport { makeStyles } from '@material-ui/core/styles'\nimport CheckBoxIcon from '@material-ui/icons/CheckBox'\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank'\nimport React from 'react'\n\nimport { fontSize2, fontSize3, secondaryColor } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n root: {\n color: secondaryColor,\n '&$checked': {\n color: secondaryColor\n }\n },\n checked: {}\n})\n\nconst CheckboxInput = ({ name, onChange, value, label, ...props }) => {\n const classes = useStyles()\n\n return (\n \n }\n checkedIcon={}\n disableRipple\n {...props}\n />\n )\n}\n\nexport default CheckboxInput\n","import React, { memo } from 'react'\nimport NumberFormat from 'react-number-format'\n\nimport TextInput from './TextInput'\n\nconst NumberInput = memo(\n ({\n name,\n onChange,\n onBlur,\n value,\n error,\n suffix,\n textAlign,\n width,\n // lg or sm\n size,\n bold,\n className,\n decimalPlaces,\n InputProps,\n ...props\n }) => {\n return (\n {\n onChange({\n target: {\n id: name,\n value: values.floatValue\n }\n })\n }}\n {...props}\n />\n )\n }\n)\n\nexport default NumberInput\n","import {\n Radio,\n RadioGroup as MRadioGroup,\n FormControlLabel,\n makeStyles\n} from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { Label1 } from 'src/components/typography'\n\nconst styles = {\n label: {\n height: 16,\n lineHeight: '16px',\n margin: [[0, 0, 4, 0]],\n paddingLeft: 3\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst RadioGroup = ({\n name,\n label,\n value,\n options,\n onChange,\n className,\n labelClassName,\n radioClassName\n}) => {\n const classes = useStyles()\n\n return (\n <>\n {label && {label}}\n \n {options.map((option, idx) => (\n }\n label={option.display}\n className={classnames(labelClassName)}\n />\n ))}\n \n \n )\n}\n\nexport default RadioGroup\n","import React, { memo, useState } from 'react'\n\nimport { TextInput } from '../base'\n\nconst SecretInput = memo(({ value, onFocus, onBlur, ...props }) => {\n const [focused, setFocused] = useState(false)\n\n const placeholder = '⚬ ⚬ ⚬ This field is set ⚬ ⚬ ⚬'\n const previouslyFilled = !!value\n const tempValue = previouslyFilled ? '' : value\n\n const innerOnFocus = event => {\n setFocused(true)\n onFocus && onFocus(event)\n }\n\n const innerOnBlur = event => {\n setFocused(false)\n onBlur && onBlur(event)\n }\n\n return (\n \n )\n})\n\nexport default SecretInput\n","import Switch from '@material-ui/core/Switch'\nimport { makeStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport {\n secondaryColor,\n offColor,\n disabledColor,\n disabledColor2\n} from '../../../styling/variables'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: 32,\n height: 20,\n padding: 0,\n margin: theme.spacing(1)\n },\n switchBase: {\n padding: 2,\n '&$disabled': {\n color: disabledColor2,\n '& + $track': {\n backgroundColor: disabledColor,\n opacity: 1\n }\n },\n '&$checked': {\n transform: 'translateX(58%)',\n color: theme.palette.common.white,\n '&$disabled': {\n color: disabledColor2\n },\n '& + $track': {\n backgroundColor: secondaryColor,\n opacity: 1,\n border: 'none'\n }\n },\n '&$focusVisible $thumb': {\n border: '6px solid #fff'\n }\n },\n thumb: {\n width: 16,\n height: 16\n },\n track: {\n borderRadius: 17,\n border: 'none',\n backgroundColor: offColor,\n opacity: 1,\n transition: theme.transitions.create(['background-color', 'border'])\n },\n disabled: {},\n checked: {},\n focusVisible: {}\n}))\n\nconst SwitchInput = memo(({ ...props }) => {\n const classes = useStyles()\n return (\n \n )\n})\n\nexport default SwitchInput\n","import { useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Autocomplete } from '../base'\n\nconst AutocompleteFormik = ({ options, onChange, ...props }) => {\n const [open, setOpen] = useState(false)\n\n const { name, onBlur, value } = props.field\n const { touched, errors, setFieldValue, setFieldTouched } = props.form\n const error = !!(touched[name] && errors[name])\n const { initialValues, values } = useFormikContext()\n\n const innerOptions =\n R.type(options) === 'Function' ? options(initialValues, values) : options\n\n const innerOnBlur = event => {\n name && setFieldTouched(name, true)\n onBlur && onBlur(event)\n }\n\n const onChangeHandler = value => setFieldValue(name, value)\n\n return (\n {\n if (onChange) return onChange(value, item, onChangeHandler)\n setFieldValue(name, item)\n }}\n onBlur={innerOnBlur}\n value={value}\n error={error}\n open={open}\n options={innerOptions}\n onOpen={() => {\n if (!props.multiple) return setOpen(true)\n setOpen(value?.length !== props.limit)\n }}\n onClose={() => setOpen(false)}\n {...props}\n />\n )\n}\n\nexport default AutocompleteFormik\n","import React, { memo } from 'react'\n\nimport { NumberInput } from '../base'\n\nconst NumberInputFormik = memo(({ decimalPlaces, ...props }) => {\n const { name, onChange, onBlur, value } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n return (\n \n )\n})\n\nexport default NumberInputFormik\n","import React, { memo } from 'react'\n\nimport { RadioGroup } from '../base'\n\nconst RadioGroupFormik = memo(({ label, ...props }) => {\n const { name, onChange, value } = props.field\n\n return (\n {\n onChange(e)\n props.resetError && props.resetError()\n }}\n className={props.className}\n {...props}\n />\n )\n})\n\nexport default RadioGroupFormik\n","import React, { memo } from 'react'\n\nimport { SecretInput } from '../base'\n\nconst SecretInputFormik = memo(({ ...props }) => {\n const { name, onChange, onBlur, value } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n return (\n \n )\n})\n\nexport default SecretInputFormik\n","import React, { memo } from 'react'\n\nimport { TextInput } from '../base'\n\nconst TextInputFormik = memo(({ ...props }) => {\n const { name, onChange, onBlur, value } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n return (\n \n )\n})\n\nexport default TextInputFormik\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\n\\t.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#1B2559;}\\n\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"color_x2F_primary_x2F_zodiac\",\n transform: \"translate(-0.000000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Mask\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path-1_1_\",\n className: \"st0\",\n d: \"M11.1,9l6.5,6.5c0.6,0.6,0.6,1.5,0,2.1c-0.3,0.3-0.7,0.4-1.1,0.4c-0.4,0-0.8-0.2-1.1-0.4 L9,11.1l-6.5,6.5C2.3,17.8,1.9,18,1.5,18c-0.4,0-0.8-0.2-1.1-0.4c-0.6-0.6-0.6-1.5,0-2.1L6.9,9L0.4,2.5C-0.1,2-0.1,1,0.4,0.4 C1-0.1,2-0.1,2.5,0.4L9,6.9l6.5-6.5c0.6-0.6,1.5-0.6,2.1,0c0.6,0.6,0.6,1.5,0,2.1L11.1,9z\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 18 18\",\n style: {\n enableBackground: \"new 0 0 18 18\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.5547e32c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/warning-icon/comet\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n stroke: \"#5F668A\",\n strokeWidth: 2,\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 11\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z\",\n id: \"!\",\n fill: \"#5F668A\",\n fillRule: \"nonzero\"\n})));\n\nfunction SvgComet(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgComet);\nexport default __webpack_public_path__ + \"static/media/comet.9dc291f2.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport {\n placeholderColor,\n backgroundColor,\n primaryColor,\n mainWidth\n} from 'src/styling/variables'\n\nconst { tl2, p } = typographyStyles\n\nconst fill = '100%'\nconst flexDirection = 'column'\n\nconst styles = {\n dialog: {\n backgroundColor,\n width: fill,\n minHeight: fill,\n display: 'flex',\n flexDirection,\n padding: 0\n },\n wrapper: {\n width: mainWidth,\n height: fill,\n margin: '0 auto',\n flex: 1,\n display: 'flex',\n flexDirection\n },\n contentDiv: {\n display: 'flex',\n flex: 1,\n flexDirection: 'row'\n },\n headerDiv: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n contentWrapper: {\n marginLeft: 48\n },\n button: {\n marginTop: 64\n },\n nameTitle: {\n marginTop: 16,\n marginBottom: 25\n },\n qrTitle: {\n marginTop: 12,\n marginBottom: 40\n },\n qrCodeWrapper: {\n display: 'flex'\n },\n qrTextWrapper: {\n width: 381,\n marginLeft: 80,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n qrTextIcon: {\n marginRight: 16\n },\n qrText: {\n marginTop: 0\n },\n item: {\n position: 'relative',\n margin: '12px 0 12px 0',\n display: 'flex'\n },\n itemText: {\n extend: p,\n color: placeholderColor,\n marginRight: 24\n },\n itemTextActive: {\n extend: tl2,\n color: primaryColor\n },\n itemTextPast: {\n color: primaryColor\n },\n stepperPath: {\n position: 'absolute',\n height: 25,\n width: 1,\n border: [[1, 'solid', placeholderColor]],\n right: 8,\n top: 18\n },\n stepperPast: {\n border: [[1, 'solid', primaryColor]]\n }\n}\n\nexport default styles\n","import { useMutation, useQuery } from '@apollo/react-hooks'\nimport { Dialog, DialogContent, SvgIcon, IconButton } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport { Form, Formik, FastField } from 'formik'\nimport gql from 'graphql-tag'\nimport QRCode from 'qrcode.react'\nimport * as R from 'ramda'\nimport React, { memo, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport Title from 'src/components/Title'\nimport { Button } from 'src/components/buttons'\nimport { TextInput } from 'src/components/inputs/formik'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport { Info2, P } from 'src/components/typography'\nimport { ReactComponent as CloseIcon } from 'src/styling/icons/action/close/zodiac.svg'\nimport { ReactComponent as CompleteStageIconZodiac } from 'src/styling/icons/stage/zodiac/complete.svg'\nimport { ReactComponent as CurrentStageIconZodiac } from 'src/styling/icons/stage/zodiac/current.svg'\nimport { ReactComponent as EmptyStageIconZodiac } from 'src/styling/icons/stage/zodiac/empty.svg'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\nimport { primaryColor } from 'src/styling/variables'\n\nimport styles from './styles'\n\nconst SAVE_CONFIG = gql`\n mutation createPairingTotem($name: String!) {\n createPairingTotem(name: $name)\n }\n`\nconst GET_MACHINES = gql`\n {\n machines {\n name\n deviceId\n }\n }\n`\n\nconst useStyles = makeStyles(styles)\n\nconst getSize = R.compose(R.length, R.pathOr([], ['machines']))\n\nconst QrCodeComponent = ({ classes, qrCode, name, count, onPaired }) => {\n const { data } = useQuery(GET_MACHINES, { pollInterval: 10000 })\n\n const addedMachine = data?.machines?.find(m => m.name === name)\n if (getSize(data) > count && addedMachine) onPaired(addedMachine)\n\n return (\n <>\n \n Scan QR code with your new cryptomat\n \n
\n
\n \n
\n
\n
\n
\n \n
\n

\n To pair the machine you need scan the QR code with your machine.\n To do this either snap a picture of this QR code or download it\n through the button above and scan it with the scanning bay on your\n machine.\n

\n
\n
\n
\n \n )\n}\n\nconst initialValues = {\n name: ''\n}\n\nconst validationSchema = Yup.object().shape({\n name: Yup.string()\n .required()\n .max(50)\n})\n\nconst MachineNameComponent = ({ nextStep, classes, setQrCode, setName }) => {\n const [register] = useMutation(SAVE_CONFIG, {\n onCompleted: ({ createPairingTotem }) => {\n if (process.env.NODE_ENV === 'development') {\n console.log(`totem: \"${createPairingTotem}\" `)\n }\n setQrCode(createPairingTotem)\n nextStep()\n },\n onError: e => console.log(e)\n })\n\n return (\n <>\n \n Machine Name (ex: Coffee shop 01)\n \n {\n setName(name)\n register({ variables: { name } })\n }}>\n
\n
\n \n
\n
\n \n
\n
\n \n \n )\n}\n\nconst steps = [\n {\n label: 'Machine name',\n component: MachineNameComponent\n },\n {\n label: 'Scan QR code',\n component: QrCodeComponent\n }\n]\n\nconst renderStepper = (step, it, idx, classes) => {\n const active = step === idx\n const past = idx < step\n const future = idx > step\n\n return (\n
\n \n {it.label}\n \n {active && }\n {past && }\n {future && }\n {idx < steps.length - 1 && (\n
\n )}\n \n )\n}\n\nconst AddMachine = memo(({ close, onPaired }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_MACHINES)\n const [qrCode, setQrCode] = useState('')\n const [name, setName] = useState('')\n const [step, setStep] = useState(0)\n const count = getSize(data)\n\n const Component = steps[step].component\n\n return (\n
\n \n \n
\n
\n Add Machine\n \n \n \n \n \n
\n
\n \n {steps.map((it, idx) => renderStepper(step, it, idx, classes))}\n \n
\n setStep(1)}\n count={count}\n onPaired={onPaired}\n qrCode={qrCode}\n setQrCode={setQrCode}\n name={name}\n setName={setName}\n />\n
\n
\n
\n
\n \n
\n )\n})\n\nexport default AddMachine\n","import AddMachine from './AddMachine'\n\nexport default AddMachine\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/add/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 3.69230769,\n x2: 6,\n y2: 8.30769231,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.69230769,\n y1: 6,\n x2: 8.30769231,\n y2: 6,\n id: \"Stroke-5\",\n stroke: \"#FFFFFF\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.cc7667ff.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8413132,12.8764646 C17.8413132,12.8764646 16.6555879,12.5091919 15.661533,12.2855556 C15.661533,12.2855556 15.3477198,10.3246465 14.8939121,8.23646465 C14.8939121,8.23646465 15.1560495,8.21373737 15.3383242,8.8710101 L16.0223242,12.0219192 C16.0223242,12.0219192 17.2343571,12.2991919 18.1795549,12.6537374 L17.8413132,12.8764646 Z M15.2603407,6.10282828 L15.5328132,5.80555556 C16.0627253,5.87828283 16.3483516,6.02828283 16.3483516,6.02828283 L16.291978,6.11191919 L16.3972088,6.9310101 C16.2440604,6.93646465 16.0091703,7.05919192 16.0091703,7.05919192 L15.8315934,6.95010101 L15.8315934,6.38282828 C15.3026209,6.29919192 15.2556429,6.21828283 15.2556429,6.21828283 L15.2603407,6.10282828 Z M12.4557527,18.2873737 C11.2831813,18.4964646 9.84565385,18.2237374 9.84565385,18.2237374 L9.89732967,17.9991919 C9.89732967,17.9991919 11.6496099,18.1955556 12.6248736,17.8973737 C12.5553462,18.0628283 12.5356154,18.1137374 12.4557527,18.2873737 L12.4557527,18.2873737 Z M9.18984066,14.5464646 C8.379,15.1364646 7.56064286,15.6791919 7.00442308,16.1091919 C6.9705989,16.6955556 6.91516484,17.6464646 6.91516484,17.6464646 L5.46448352,18.5182828 L5.22207692,18.3737374 C5.27845055,17.9219192 5.34891758,17.5882828 5.34891758,17.5882828 L5.55186264,17.4410101 C5.50676374,17.7282828 5.48515385,18.1346465 5.48515385,18.1346465 L6.5928956,17.440101 C6.63705495,16.7019192 6.72443407,15.960101 6.72443407,15.960101 C6.9705989,15.7373737 8.73697253,14.5237374 10.0100803,13.6864646 C10.0100803,13.6864646 10.018533,13.9437374 9.18984066,14.5464646 L9.18984066,14.5464646 Z M14.977533,0.195555556 C15.2612802,0.167373737 15.5065055,0.184646465 15.7103901,0.228282828 L15.7103901,0.228282828 L15.8813901,0.697373737 L16.1003077,0.361919192 C16.2694286,0.447373737 16.3746593,0.547373737 16.4056648,0.624646465 C16.4056648,0.624646465 16.3615055,0.909191919 16.4319725,1.36464646 C16.5005604,1.80373737 16.6988077,2.78191919 16.6988077,2.78191919 C16.9740989,3.00646465 17.2850934,3.51282828 17.2850934,3.51282828 C17.4758242,4.41737374 17.4645495,5.04919192 17.4636099,5.1210101 C16.6734396,4.68646465 15.6173736,4.58555556 15.6173736,4.58555556 L15.6173736,4.58555556 L15.2481264,4.90828283 C15.9753462,5.00828283 16.8792033,5.26555556 17.1122143,5.44555556 C17.2484505,5.74737374 17.3386484,6.22828283 17.3386484,6.22828283 L17.3386484,6.22828283 L17.0445659,6.58919192 L17.3198571,6.8810101 C17.3386484,7.22464646 17.2183846,7.56919192 17.2183846,7.56919192 C17.7905769,7.93010101 17.9512418,8.79373737 18.3101538,10.250101 C18.6700055,11.7064646 18.9903956,12.9055556 18.9903956,12.9055556 L18.9903956,12.9055556 L18.4567253,13.2019192 C19.1623352,15.7282828 18.444511,17.7391919 17.5378352,19.0664646 C16.6320989,20.3946465 16.0862143,21.7137374 16.1031264,22.8910101 L16.1031264,22.8910101 L16.5475385,23.2346465 L16.7749121,23.9491919 L14.3048077,23.9491919 L14.293533,23.2728283 C14.2925934,21.5619192 14.9230385,20.1328283 14.9230385,20.1328283 C15.2857088,20.0473737 15.6596538,19.7628283 15.6596538,19.7628283 C15.0733681,19.8828283 14.3414505,19.7964646 14.3414505,19.7964646 C14.8676044,18.8537374 15.0292088,18.1773737 15.0292088,18.1773737 L15.0292088,18.1773737 L14.7811648,18.1228283 C14.6956648,18.310101 14.6073462,18.4937374 14.5133901,18.6710101 C13.8754286,19.8864646 13.1735769,20.6628283 12.7554725,22.4055556 L12.7554725,22.4055556 L13.1933077,22.7455556 L13.6987912,23.9491919 L10.8509835,23.9491919 C10.8340714,21.8246465 11.495522,20.2273737 11.7341703,19.7628283 C10.2233571,19.9264646 8.42128022,19.1782828 6.99314835,19.4664646 C6.60041209,21.9473737 4.59257143,22.4355556 3.65019231,22.300101 L3.65019231,22.300101 L2.97652747,23.4146465 L3.58724176,23.9491919 L1.33135714,23.9491919 C1.32008242,23.8546465 1.2918956,23.7537374 1.22988462,23.6591919 C1.22988462,23.6591919 1.97401648,22.5882828 2.48231868,21.150101 C2.89008791,21.3255556 3.75166484,20.9928283 3.78736813,20.1055556 C3.82401099,19.2191919 3.67086264,17.8419192 4.46854945,16.7891919 C5.2652967,15.7355556 6.12687363,15.1655556 7.25152747,14.3328283 C7.98250549,13.7910101 9.22084615,12.8755556 9.99974176,12.3010101 L9.99974176,12.3010101 L9.61546154,12.3864646 L6.81087363,14.6491919 L5.82997253,14.6491919 L8.66368681,12.1164646 L8.29725824,12.1091919 L5.33576374,14.6491919 L4.34170879,14.6491919 L7.27313736,11.720101 L6.9208022,11.7173737 L3.88038462,14.6491919 L2.86565934,14.6491919 L5.8093022,11.3037374 L5.46918132,11.3055556 L2.43534066,14.6491919 L1.36706044,14.6491919 L4.22614286,10.8528283 L3.89635714,10.8573737 L0.963989011,14.6491919 L0,14.6491919 C0,14.6491919 4.11809341,8.22464646 4.92893407,7.00737374 C5.73883516,5.79010101 6.6192033,4.62282828 8.06894505,4.38464646 C9.53465934,4.14282828 10.5343516,4.46646465 11.2502967,5.63373737 C11.636456,6.2610101 12.1034176,6.97828283 12.4698462,7.55919192 C12.0968407,8.1510101 11.6298791,8.6110101 11.5857198,9.32282828 C11.534044,10.1419192 12.0921429,10.6373737 12.6558791,10.6773737 C12.2321374,10.5282828 11.8976538,10.0337374 12.0489231,9.37646465 C12.2058297,8.69737374 12.7554725,8.35191919 13.1726374,7.80282828 C13.5315495,7.32828283 13.5371868,6.63282828 13.5108791,6.4010101 C13.4836319,6.16919192 13.2167967,5.98828283 13.2167967,5.98828283 C13.2167967,5.98828283 13.2252527,5.52373737 13.2167967,5.01646465 C13.2083407,4.51010101 13.4300769,4.21828283 13.4300769,4.21828283 C13.4300769,4.21828283 13.4216209,3.4610101 13.3943736,2.57646465 C13.3671264,1.72555556 13.2863242,1.46828283 13.205522,1.35464646 C13.205522,1.35464646 13.2694121,1.10919192 13.5099396,0.844646465 L13.5099396,0.844646465 L13.7542253,1.06282828 L13.8284505,0.571919192 C13.9825385,0.469191919 14.1723297,0.375555556 14.4072198,0.307373737 C14.4325879,0.30010101 14.4570165,0.294646465 14.4823846,0.288282828 L14.4823846,0.288282828 L14.7896209,0.644646465 Z M7.71628243,19.8937938 C8.32897736,19.8402566 9.02386307,19.9393405 9.75797621,20.0432188 L9.75797621,20.0432188 L9.86538462,20.058401 C9.7449004,20.8103202 9.02106112,21.7691969 7.79193531,22.0896215 L7.79193531,22.0896215 L9.01358923,23.5151515 L7.36136769,23.5151515 C7.15589073,23.2226941 6.50396838,22.32135 6.16586538,21.9681638 C6.72065317,21.6525335 7.42954868,21.0388524 7.71628243,19.8937938 Z\",\n id: \"path-1\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"nav-/-primary-/-1440\",\n transform: \"translate(-128.000000, -14.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/lamassu-logo\",\n transform: \"translate(128.000000, 14.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"color/amaz/default\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask-2\",\n fill: \"white\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-1\"\n})), /*#__PURE__*/React.createElement(\"use\", {\n id: \"Mask\",\n fill: \"#16D6D3\",\n xlinkHref: \"#path-1\"\n})))));\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"19px\",\n height: \"24px\",\n viewBox: \"0 0 19 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.8ee79eab.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport {\n version,\n mainWidth,\n spacer,\n white,\n primaryColor,\n placeholderColor,\n subheaderColor,\n fontColor\n} from 'src/styling/variables'\n\nconst { tl2, p } = typographyStyles\n\nlet headerHeight = spacer * 7\nlet subheaderHeight = spacer * 5\n\nif (version === 8) {\n headerHeight = spacer * 8\n subheaderHeight = spacer * 7\n}\n\nexport default {\n header: {\n backgroundColor: primaryColor,\n color: white,\n height: headerHeight,\n display: 'flex'\n },\n content: {\n maxWidth: mainWidth,\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n margin: '0 auto'\n },\n nav: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n ul: {\n display: 'flex',\n paddingLeft: spacer * 4.5,\n height: spacer * 7,\n margin: 0\n },\n li: {\n // extend: tl2,\n // height: spacer * 7,\n listStyle: 'none',\n color: white,\n margin: [[spacer * 2.5, spacer * 2.5, 0, spacer * 2.5]],\n '&:hover': {\n color: white\n },\n '&:hover::after': {\n width: '50%',\n marginLeft: '-25%'\n },\n position: 'relative',\n '&:after': {\n content: '\"\"',\n display: 'block',\n background: white,\n width: 0,\n height: 4,\n left: '50%',\n marginLeft: 0,\n bottom: -8,\n position: 'absolute',\n borderRadius: 1000,\n transition: [['all', '0.2s', 'cubic-bezier(0.95, 0.1, 0.45, 0.94)']]\n }\n },\n link: {\n extend: p,\n textDecoration: 'none',\n border: 'none',\n color: white,\n backgroundColor: 'transparent'\n // '&:hover': {\n // color: white\n // },\n // '&:hover::after': {\n // width: '50%',\n // marginLeft: '-25%'\n // },\n // position: 'relative',\n // '&:after': {\n // content: '\"\"',\n // display: 'block',\n // background: white,\n // width: 0,\n // height: 4,\n // left: '50%',\n // marginLeft: 0,\n // bottom: -8,\n // position: 'absolute',\n // borderRadius: 1000,\n // transition: [['all', '0.2s', 'cubic-bezier(0.95, 0.1, 0.45, 0.94)']]\n // }\n },\n forceSize: {\n display: 'inline-block',\n textAlign: 'center',\n '&:after': {\n display: 'block',\n content: 'attr(forcesize)',\n fontWeight: 700,\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden'\n }\n },\n activeLink: {\n color: white,\n '& li::after': {\n width: '50%',\n marginLeft: '-25%'\n }\n },\n addMachine: {\n marginLeft: 'auto'\n },\n subheader: {\n backgroundColor: subheaderColor,\n color: white,\n height: subheaderHeight,\n display: 'flex'\n },\n subheaderUl: {\n display: 'flex',\n paddingLeft: 0\n },\n subheaderLi: {\n extend: tl2,\n display: 'flex',\n alignItems: 'center',\n height: spacer * 3,\n listStyle: 'none',\n padding: [[0, spacer * 2.5]],\n '&:first-child': {\n paddingLeft: 0\n }\n },\n subheaderLink: {\n extend: p,\n textDecoration: 'none',\n border: 'none',\n color: placeholderColor\n },\n activeSubheaderLink: {\n extend: tl2,\n color: fontColor\n },\n white: {\n color: white\n },\n logo: {\n display: 'flex',\n alignItems: 'center',\n '& > svg': {\n marginRight: 16\n }\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo, useState } from 'react'\nimport { NavLink, useHistory } from 'react-router-dom'\n\nimport ActionButton from 'src/components/buttons/ActionButton'\nimport { H4 } from 'src/components/typography'\nimport AddMachine from 'src/pages/AddMachine'\nimport { ReactComponent as AddIconReverse } from 'src/styling/icons/button/add/white.svg'\nimport { ReactComponent as AddIcon } from 'src/styling/icons/button/add/zodiac.svg'\nimport { ReactComponent as Logo } from 'src/styling/icons/menu/logo.svg'\n\nimport styles from './Header.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Subheader = ({ item, classes }) => {\n const [prev, setPrev] = useState(null)\n\n return (\n
\n
\n \n
\n
\n )\n}\n\nconst Header = memo(({ tree }) => {\n const [open, setOpen] = useState(false)\n const [active, setActive] = useState()\n\n const history = useHistory()\n const classes = useStyles()\n\n const onPaired = machine => {\n setOpen(false)\n history.push('/maintenance/machine-status', { id: machine.deviceId })\n }\n\n return (\n
\n
\n
\n
\n \n

Lamassu Admin

\n
\n \n
\n
\n {active && active.children && (\n \n )}\n {open && setOpen(false)} onPaired={onPaired} />}\n
\n )\n})\n\nexport default Header\n","import useAxios from '@use-hooks/axios'\nimport React from 'react'\nimport { useLocation, useHistory } from 'react-router-dom'\n\nconst useQuery = () => new URLSearchParams(useLocation().search)\nconst url =\n process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : ''\n\nconst AuthRegister = () => {\n const history = useHistory()\n const query = useQuery()\n\n useAxios({\n url: `${url}/api/register?otp=${query.get('otp')}`,\n method: 'GET',\n options: {\n withCredentials: true\n },\n trigger: [],\n customHandler: (err, res) => {\n if (err) return\n if (res) {\n history.push('/wizard', { fromAuthRegister: true })\n }\n }\n })\n\n return registering...\n}\n\nexport default AuthRegister\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/help/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.0004,11 C20.0004,6.03028475 15.9701153,2 11.0004,2 C6.03004556,2 2.0004,6.02992391 2.0004,11 C2.0004,15.9700761 6.03004556,20 11.0004,20 C15.9701153,20 20.0004,15.9697153 20.0004,11 Z M22.0004,11 C22.0004,17.0742847 17.0746847,22 11.0004,22 C4.92544514,22 0.000400000001,17.0746147 0.000400000001,11 C0.000400000001,4.92538534 4.92544514,0 11.0004,0 C17.0746847,0 22.0004,4.92571525 22.0004,11 Z\",\n id: \"Stroke-1\",\n fill: \"#1B2559\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.9164,8.9063 C9.9164,9.45858475 9.46868475,9.9063 8.9164,9.9063 C8.36411525,9.9063 7.9164,9.45858475 7.9164,8.9063 C7.9164,6.89094438 9.72972438,5.35290249 11.7463843,5.7072003 C13.0663562,5.93764844 14.1348314,7.00654285 14.3652323,8.32479116 C14.6130182,9.7312185 13.941375,11.0876584 12.732214,11.7545735 C12.370484,11.9534687 12.1664,12.2664153 12.1664,12.5913 L12.1664,12.6563 C12.1664,13.2085847 11.7186847,13.6563 11.1664,13.6563 C10.6141153,13.6563 10.1664,13.2085847 10.1664,12.6563 L10.1664,12.5913 C10.1664,11.5009567 10.7946963,10.5375141 11.7674377,10.0026589 C12.2360927,9.74417086 12.493064,9.22519581 12.3953326,8.67046887 C12.3098185,8.1811985 11.8915858,7.76280177 11.4013649,7.67721566 C10.6126181,7.53864454 9.9164,8.1291691 9.9164,8.9063 Z\",\n id: \"Stroke-3\",\n fill: \"#1B2559\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1039,15.2188 C10.1039,14.6318 10.5799,14.1568 11.1659,14.1568 C11.7529,14.1568 12.2289,14.6318 12.2289,15.2188 C12.2289,15.8058 11.7529,16.2808 11.1659,16.2808 C10.5799,16.2808 10.1039,15.8058 10.1039,15.2188\",\n id: \"Fill-5\",\n fill: \"#1B2559\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.1bd00dea.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, ClickAwayListener } from '@material-ui/core'\nimport React, { useState, memo } from 'react'\n\nimport Popper from 'src/components/Popper'\nimport { ReactComponent as HelpIcon } from 'src/styling/icons/action/help/zodiac.svg'\n\nconst useStyles = makeStyles({\n transparentButton: {\n border: 'none',\n backgroundColor: 'transparent',\n marginTop: 4,\n outline: 'none',\n cursor: 'pointer'\n },\n popoverContent: ({ width }) => ({\n width,\n padding: [[10, 15]]\n })\n})\n\nconst Tooltip = memo(({ children, width, Icon = HelpIcon }) => {\n const classes = useStyles({ width })\n const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null)\n\n const handleOpenHelpPopper = event => {\n setHelpPopperAnchorEl(helpPopperAnchorEl ? null : event.currentTarget)\n }\n\n const handleCloseHelpPopper = () => {\n setHelpPopperAnchorEl(null)\n }\n\n const helpPopperOpen = Boolean(helpPopperAnchorEl)\n\n return (\n \n
\n \n \n \n \n
{children}
\n \n
\n
\n )\n})\n\nexport default Tooltip\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"arrow-path\",\n d: \"M5.3501239,7.53208616 L0.473798314,2.73082122 C-0.158421727,2.1051411 -0.158421727,1.0952488 0.476737158,0.466675069 C1.11220338,-0.155816755 2.1378971,-0.155816755 2.77494316,0.468226909 L6.49990857,4.13723769 L10.2264532,0.466675069 C10.8619195,-0.155816755 11.8876132,-0.155816755 12.5260183,0.469568675 C13.1582383,1.0952488 13.1582383,2.1051411 12.5245507,2.73226987 L7.64673876,7.53497972 C7.33802629,7.83583835 6.92590837,8 6.49990828,8 C6.0739082,8 5.66179027,7.83583835 5.3501239,7.53208616 Z\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/arrow/regular\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask-2\",\n fill: \"white\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-1\"\n})), /*#__PURE__*/React.createElement(\"use\", {\n id: \"Mask\",\n fillRule: \"nonzero\",\n xlinkHref: \"#arrow-path\"\n})));\n\nfunction SvgRegular(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"13px\",\n height: \"8px\",\n viewBox: \"0 0 13 8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRegular);\nexport default __webpack_public_path__ + \"static/media/regular.3140e691.svg\";\nexport { ForwardRef as ReactComponent };","import * as sanctuary from 'sanctuary'\n\nconst checkOnlyDev = () => {\n if (!process.env.NODE_ENV === 'production') return false\n\n return (\n process.env.NODE_ENV === 'development' &&\n process.env.REACT_APP_TYPE_CHECK_SANCTUARY === 'true'\n )\n}\n\nconst S = sanctuary.create({\n checkTypes: checkOnlyDev(),\n env: sanctuary.env\n})\n\nexport default S\n","import * as R from 'ramda'\n\nimport S from './sanctuary'\n\nconst formatLong = value => {\n if (!value || value.length <= 20) return value\n\n return `${value.slice(0, 8)}(...)${value.slice(\n value.length - 8,\n value.length\n )}`\n}\n\nconst toFirstLower = S.compose(S.joinWith(''))(R.adjust(0, S.toLower))\nconst toFirstUpper = S.compose(S.joinWith(''))(R.adjust(0, S.toUpper))\nconst onlyFirstToUpper = S.compose(toFirstUpper)(S.toLower)\n\nconst splitOnUpper = R.compose(\n S.splitOn(' '),\n R.replace(/([A-Z])/g, ' $1'),\n toFirstLower\n)\nconst startCase = R.compose(\n S.joinWith(' '),\n S.map(onlyFirstToUpper),\n splitOnUpper\n)\n\nexport { startCase, onlyFirstToUpper, formatLong }\n","import { subheaderColor, offColor, white } from '../../../styling/variables'\nimport typographyStyles from '../../typography/styles'\n\nconst { p, label1 } = typographyStyles\n\nconst WIDTH = 152\n\nexport default {\n selectedItem: {\n width: WIDTH - 41,\n display: 'block',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n },\n select: {\n width: WIDTH,\n zIndex: 2,\n '& label': {\n extend: label1,\n color: offColor,\n paddingLeft: 10\n },\n '& button': {\n extend: p,\n position: 'relative',\n border: 0,\n backgroundColor: subheaderColor,\n width: WIDTH,\n padding: [[6, 0, 6, 12]],\n borderRadius: 20,\n lineHeight: '1.14',\n textAlign: 'left',\n color: offColor,\n cursor: 'pointer',\n outline: '0 none'\n },\n '& ul': {\n maxHeight: '200px',\n width: WIDTH,\n overflowY: 'auto',\n position: 'absolute',\n margin: 0,\n borderTop: 0,\n padding: 0,\n borderRadius: [[0, 0, 8, 8]],\n backgroundColor: subheaderColor,\n outline: '0 none',\n '& li': {\n extend: p,\n listStyleType: 'none',\n padding: [[6, 12]],\n cursor: 'pointer',\n '& span': {\n width: '100%',\n display: 'block',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }\n },\n '& li:hover': {\n backgroundColor: offColor,\n color: white\n }\n },\n '& svg': {\n position: 'absolute',\n top: 12,\n right: 14,\n fill: offColor\n }\n },\n selectFiltered: {\n '& button': {\n backgroundColor: offColor,\n color: white\n },\n '& ul': {\n '& li': {\n backgroundColor: offColor,\n color: white\n },\n '& li:hover': {\n backgroundColor: subheaderColor,\n color: offColor\n }\n },\n '& svg': {\n fill: [[white], '!important']\n }\n },\n open: {\n '& button': {\n borderRadius: [[8, 8, 0, 0]]\n }\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { useSelect } from 'downshift'\nimport React from 'react'\n\nimport { ReactComponent as Arrowdown } from 'src/styling/icons/action/arrow/regular.svg'\nimport { startCase } from 'src/utils/string'\n\nimport styles from './Select.styles'\n\nconst useStyles = makeStyles(styles)\n\nfunction Select({ label, items, ...props }) {\n const classes = useStyles()\n\n const {\n isOpen,\n selectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps\n } = useSelect({\n items,\n selectedItem: props.selectedItem,\n onSelectedItemChange: item => {\n props.onSelectedItemChange(item.selectedItem)\n }\n })\n\n const selectClassNames = {\n [classes.select]: true,\n [classes.selectFiltered]: selectedItem !== props.default,\n [classes.open]: isOpen\n }\n\n return (\n
\n \n \n
    \n {isOpen &&\n items.map((item, index) => (\n
  • \n {startCase(item)}\n
  • \n ))}\n
\n
\n )\n}\n\nexport default Select\n","import Chip from '@material-ui/core/Chip'\nimport { withStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport {\n fontColor,\n inputFontWeight,\n subheaderColor,\n smallestFontSize,\n inputFontFamily\n} from 'src/styling/variables'\n\nconst styles = theme => ({\n root: {\n backgroundColor: subheaderColor,\n borderRadius: 4,\n margin: theme.spacing(0.5, 0.25),\n height: 18\n },\n label: {\n fontSize: smallestFontSize,\n color: fontColor,\n fontWeight: inputFontWeight,\n fontFamily: inputFontFamily,\n paddingRight: 4,\n paddingLeft: 4\n }\n})\n\nconst LsChip = memo(({ classes, ...props }) => (\n \n))\n\nexport default withStyles(styles)(LsChip)\n","import { spacer, tomato, primaryColor as zodiac } from 'src/styling/variables'\n\nconst colors = {\n cashOut: {\n empty: tomato,\n full: zodiac\n },\n cashIn: {\n empty: zodiac,\n full: tomato\n }\n}\n\nconst colorPicker = ({ percent, cashOut }) =>\n colors[cashOut ? 'cashOut' : 'cashIn'][percent >= 50 ? 'full' : 'empty']\n\nconst cashboxStyles = {\n cashbox: {\n borderColor: colorPicker,\n backgroundColor: colorPicker,\n height: 118,\n width: 80,\n border: '2px solid',\n textAlign: 'end',\n display: 'inline-block'\n },\n emptyPart: {\n backgroundColor: 'white',\n height: ({ percent }) => `${100 - percent}%`,\n position: 'relative',\n '& > p': {\n color: colorPicker,\n display: 'inline-block',\n position: 'absolute',\n margin: 0,\n bottom: 0,\n right: 0\n }\n },\n fullPart: {\n backgroundColor: colorPicker,\n '& > p': {\n color: 'white',\n display: 'inline'\n }\n }\n}\n\nconst gridStyles = {\n row: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n innerRow: {\n display: 'flex',\n justifyContent: 'flex-start'\n },\n col2: {\n marginLeft: 16\n },\n noMarginText: {\n marginTop: 0,\n marginBottom: 0\n },\n link: {\n marginTop: spacer\n },\n chip: {\n margin: [[0, 0, 0, 7]]\n }\n}\n\nexport { cashboxStyles, gridStyles }\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport Chip from 'src/components/Chip'\nimport { Link } from 'src/components/buttons'\nimport { Info2, Label1, Label2 } from 'src/components/typography'\n\nimport TextInputFormik from '../base/TextInput'\n\nimport { cashboxStyles, gridStyles } from './Cashbox.styles'\n\nconst cashboxClasses = makeStyles(cashboxStyles)\nconst gridClasses = makeStyles(gridStyles)\n\nconst Cashbox = ({ percent = 0, cashOut = false, className }) => {\n const classes = cashboxClasses({ percent, cashOut })\n const threshold = 51\n\n return (\n
\n
\n {percent <= threshold && {percent.toFixed(0)}%}\n
\n
\n {percent > threshold && {percent.toFixed(0)}%}\n
\n
\n )\n}\n\n// https://support.lamassu.is/hc/en-us/articles/360025595552-Installing-the-Sintra-Forte\n// Sintra and Sintra Forte can have up to 500 notes per cashOut box and up to 1000 per cashIn box\nconst CashIn = ({ capacity = 1000, notes = 0, total = 0 }) => {\n const percent = (100 * notes) / capacity\n const classes = gridClasses()\n return (\n <>\n
\n
\n \n
\n
\n
\n {notes} notes\n {total}\n
\n
\n
\n \n )\n}\n\nconst CashInFormik = ({\n capacity = 1000,\n onEmpty,\n field: {\n value: { notes, deviceId }\n },\n form: { setFieldValue }\n}) => {\n const classes = gridClasses()\n\n return (\n <>\n
\n
\n \n
\n
\n
\n {\n onEmpty({\n variables: {\n deviceId,\n action: 'emptyCashInBills'\n }\n }).then(() => setFieldValue('cashin.notes', 0))\n }}\n className={classes.link}\n color={'primary'}>\n Empty\n \n
\n
\n
\n \n )\n}\n\nconst CashOut = ({\n capacity = 500,\n denomination = 0,\n currency,\n notes,\n className\n}) => {\n const percent = (100 * notes) / capacity\n const classes = gridClasses()\n return (\n <>\n
\n
\n \n
\n
\n
\n {notes}\n \n
\n
\n \n {notes * denomination} {currency.code}\n \n
\n
\n
\n \n )\n}\n\nconst CashOutFormik = ({ capacity = 500, ...props }) => {\n const {\n name,\n onChange,\n onBlur,\n value: { notes }\n } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n const percent = (100 * notes) / capacity\n const classes = gridClasses()\n\n return (\n <>\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n )\n}\n\nexport { Cashbox, CashIn, CashInFormik, CashOut, CashOutFormik }\n","import * as R from 'ramda'\n\nconst namespaces = {\n CASH_OUT: 'cashOut',\n WALLETS: 'wallets',\n OPERATOR_INFO: 'operatorInfo',\n NOTIFICATIONS: 'notifications',\n LOCALE: 'locale',\n COMMISSIONS: 'commissions',\n RECEIPT: 'receipt',\n COIN_ATM_RADAR: 'coinAtmRadar',\n TERMS_CONDITIONS: 'termsConditions'\n}\n\nconst mapKeys = R.curry((fn, obj) =>\n R.fromPairs(R.map(R.adjust(0, fn), R.toPairs(obj)))\n)\n\nconst filterByKey = R.curry((fn, obj) =>\n R.fromPairs(R.filter(it => fn(it[0]), R.toPairs(obj)))\n)\n\nconst stripl = R.curry((q, str) =>\n R.startsWith(q, str) ? str.slice(q.length) : str\n)\n\nconst filtered = key => filterByKey(R.startsWith(`${key}_`))\nconst stripped = key => mapKeys(stripl(`${key}_`))\n\nconst fromNamespace = R.curry((key, config) =>\n R.compose(stripped(key), filtered(key))(config)\n)\n\nconst toNamespace = R.curry((key, config) =>\n mapKeys(it => `${key}_${it}`)(config)\n)\n\nexport { fromNamespace, toNamespace, namespaces }\n","import {\n spacer,\n fontPrimary,\n primaryColor,\n white,\n errorColor\n} from 'src/styling/variables'\nconst styles = {\n grid: {\n flex: 1,\n height: '100%'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n marginLeft: spacer * 6\n },\n footer: {\n margin: [['auto', 0, spacer * 3, 'auto']]\n },\n modalTitle: {\n lineHeight: '120%',\n color: primaryColor,\n fontSize: 14,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n subtitle: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n },\n white: {\n color: white\n },\n deleteButton: {\n paddingLeft: 13\n },\n addressRow: {\n marginLeft: 8\n },\n error: {\n color: errorColor\n }\n}\n\nexport default styles\n","import { makeStyles, Modal as MaterialModal, Paper } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { IconButton } from 'src/components/buttons'\nimport { H1, H4 } from 'src/components/typography'\nimport { ReactComponent as CloseIcon } from 'src/styling/icons/action/close/zodiac.svg'\n\nconst styles = {\n modal: {\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n alignItems: 'center'\n },\n wrapper: ({ width, height }) => ({\n width,\n height,\n display: 'flex',\n flexDirection: 'column',\n minHeight: height ?? 400,\n maxHeight: '90vh',\n overflowY: 'auto',\n borderRadius: 8,\n outline: 0\n }),\n infoPanelWrapper: ({ width, infoPanelHeight }) => ({\n width,\n height: infoPanelHeight,\n marginTop: 16,\n display: 'flex',\n flexDirection: 'column',\n minHeight: infoPanelHeight ?? 200,\n maxHeight: '90vh',\n overflowY: 'auto',\n borderRadius: 8,\n outline: 0\n }),\n panelContent: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n padding: [[0, 24]]\n },\n content: ({ small, xl }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n padding: xl ? [[0, 60 + 28]] : small ? [[0, 16]] : [[0, 32]]\n }),\n button: ({ small, xl }) => ({\n padding: [[0, 0, xl ? 26 : 0, 0]],\n margin: xl\n ? [[0, 0, 'auto', 'auto']]\n : small\n ? [[12, 12, 'auto', 'auto']]\n : [[16, 16, 'auto', 'auto']]\n }),\n header: {\n display: 'flex'\n },\n title: ({ small }) => ({\n margin: small ? [[20, 0, 8, 16]] : [[28, 0, 8, 32]]\n })\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Modal = ({\n width,\n height,\n infoPanelHeight,\n title,\n small,\n xl,\n infoPanel,\n handleClose,\n children,\n secondaryModal,\n className,\n closeOnEscape,\n closeOnBackdropClick,\n ...props\n}) => {\n const classes = useStyles({ width, height, small, infoPanelHeight, xl })\n const TitleCase = small ? H4 : H1\n const closeSize = xl ? 28 : small ? 16 : 20\n\n const innerClose = (evt, reason) => {\n if (!closeOnBackdropClick && reason === 'backdropClick') return\n if (!closeOnEscape && reason === 'escapeKeyDown') return\n handleClose()\n }\n\n return (\n \n <>\n \n
\n {title && {title}}\n handleClose()}>\n \n \n
\n
{children}
\n
\n {infoPanel && (\n \n
{infoPanel}
\n
\n )}\n \n
\n )\n}\n\nexport default Modal\n","import { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport * as R from 'ramda'\nimport React from 'react'\nimport * as Yup from 'yup'\n\nimport Modal from 'src/components/Modal'\nimport { Link } from 'src/components/buttons'\nimport { TextInput } from 'src/components/inputs/formik'\nimport { H3 } from 'src/components/typography'\n\nimport styles from './Blacklist.styles'\nconst useStyles = makeStyles(styles)\n\nconst BlackListModal = ({\n onClose,\n selectedCoin,\n addToBlacklist,\n errorMsg\n}) => {\n const classes = useStyles()\n const handleAddToBlacklist = address => {\n addToBlacklist(selectedCoin.code, address)\n }\n const placeholderAddress = {\n BTC: '1ADwinnimZKGgQ3dpyfoUZvJh4p1UWSSpD',\n ETH: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F',\n LTC: 'LPKvbjwV1Kaksktzkr7TMK3FQtQEEe6Wqa',\n DASH: 'XqQ7gU8eM76rEfey726cJpT2RGKyJyBrcn',\n ZEC: 't1KGyyv24eL354C9gjveBGEe8Xz9UoPKvHR',\n BCH: 'qrd6za97wm03lfyg82w0c9vqgc727rhemg5yd9k3dm'\n }\n\n return (\n \n {\n handleAddToBlacklist(address.trim())\n resetForm()\n }}>\n
\n

\n {selectedCoin.display\n ? `Blacklist ${R.toLower(selectedCoin.display)} address`\n : ''}\n

\n {errorMsg}\n \n \n \n
\n \n Blacklist address\n \n
\n \n )\n}\n\nexport default BlackListModal\n","import typographyStyles from 'src/components/typography/styles'\nimport { bySize, bold } from 'src/styling/helpers'\nimport {\n tableHeaderColor,\n tableHeaderHeight,\n tableErrorColor,\n spacer,\n white,\n tableDoubleHeaderHeight,\n offColor,\n errorColor\n} from 'src/styling/variables'\n\nconst { tl2, p, label1 } = typographyStyles\n\nexport default {\n size: ({ size }) => bySize(size),\n bold,\n header: {\n extend: tl2,\n backgroundColor: tableHeaderColor,\n height: tableHeaderHeight,\n textAlign: 'left',\n color: white,\n display: 'flex',\n alignItems: 'center'\n },\n doubleHeader: {\n extend: tl2,\n backgroundColor: tableHeaderColor,\n height: tableDoubleHeaderHeight,\n color: white,\n display: 'table-row'\n },\n thDoubleLevel: ({ width }) => ({\n width,\n display: 'table-cell',\n '& > :first-child': {\n margin: [[0, 10]],\n extend: label1,\n fontWeight: 700,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: offColor,\n color: white,\n borderRadius: [[0, 0, 8, 8]],\n height: 28\n },\n '& > :last-child': {\n padding: [[0, 11]],\n display: 'table-cell',\n verticalAlign: 'middle',\n height: tableDoubleHeaderHeight - 28\n }\n }),\n cellDoubleLevel: {\n display: 'flex',\n padding: [[0, spacer * 2]]\n },\n td: ({ textAlign, width }) => ({\n width,\n padding: [[1, spacer * 3, 0, spacer * 3]],\n textAlign\n }),\n tdHeader: {\n verticalAlign: 'middle',\n display: 'table-cell',\n padding: [[0, spacer * 3]]\n },\n trError: {\n backgroundColor: tableErrorColor\n },\n mainContent: ({ size }) => {\n const minHeight = size === 'lg' ? 68 : 48\n return {\n display: 'flex',\n alignItems: 'center',\n minHeight\n }\n },\n // mui-overrides\n cardContentRoot: {\n margin: 0,\n padding: 0,\n '&:last-child': {\n padding: 0\n }\n },\n card: {\n extend: p,\n '&:before': {\n height: 0\n },\n margin: [[4, 0, 0, 0]],\n width: '100%',\n boxShadow: [[0, 0, 4, 0, 'rgba(0, 0, 0, 0.08)']]\n },\n actionCol: {\n marginLeft: 'auto'\n },\n errorContent: {\n padding: [[12, 0, 12, 24]],\n color: errorColor\n }\n}\n","import Card from '@material-ui/core/Card'\nimport CardContent from '@material-ui/core/CardContent'\nimport { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { Link } from 'src/components/buttons'\n\nimport styles from './Table.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Table = ({ children, className, ...props }) => (\n
\n {children}\n
\n)\n\nconst THead = ({ children, className }) => {\n const classes = useStyles()\n return
{children}
\n}\n\nconst TDoubleLevelHead = ({ children, className }) => {\n const classes = useStyles()\n\n return (\n
\n {children}\n
\n )\n}\n\nconst TBody = ({ children, className }) => {\n return
{children}
\n}\n\nconst Td = ({\n children,\n header,\n className,\n width = 100,\n size,\n bold,\n textAlign,\n action\n}) => {\n const classes = useStyles({ textAlign, width, size })\n const classNames = {\n [classes.td]: true,\n [classes.tdHeader]: header,\n [classes.actionCol]: action,\n [classes.size]: !header,\n [classes.bold]: !header && bold\n }\n\n return
{children}
\n}\n\nconst Th = ({ children, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nconst ThDoubleLevel = ({ title, children, className, width }) => {\n const classes = useStyles({ width })\n\n return (\n
\n
{title}
\n
{children}
\n
\n )\n}\n\nconst Tr = ({ onClick, error, errorMessage, children, className, size }) => {\n const classes = useStyles({ size })\n const cardClasses = { root: classes.cardContentRoot }\n const classNames = {\n [classes.tr]: true,\n [classes.trError]: error,\n [classes.card]: true,\n className\n }\n\n return (\n <>\n \n \n
{children}
\n {error &&
{errorMessage}
}\n
\n
\n \n )\n}\n\nconst EditCell = ({ save, cancel }) => (\n \n \n Cancel\n \n \n Save\n \n \n)\n\nexport {\n Table,\n THead,\n TDoubleLevelHead,\n TBody,\n Tr,\n Td,\n Th,\n ThDoubleLevel,\n EditCell\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/expand/closed\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#1B2559\",\n strokeWidth: 1.5\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4\",\n cx: 14,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy\",\n cx: 8,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy-2\",\n cx: 2,\n cy: 2,\n r: 2\n})));\n\nfunction SvgClosed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"6px\",\n viewBox: \"0 0 18 6\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClosed);\nexport default __webpack_public_path__ + \"static/media/closed.b853a619.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/expand/open\",\n transform: \"translate(1.000000, 1.000000)\",\n fill: \"#1B2559\",\n stroke: \"#1B2559\",\n strokeWidth: 1.5\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4\",\n cx: 14,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy\",\n cx: 8,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy-2\",\n cx: 2,\n cy: 2,\n r: 2\n})));\n\nfunction SvgOpen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"6px\",\n viewBox: \"0 0 18 6\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpen);\nexport default __webpack_public_path__ + \"static/media/open.7196c113.svg\";\nexport { ForwardRef as ReactComponent };","import { zircon } from 'src/styling/variables'\n\nexport default {\n expandButton: {\n outline: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: 4\n },\n rowWrapper: {\n // workaround to shadows cut by r-virtualized when scroll is visible\n padding: 1\n },\n row: {\n border: [[2, 'solid', 'transparent']],\n borderRadius: 0\n },\n expanded: {\n border: [[2, 'solid', zircon]],\n boxShadow: '0 0 8px 0 rgba(0,0,0,0.08)'\n },\n before: {\n paddingTop: 12\n },\n after: {\n paddingBottom: 12\n },\n pointer: {\n cursor: 'pointer'\n },\n body: {\n flex: [[1, 1, 'auto']]\n },\n table: ({ width }) => ({\n marginBottom: 30,\n minHeight: 200,\n width,\n flex: 1,\n display: 'flex',\n flexDirection: 'column'\n })\n}\n","import { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useState, useEffect } from 'react'\nimport {\n AutoSizer,\n List,\n CellMeasurer,\n CellMeasurerCache\n} from 'react-virtualized'\n\nimport {\n Table,\n TBody,\n THead,\n Tr,\n Td,\n Th\n} from 'src/components/fake-table/Table'\nimport { H4 } from 'src/components/typography'\nimport { ReactComponent as ExpandClosedIcon } from 'src/styling/icons/action/expand/closed.svg'\nimport { ReactComponent as ExpandOpenIcon } from 'src/styling/icons/action/expand/open.svg'\n\nimport styles from './DataTable.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Row = ({\n id,\n elements,\n data,\n width,\n Details,\n expanded,\n expandRow,\n expWidth,\n expandable,\n onClick\n}) => {\n const classes = useStyles()\n\n const hasPointer = onClick || expandable\n const trClasses = {\n [classes.pointer]: hasPointer,\n [classes.row]: true,\n [classes.expanded]: expanded\n }\n\n return (\n
\n
\n {\n expandable && expandRow(id)\n onClick && onClick(data)\n }}\n error={data.error}\n errorMessage={data.errorMessage}>\n {elements.map(({ view = it => it?.toString(), ...props }, idx) => (\n \n {view(data)}\n \n ))}\n {expandable && (\n \n expandRow(id)}\n className={classes.expandButton}>\n {expanded && }\n {!expanded && }\n \n \n )}\n \n
\n {expandable && expanded && (\n
\n \n \n
\n \n \n
\n )}\n
\n )\n}\n\nconst DataTable = ({\n elements = [],\n data = [],\n Details,\n className,\n expandable,\n initialExpanded,\n onClick,\n loading,\n emptyText,\n ...props\n}) => {\n const [expanded, setExpanded] = useState(initialExpanded)\n\n useEffect(() => setExpanded(initialExpanded), [initialExpanded])\n\n const coreWidth = R.compose(R.sum, R.map(R.prop('width')))(elements)\n const expWidth = 1200 - coreWidth\n const width = coreWidth + (expandable ? expWidth : 0)\n\n const classes = useStyles({ width })\n\n const expandRow = id => {\n setExpanded(id === expanded ? null : id)\n }\n\n const cache = new CellMeasurerCache({\n defaultHeight: 62,\n fixedWidth: true\n })\n\n function rowRenderer({ index, key, parent, style }) {\n return (\n \n
\n \n
\n \n )\n }\n\n return (\n \n \n \n {elements.map(({ width, className, textAlign, header }, idx) => (\n \n {header}\n \n ))}\n {expandable && }\n \n \n {loading &&

Loading...

}\n {!loading && R.isEmpty(data) &&

{emptyText}

}\n \n {({ height }) => (\n \n )}\n \n \n
\n
\n )\n}\n\nexport default DataTable\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/copy\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5-Copy-2\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n strokeWidth: 2,\n points: \"6 1.2 6 -0.00024 16 -0.00024 16 13.06376 12 13.06376\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n points: \"0 15.9368 10 15.9368 10 2.9368 0 2.9368\"\n}))));\n\nfunction SvgCopy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCopy);\nexport default __webpack_public_path__ + \"static/media/copy.f4cea549.svg\";\nexport { ForwardRef as ReactComponent };","import { fontSize5 } from 'src/styling/variables'\n\nexport default {\n titleWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n },\n wrapper: {\n flex: 1,\n display: 'flex',\n flexDirection: 'row',\n height: '100%'\n },\n tableWrapper: {\n flex: 1,\n marginLeft: 40,\n display: 'block',\n overflowX: 'auto',\n width: '100%',\n maxWidth: '78%',\n maxHeight: '70vh'\n },\n table: {\n whiteSpace: 'nowrap',\n display: 'block',\n '& th': {\n position: 'sticky',\n top: 0\n }\n },\n dateColumn: {\n minWidth: 160\n },\n levelColumn: {\n minWidth: 100\n },\n fillColumn: {\n width: '100%'\n },\n shareButton: {\n margin: 8,\n display: 'flex',\n alignItems: 'center',\n fontSize: fontSize5,\n padding: [[0, 12]]\n },\n shareIcon: {\n marginRight: 6\n },\n button: {\n margin: 8\n },\n titleAndButtonsContainer: {\n display: 'flex'\n },\n buttonsWrapper: {\n display: 'flex',\n marginLeft: 16,\n '& > *': {\n margin: 'auto 6px'\n }\n }\n}\n","import typographyStyles from 'src/components/typography/styles'\nimport baseStyles from 'src/pages/Logs.styles'\nimport { offColor, white } from 'src/styling/variables'\n\nconst { label1, mono, p } = typographyStyles\nconst { titleWrapper, titleAndButtonsContainer, buttonsWrapper } = baseStyles\n\nconst cpcStyles = {\n wrapper: {\n extend: mono,\n display: 'flex',\n alignItems: 'center',\n height: 32\n },\n address: {\n lineBreak: 'anywhere'\n },\n buttonWrapper: {\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n popoverContent: {\n extend: label1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: white,\n borderRadius: 4,\n padding: [[5, 9]]\n }\n}\n\nconst detailsRowStyles = {\n idCardDataCard: {\n extend: p,\n display: 'flex',\n padding: [[11, 8]],\n '& > div': {\n display: 'flex',\n flexDirection: 'column',\n '& > div': {\n width: 144,\n height: 37,\n marginBottom: 15,\n '&:last-child': {\n marginBottom: 0\n }\n }\n }\n }\n}\n\nconst labelStyles = {\n label: {\n extend: label1,\n color: offColor,\n marginBottom: 4\n }\n}\n\nconst mainStyles = {\n titleWrapper,\n titleAndButtonsContainer,\n buttonsWrapper,\n headerLabels: {\n display: 'flex',\n flexDirection: 'row',\n '& div': {\n display: 'flex',\n alignItems: 'center'\n },\n '& > div:first-child': {\n marginRight: 24\n },\n '& span': {\n extend: label1,\n marginLeft: 6\n }\n },\n overflowTd: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }\n}\n\nexport { cpcStyles, detailsRowStyles, labelStyles, mainStyles }\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useState, useEffect } from 'react'\nimport { CopyToClipboard as ReactCopyToClipboard } from 'react-copy-to-clipboard'\n\nimport Popover from 'src/components/Popper'\nimport { ReactComponent as CopyIcon } from 'src/styling/icons/action/copy/copy.svg'\nimport { comet } from 'src/styling/variables'\n\nimport { cpcStyles } from './Transactions.styles'\n\nconst useStyles = makeStyles(cpcStyles)\n\nconst CopyToClipboard = ({\n className,\n buttonClassname,\n children,\n ...props\n}) => {\n const [anchorEl, setAnchorEl] = useState(null)\n\n useEffect(() => {\n if (anchorEl) setTimeout(() => setAnchorEl(null), 3000)\n }, [anchorEl])\n\n const classes = useStyles()\n\n const handleClick = event => {\n setAnchorEl(anchorEl ? null : event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n const open = Boolean(anchorEl)\n const id = open ? 'simple-popper' : undefined\n\n return (\n
\n {children && (\n <>\n
\n {children}\n
\n
\n \n handleClick(event)}>\n \n \n \n
\n \n
\n
Copied to clipboard!
\n
\n \n \n )}\n
\n )\n}\n\nexport default CopyToClipboard\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/delete/enabled\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 9,\n x2: 9,\n y2: 18,\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13,\n y1: 9,\n x2: 13,\n y2: 18,\n id: \"Stroke-2\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n strokeLinejoin: \"round\",\n points: \"3 6 5 21 17 21 19 6\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 1,\n y1: 5,\n x2: 21,\n y2: 5,\n id: \"Stroke-5\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,4 C14,2.343 12.657,1 11,1 C9.343,1 8,2.343 8,4\",\n id: \"Stroke-7\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}));\n\nfunction SvgEnabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEnabled);\nexport default __webpack_public_path__ + \"static/media/enabled.a058fdfc.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { IconButton } from 'src/components/buttons'\nimport DataTable from 'src/components/tables/DataTable'\nimport { Label1 } from 'src/components/typography'\nimport CopyToClipboard from 'src/pages/Transactions/CopyToClipboard'\nimport { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg'\n\nimport styles from './Blacklist.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst BlacklistTable = ({ data, selectedCoin, handleDeleteEntry }) => {\n const classes = useStyles()\n\n const elements = [\n {\n name: 'address',\n header: {'Addresses'},\n width: 800,\n textAlign: 'left',\n size: 'sm',\n view: it => (\n
\n {R.path(['address'], it)}\n
\n )\n },\n {\n name: 'deleteButton',\n header: {'Delete'},\n width: 130,\n textAlign: 'center',\n size: 'sm',\n view: it => (\n \n handleDeleteEntry(\n R.path(['cryptoCode'], it),\n R.path(['address'], it)\n )\n }>\n \n \n )\n }\n ]\n const dataToShow = selectedCoin\n ? data[selectedCoin.code]\n : data[R.keys(data)[0]]\n\n return (\n \n )\n}\n\nexport default BlacklistTable\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { Box } from '@material-ui/core'\nimport Grid from '@material-ui/core/Grid'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { Link } from 'src/components/buttons'\nimport { Switch } from 'src/components/inputs'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { H4, Label2, P } from 'src/components/typography'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport styles from './Blacklist.styles'\nimport BlackListModal from './BlacklistModal'\nimport BlacklistTable from './BlacklistTable'\n\nconst useStyles = makeStyles(styles)\n\nconst groupByCode = R.groupBy(obj => obj.cryptoCode)\n\nconst DELETE_ROW = gql`\n mutation DeleteBlacklistRow($cryptoCode: String!, $address: String!) {\n deleteBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n`\n\nconst GET_BLACKLIST = gql`\n query getBlacklistData {\n blacklist {\n cryptoCode\n address\n }\n cryptoCurrencies {\n display\n code\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n config\n }\n`\n\nconst ADD_ROW = gql`\n mutation InsertBlacklistRow($cryptoCode: String!, $address: String!) {\n insertBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n`\n\nconst Blacklist = () => {\n const { data: blacklistResponse } = useQuery(GET_BLACKLIST)\n const { data: configData } = useQuery(GET_INFO)\n const [showModal, setShowModal] = useState(false)\n const [clickedItem, setClickedItem] = useState({\n code: 'BTC',\n display: 'Bitcoin'\n })\n const [errorMsg, setErrorMsg] = useState(null)\n\n const [deleteEntry] = useMutation(DELETE_ROW, {\n onError: () => console.error('Error while deleting row'),\n refetchQueries: () => ['getBlacklistData']\n })\n\n const [addEntry] = useMutation(ADD_ROW, {\n onError: () => console.log('Error while adding row'),\n refetchQueries: () => ['getBlacklistData']\n })\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: () => ['getData']\n })\n\n const classes = useStyles()\n\n const blacklistData = R.path(['blacklist'])(blacklistResponse) ?? []\n const availableCurrencies =\n R.path(['cryptoCurrencies'], blacklistResponse) ?? []\n\n const formattedData = groupByCode(blacklistData)\n\n const complianceConfig =\n configData?.config && fromNamespace('compliance')(configData.config)\n\n const rejectAddressReuse = complianceConfig?.rejectAddressReuse ?? false\n\n const addressReuseSave = rawConfig => {\n const config = toNamespace('compliance')(rawConfig)\n return saveConfig({ variables: { config } })\n }\n\n const onClickSidebarItem = e => {\n setClickedItem({ code: e.code, display: e.display })\n }\n\n const handleDeleteEntry = (cryptoCode, address) => {\n deleteEntry({ variables: { cryptoCode, address } })\n }\n\n const addToBlacklist = async (cryptoCode, address) => {\n setErrorMsg(null)\n const res = await addEntry({ variables: { cryptoCode, address } })\n if (!res.errors) {\n return setShowModal(false)\n }\n const duplicateKeyError = res.errors.some(e => {\n return e.message.includes('duplicate')\n })\n if (duplicateKeyError) {\n setErrorMsg('This address is already being blocked')\n } else {\n setErrorMsg('Server error')\n }\n }\n\n return (\n <>\n \n
\n setShowModal(true)}>\n Blacklist new addresses\n \n
\n
\n \n it.display}\n onClick={onClickSidebarItem}\n />\n
\n \n

\n {clickedItem.display\n ? `${clickedItem.display} blacklisted addresses`\n : ''}{' '}\n

\n \n

Reject reused addresses

\n {\n addressReuseSave({ rejectAddressReuse: event.target.checked })\n }}\n value={rejectAddressReuse}\n />\n {rejectAddressReuse ? 'On' : 'Off'}\n \n

\n The \"Reject reused addresses\" option means that all addresses\n that are used once will be automatically rejected if there's\n an attempt to use them again on a new transaction.\n

\n
\n
\n \n \n
\n
\n {showModal && (\n {\n setErrorMsg(null)\n setShowModal(false)\n }}\n errorMsg={errorMsg}\n selectedCoin={clickedItem}\n addToBlacklist={addToBlacklist}\n />\n )}\n \n )\n}\n\nexport default Blacklist\n","import Blacklist from './Blacklist'\n\nexport default Blacklist\n","import { useFormikContext } from 'formik'\nimport React from 'react'\nimport { Prompt } from 'react-router-dom'\n\nconst PROMPT_DEFAULT_MESSAGE =\n 'You have unsaved changes on this page. Are you sure you want to leave?'\n\nconst PromptWhenDirty = ({ message = PROMPT_DEFAULT_MESSAGE }) => {\n const formik = useFormikContext()\n\n return (\n \n )\n}\n\nexport default PromptWhenDirty\n","import React from 'react'\n\nexport default React.createContext()\n","import * as R from 'ramda'\nimport React, { useContext } from 'react'\n\nimport {\n Td,\n THead,\n TDoubleLevelHead,\n ThDoubleLevel\n} from 'src/components/fake-table/Table'\nimport { startCase } from 'src/utils/string'\n\nimport TableCtx from './Context'\n\nconst groupSecondHeader = elements => {\n const [toSHeader, noSHeader] = R.partition(R.has('doubleHeader'))(elements)\n\n if (!toSHeader.length) {\n return [elements, THead]\n }\n\n const index = R.indexOf(toSHeader[0], elements)\n const width = R.compose(R.sum, R.map(R.path(['width'])))(toSHeader)\n\n const innerElements = R.insert(\n index,\n { width, elements: toSHeader, name: toSHeader[0].doubleHeader },\n noSHeader\n )\n\n return [innerElements, TDoubleLevelHead]\n}\n\nconst Header = () => {\n const {\n elements,\n enableEdit,\n editWidth,\n enableDelete,\n deleteWidth,\n enableToggle,\n toggleWidth,\n DEFAULT_COL_SIZE\n } = useContext(TableCtx)\n\n const mapElement2 = (it, idx) => {\n const { width, elements, name } = it\n\n if (elements && elements.length) {\n return (\n \n {elements.map(mapElement)}\n \n )\n }\n\n return mapElement(it, idx)\n }\n\n const mapElement = (\n { name, width = DEFAULT_COL_SIZE, header, textAlign },\n idx\n ) => (\n \n {header || startCase(name)}\n \n )\n\n const [innerElements, HeaderElement] = groupSecondHeader(elements)\n\n return (\n \n {innerElements.map(mapElement2)}\n {enableEdit && (\n \n Edit\n \n )}\n {enableDelete && (\n \n Delete\n \n )}\n {enableToggle && (\n \n Enable\n \n )}\n \n )\n}\n\nexport default Header\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"a\",\n d: \"M0 0h22v22H0z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"b\",\n fill: \"#fff\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#a\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#9B9B9B\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n mask: \"url(#b)\",\n d: \"M9 9v9M13 9v9\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#b)\",\n stroke: \"#9B9B9B\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinejoin: \"round\",\n d: \"M3 6l2 15h12l2-15\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 5h20M14 4a3 3 0 10-6 0\"\n})));\n\nfunction SvgDisabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDisabled);\nexport default __webpack_public_path__ + \"static/media/disabled.347e2b5e.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/edit/disabled\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18\",\n id: \"Stroke-1\",\n stroke: \"#9B9B9B\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#9B9B9B\",\n strokeWidth: 2,\n points: \"6 12 17 1 21 5 10 16 6 16\"\n}));\n\nfunction SvgDisabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDisabled);\nexport default __webpack_public_path__ + \"static/media/disabled.aede2073.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/edit/enabled\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n points: \"6 12 17 1 21 5 10 16 6 16\"\n}));\n\nfunction SvgEnabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEnabled);\nexport default __webpack_public_path__ + \"static/media/enabled.5aae4510.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern_68JiZ\",\n patternUnits: \"userSpaceOnUse\",\n width: 5.5,\n height: 5.5,\n patternTransform: \"rotate(45)\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y: 0,\n x2: 0,\n y2: 5.5,\n stroke: \"#DBDFED\",\n strokeWidth: 3\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"rect\", {\n width: \"100%\",\n height: \"100%\",\n fill: \"url(#pattern_68JiZ)\",\n opacity: 1\n});\n\nfunction SvgStripes(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"36px\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, \"{' '}\\n \", _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStripes);\nexport default __webpack_public_path__ + \"static/media/stripes.876e4081.svg\";\nexport { ForwardRef as ReactComponent };","import { bySize, bold } from 'src/styling/helpers'\n\nexport default {\n saveButton: {\n marginRight: 20\n },\n lastOfGroup: {\n marginBottom: 24\n },\n extraPadding: {\n paddingLeft: 35,\n paddingRight: 30\n },\n extraPaddingRight: {\n paddingRight: 39\n },\n withSuffix: ({ textAlign }) => {\n const justifyContent = textAlign === 'right' ? 'end' : textAlign\n return {\n display: 'flex',\n alignItems: 'baseline',\n justifyContent\n }\n },\n suffix: {\n marginLeft: 7\n },\n size: ({ size }) => bySize(size),\n bold\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Field, useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { useContext } from 'react'\n\nimport { Link, IconButton } from 'src/components/buttons'\nimport { Td, Tr } from 'src/components/fake-table/Table'\nimport { Switch } from 'src/components/inputs'\nimport { TL2 } from 'src/components/typography'\nimport { ReactComponent as DisabledDeleteIcon } from 'src/styling/icons/action/delete/disabled.svg'\nimport { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg'\nimport { ReactComponent as DisabledEditIcon } from 'src/styling/icons/action/edit/disabled.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { ReactComponent as StripesSvg } from 'src/styling/icons/stripes.svg'\n\nimport TableCtx from './Context'\nimport styles from './Row.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst ActionCol = ({ disabled, editing }) => {\n const classes = useStyles()\n const { values, submitForm, resetForm } = useFormikContext()\n const {\n editWidth,\n onEdit,\n enableEdit,\n enableDelete,\n disableRowEdit,\n onDelete,\n deleteWidth,\n enableToggle,\n onToggle,\n toggleWidth,\n forceAdd,\n clearError,\n actionColSize\n } = useContext(TableCtx)\n\n const disableEdit = disabled || (disableRowEdit && disableRowEdit(values))\n const cancel = () => {\n clearError()\n resetForm()\n }\n\n return (\n <>\n {editing && (\n \n \n Save\n \n {!forceAdd && (\n \n Cancel\n \n )}\n \n )}\n {!editing && enableEdit && (\n \n onEdit && onEdit(values.id)}>\n {disableEdit ? : }\n \n \n )}\n {!editing && enableDelete && (\n \n onDelete(values.id)}>\n {disabled ? : }\n \n \n )}\n {!editing && enableToggle && (\n \n onToggle(values.id)}\n />\n \n )}\n \n )\n}\n\nconst ECol = ({ editing, focus, config, extraPaddingRight, extraPadding }) => {\n const {\n name,\n bypassField,\n input,\n editable = true,\n size,\n bold,\n width,\n textAlign,\n suffix,\n SuffixComponent = TL2,\n view = it => it?.toString(),\n inputProps = {}\n } = config\n\n const { values } = useFormikContext()\n const classes = useStyles({ textAlign, size })\n\n const innerProps = {\n fullWidth: true,\n autoFocus: focus,\n size,\n bold,\n textAlign,\n ...inputProps\n }\n\n // Autocomplete\n if (innerProps.options && !innerProps.getLabel) {\n innerProps.getLabel = view\n }\n\n const isEditing = editing && editable\n const isField = !bypassField\n\n return (\n \n {isEditing && isField && (\n \n )}\n {isEditing && !isField && }\n {!isEditing && values && <>{view(values[name], values)}}\n {suffix && (\n {suffix}\n )}\n \n )\n}\n\nconst groupStriped = elements => {\n const [toStripe, noStripe] = R.partition(R.has('stripe'))(elements)\n\n if (!toStripe.length) {\n return elements\n }\n\n const index = R.indexOf(toStripe[0], elements)\n const width = R.compose(R.sum, R.map(R.path(['width'])))(toStripe)\n\n return R.insert(\n index,\n { width, editable: false, view: () => },\n noStripe\n )\n}\n\nconst ERow = ({ editing, disabled, lastOfGroup }) => {\n const { touched, errors, values } = useFormikContext()\n const {\n elements,\n enableEdit,\n enableDelete,\n error,\n enableToggle,\n rowSize,\n stripeWhen\n } = useContext(TableCtx)\n\n const classes = useStyles()\n\n const shouldStripe = stripeWhen && stripeWhen(values) && !editing\n\n const innerElements = shouldStripe ? groupStriped(elements) : elements\n const [toSHeader] = R.partition(R.has('doubleHeader'))(elements)\n\n const extraPaddingIndex = toSHeader?.length\n ? R.indexOf(toSHeader[0], elements)\n : -1\n\n const extraPaddingRightIndex = toSHeader?.length\n ? R.indexOf(toSHeader[toSHeader.length - 1], elements)\n : -1\n\n const elementToFocusIndex = innerElements.findIndex(\n it => it.editable === undefined || it.editable\n )\n\n const classNames = {\n [classes.lastOfGroup]: lastOfGroup\n }\n\n const touchedErrors = R.pick(R.keys(touched), errors)\n const hasTouchedErrors = touchedErrors && R.keys(touchedErrors).length > 0\n const hasErrors = hasTouchedErrors || !!error\n\n const errorMessage =\n error || (touchedErrors && R.values(touchedErrors).join(', '))\n\n return (\n \n {innerElements.map((it, idx) => {\n return (\n \n )\n })}\n {(enableEdit || enableDelete || enableToggle) && (\n \n )}\n \n )\n}\n\nexport default ERow\n","import { offColor } from 'src/styling/variables'\n\nexport default {\n wrapper: ({ width }) => ({\n width: width\n }),\n addLink: {\n marginLeft: 'auto'\n },\n title: {\n margin: 0,\n color: offColor\n },\n outerHeader: {\n minHeight: 16,\n marginBottom: 24,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport { Form, Formik } from 'formik'\nimport * as R from 'ramda'\nimport React, { useState, useEffect } from 'react'\nimport { v4 } from 'uuid'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport Link from 'src/components/buttons/Link.js'\nimport { AddButton } from 'src/components/buttons/index.js'\nimport { TBody, Table } from 'src/components/fake-table/Table'\nimport { Info2, TL1 } from 'src/components/typography'\n\nimport TableCtx from './Context'\nimport Header from './Header'\nimport ERow from './Row'\nimport styles from './Table.styles'\n\nconst ACTION_COL_SIZE = 87\nconst DEFAULT_COL_SIZE = 100\n\nconst useStyles = makeStyles(styles)\n\nconst getWidth = R.compose(\n R.reduce(R.add)(0),\n R.map(it => it.width ?? DEFAULT_COL_SIZE)\n)\n\nconst ETable = ({\n name,\n title,\n titleLg,\n elements = [],\n data = [],\n save,\n error: externalError,\n rowSize = 'md',\n validationSchema,\n enableCreate,\n enableEdit,\n editWidth: outerEditWidth,\n enableDelete,\n deleteWidth = ACTION_COL_SIZE,\n enableToggle,\n toggleWidth = ACTION_COL_SIZE,\n onToggle,\n forceDisable,\n disableAdd,\n initialValues,\n setEditing,\n shouldOverrideEdit,\n editOverride,\n stripeWhen,\n disableRowEdit,\n groupBy,\n sortBy,\n createText = 'Add override',\n forceAdd = false\n}) => {\n const [editingId, setEditingId] = useState(null)\n const [adding, setAdding] = useState(false)\n const [saving, setSaving] = useState(false)\n const [error, setError] = useState(null)\n\n useEffect(() => setError(externalError), [externalError])\n useEffect(() => {\n setError(null)\n setAdding(forceAdd)\n }, [forceAdd])\n\n const innerSave = async value => {\n if (saving) return\n\n setSaving(true)\n\n const it = validationSchema.cast(value)\n const index = R.findIndex(R.propEq('id', it.id))(data)\n const list = index !== -1 ? R.update(index, it, data) : R.prepend(it, data)\n\n if (!R.equals(data[index], it)) {\n try {\n await save({ [name]: list }, it)\n } catch (err) {\n setSaving(false)\n return\n }\n }\n\n setAdding(false)\n setEditingId(null)\n setEditing && setEditing(false)\n setSaving(false)\n }\n\n const onDelete = id => {\n const list = R.reject(it => it.id === id, data)\n return save({ [name]: list })\n }\n\n const onReset = () => {\n setAdding(false)\n setEditingId(null)\n setEditing && setEditing(false)\n }\n\n const onEdit = it => {\n if (shouldOverrideEdit && shouldOverrideEdit(it)) return editOverride(it)\n setEditingId(it)\n setError(null)\n setEditing && setEditing(it, true)\n }\n\n const addField = () => {\n setAdding(true)\n setError(null)\n setEditing && setEditing(true, true)\n }\n\n const widthIfEditNull =\n enableDelete || enableToggle ? ACTION_COL_SIZE : ACTION_COL_SIZE * 2\n\n const editWidth = R.defaultTo(widthIfEditNull)(outerEditWidth)\n\n const actionColSize =\n ((enableDelete && deleteWidth) ?? 0) +\n ((enableEdit && editWidth) ?? 0) +\n ((enableToggle && toggleWidth) ?? 0)\n\n const width = getWidth(elements) + actionColSize\n const classes = useStyles({ width })\n\n const showButtonOnEmpty = !data.length && enableCreate && !adding\n const canAdd = !forceDisable && !editingId && !disableAdd && !adding\n const showTable = adding || data.length !== 0\n\n const innerData = sortBy ? R.sortWith(sortBy)(data) : data\n\n const ctxValue = {\n elements,\n enableEdit,\n onEdit,\n clearError: () => setError(null),\n error: error,\n disableRowEdit,\n editWidth,\n enableDelete,\n onDelete,\n deleteWidth,\n enableToggle,\n rowSize,\n onToggle,\n toggleWidth,\n actionColSize,\n stripeWhen,\n forceAdd,\n DEFAULT_COL_SIZE\n }\n\n return (\n \n
\n {showButtonOnEmpty && canAdd && (\n {createText}\n )}\n {showTable && (\n <>\n {(title || enableCreate) && (\n
\n {title && titleLg && (\n {title}\n )}\n {title && !titleLg && (\n {title}\n )}\n {enableCreate && canAdd && (\n \n {createText}\n \n )}\n
\n )}\n \n
\n
\n {adding && (\n \n
\n \n \n \n \n )}\n {innerData.map((it, idx) => {\n const nextElement = innerData[idx + 1]\n\n const canGroup = !!groupBy && nextElement\n const isFunction = R.type(groupBy) === 'Function'\n const groupFunction = isFunction ? groupBy : R.prop(groupBy)\n\n const isLastOfGroup =\n canGroup && groupFunction(it) !== groupFunction(nextElement)\n\n return (\n \n
\n \n \n \n \n )\n })}\n
\n
\n \n )}\n
\n
\n )\n}\n\nexport default ETable\n","import * as R from 'ramda'\nimport React from 'react'\n\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport EditableTable from './Table'\n\nconst NamespacedTable = ({\n name,\n save,\n data = {},\n namespaces = [],\n ...props\n}) => {\n const innerSave = (...[, it]) => {\n return save(toNamespace(it.id)(R.omit(['id2'], it)))\n }\n\n const innerData = R.map(it => ({\n id: it,\n ...fromNamespace(it)(data)\n }))(namespaces)\n\n return (\n \n )\n}\n\nexport default NamespacedTable\n","const denomiations = {\n AUD: {\n 5: 130,\n 10: 137,\n 20: 144,\n 50: 151,\n 100: 158\n },\n BBD: {\n 2: 150,\n 5: 150,\n 10: 150,\n 20: 150,\n 50: 150,\n 100: 150\n },\n CAD: {\n 5: 152,\n 10: 152,\n 20: 152,\n 50: 152,\n 100: 152\n },\n CHF: {\n 10: 126,\n 20: 137,\n 50: 148,\n 100: 159,\n 200: 170,\n 1000: 181\n },\n DKK: {\n 50: 125,\n 100: 135,\n 200: 145,\n 500: 155,\n 1000: 165\n },\n EUR: {\n 5: 120,\n 10: 127,\n 20: 133,\n 50: 140,\n 100: 147,\n 200: 153,\n 500: 160\n },\n GBP: {\n 5: 135,\n 10: 142,\n 20: 149,\n 50: 156\n },\n HKD: {\n 10: 134,\n 20: 143,\n 50: 148,\n 100: 153,\n 500: 158,\n 1000: 163\n },\n HUF: {\n 200: 154,\n 500: 154,\n 1000: 154,\n 2000: 154,\n 5000: 154,\n 10000: 154,\n 20000: 154\n },\n ILS: {\n 20: 129,\n 50: 136,\n 100: 143,\n 200: 150\n },\n JMD: {\n 50: 145,\n 100: 145,\n 500: 145,\n 1000: 145,\n 5000: 145\n },\n JPY: {\n 1000: 150,\n 2000: 154,\n 5000: 156,\n 10000: 160\n },\n KZT: {\n 200: 126,\n 500: 130,\n 1000: 134,\n 2000: 139,\n 5000: 144,\n 10000: 155,\n 20000: 155\n },\n MXN: {\n 20: 120,\n 50: 127,\n 100: 134,\n 200: 141,\n 500: 148,\n 1000: 155\n },\n MYR: {\n 1: 120,\n 5: 135,\n 10: 140,\n 20: 145,\n 50: 145,\n 100: 150\n },\n NZD: {\n 5: 135,\n 10: 140,\n 20: 145,\n 50: 150,\n 100: 155\n },\n PHP: {\n 20: 160,\n 50: 160,\n 100: 160,\n 200: 160,\n 500: 160,\n 1000: 160\n },\n PLN: {\n 10: 120,\n 20: 126,\n 50: 132,\n 100: 138,\n 200: 144,\n 500: 150\n },\n SGD: {\n 2: 126,\n 5: 133,\n 10: 141,\n 50: 156,\n 100: 162,\n 1000: 170\n },\n TWD: {\n 100: 145,\n 200: 150,\n 500: 155,\n 1000: 160,\n 2000: 165\n },\n UAH: {\n 1: 118,\n 2: 118,\n 5: 118,\n 10: 124,\n 20: 130,\n 50: 136,\n 100: 142,\n 200: 148,\n 500: 154\n },\n USD: {\n 1: 156,\n 5: 156,\n 10: 156,\n 20: 156,\n 50: 156,\n 100: 156\n },\n VND: {\n 10000: 132,\n 20000: 136,\n 50000: 140,\n 100000: 144,\n 200000: 148,\n 500000: 152\n },\n ZAR: {\n 10: 128,\n 20: 134,\n 50: 140,\n 100: 146,\n 200: 152\n }\n}\n\nexport default denomiations\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/direction/cash-out\",\n transform: \"translate(-1.000000, 0.000000)\",\n fill: \"#5A67FF\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z\",\n id: \"Path-3\",\n transform: \"translate(6.000000, 6.000000) scale(-1, 1) translate(-6.000000, -6.000000) \"\n})));\n\nfunction SvgCashOut(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"10px\",\n height: \"12px\",\n viewBox: \"0 0 10 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCashOut);\nexport default __webpack_public_path__ + \"static/media/cash-out.f029ae96.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { H1, P, Info2 } from 'src/components/typography'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { neon, spacer } from 'src/styling/variables'\n\nconst styles = {\n logo: {\n maxHeight: 80,\n maxWidth: 200\n },\n subtitle: {\n margin: 0,\n marginBottom: 42,\n textAlign: 'center'\n },\n text: {\n margin: 0\n },\n button: {\n margin: [[0, 'auto']]\n },\n modalContent: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1,\n padding: [[0, 34, 107, 34]]\n },\n innerContent: {\n paddingBottom: 72\n },\n title: {\n color: neon,\n marginBottom: 12,\n marginTop: 30,\n textAlign: 'center'\n },\n titleDecorator: {\n verticalAlign: 'bottom',\n marginRight: spacer * 1.5,\n width: spacer * 3,\n height: spacer * 3.25\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst WizardSplash = ({ name, onContinue }) => {\n const classes = useStyles()\n\n return (\n
\n
\n

\n \n Enable cash-out\n

\n {name}\n

\n You are about to activate cash-out functionality on your {name}{' '}\n machine which will allow your customers to sell crypto to you.\n

\n

\n In order to activate cash-out for this machine, please enter the\n denominations for the machine.\n

\n
\n \n
\n )\n}\n\nexport default WizardSplash\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/spring/complete\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n stroke: \"#48F694\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12\",\n id: \"Path\",\n fill: \"#48F694\"\n}));\n\nfunction SvgComplete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgComplete);\nexport default __webpack_public_path__ + \"static/media/complete.d94d5045.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/spring/current\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy\",\n fill: \"#48F694\",\n cx: 9,\n cy: 9,\n r: 4\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-5\",\n stroke: \"#48F694\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgCurrent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCurrent);\nexport default __webpack_public_path__ + \"static/media/current.9bbfa93f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/spring/empty\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-6\",\n stroke: \"#DDDDDD\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgEmpty(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmpty);\nexport default __webpack_public_path__ + \"static/media/empty.862ae4bb.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport { ReactComponent as CompleteStageIconSpring } from 'src/styling/icons/stage/spring/complete.svg'\nimport { ReactComponent as CurrentStageIconSpring } from 'src/styling/icons/stage/spring/current.svg'\nimport { ReactComponent as EmptyStageIconSpring } from 'src/styling/icons/stage/spring/empty.svg'\nimport { ReactComponent as CompleteStageIconZodiac } from 'src/styling/icons/stage/zodiac/complete.svg'\nimport { ReactComponent as CurrentStageIconZodiac } from 'src/styling/icons/stage/zodiac/current.svg'\nimport { ReactComponent as EmptyStageIconZodiac } from 'src/styling/icons/stage/zodiac/empty.svg'\nimport {\n primaryColor,\n secondaryColor,\n offColor,\n disabledColor\n} from 'src/styling/variables'\n\nconst styles = {\n stages: {\n display: 'flex',\n alignItems: 'center'\n },\n wrapper: {\n display: 'flex',\n alignItems: 'center',\n margin: 0\n },\n stage: {\n display: 'flex',\n height: 28,\n width: 28,\n zIndex: 2,\n '& > svg': {\n height: '100%',\n width: '100%',\n overflow: 'visible'\n }\n },\n separator: {\n width: 28,\n height: 2,\n border: [[2, 'solid']],\n zIndex: 1\n },\n separatorSpring: {\n borderColor: secondaryColor\n },\n separatorZodiac: {\n borderColor: primaryColor\n },\n separatorSpringEmpty: {\n borderColor: disabledColor\n },\n separatorZodiacEmpty: {\n borderColor: offColor\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Stepper = memo(({ steps, currentStep, color = 'spring', className }) => {\n if (currentStep < 1 || currentStep > steps)\n throw Error('Value of currentStage is invalid')\n if (steps < 1) throw Error('Value of stages is invalid')\n\n const classes = useStyles()\n\n const separatorClasses = {\n [classes.separator]: true,\n [classes.separatorSpring]: color === 'spring',\n [classes.separatorZodiac]: color === 'zodiac'\n }\n\n const separatorEmptyClasses = {\n [classes.separator]: true,\n [classes.separatorSpringEmpty]: color === 'spring',\n [classes.separatorZodiacEmpty]: color === 'zodiac'\n }\n\n return (\n
\n {R.range(1, currentStep).map(idx => (\n
\n {idx > 1 &&
}\n
\n {color === 'spring' && }\n {color === 'zodiac' && }\n
\n
\n ))}\n
\n {currentStep > 1 &&
}\n
\n {color === 'spring' && }\n {color === 'zodiac' && }\n
\n
\n {R.range(currentStep + 1, steps + 1).map(idx => (\n
\n
\n
\n {color === 'spring' && }\n {color === 'zodiac' && }\n
\n
\n ))}\n
\n )\n})\n\nexport default Stepper\n","export default __webpack_public_path__ + \"static/media/cashout-cassette-1.fac6c691.svg\";","export default __webpack_public_path__ + \"static/media/cashout-cassette-2.34a98cfa.svg\";","import { errorColor, spacer } from 'src/styling/variables'\n\nconst LABEL_WIDTH = 150\n\nexport default {\n title: {\n margin: [[0, 0, 12, 0]]\n },\n titleDiv: {\n paddingBottom: 32\n },\n subtitle: {\n margin: [[32, 0, 21, 0]]\n },\n edit: {\n margin: [[0, 0, 0, 0]]\n },\n error: {\n color: errorColor\n },\n bill: {\n width: 131,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'end'\n },\n billInput: {\n width: '100%'\n },\n suffix: {\n paddingLeft: spacer * 2\n },\n button: {\n marginLeft: 'auto'\n },\n submit: {\n float: 'right'\n },\n picker: {\n width: LABEL_WIDTH\n },\n header: {\n display: 'flex',\n paddingBottom: 95\n },\n thirdStepHeader: {\n display: 'flex',\n paddingBottom: 188\n },\n step: {\n flex: 1\n },\n stepImage: {\n position: 'relative',\n top: -20,\n right: 14\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1,\n paddingBottom: 32\n },\n disclaimer: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between'\n },\n disclaimerIcon: {\n float: 'left',\n margin: [[-4, 16, 48, 0]]\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport { Formik, Form, Field } from 'formik'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Stepper from 'src/components/Stepper'\nimport { Button } from 'src/components/buttons'\nimport { NumberInput } from 'src/components/inputs/formik'\nimport { Info2, H4, P, Info1, Label1 } from 'src/components/typography'\nimport cassetteOne from 'src/styling/icons/cassettes/cashout-cassette-1.svg'\nimport cassetteTwo from 'src/styling/icons/cassettes/cashout-cassette-2.svg'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nimport styles from './WizardStep.styles'\nconst useStyles = makeStyles(styles)\n\nconst WizardStep = ({\n name,\n step,\n schema,\n error,\n lastStep,\n onContinue,\n steps,\n fiatCurrency,\n options\n}) => {\n const classes = useStyles()\n\n const label = lastStep ? 'Finish' : 'Next'\n\n const cassetesArtworks = {\n 1: cassetteOne,\n 2: cassetteTwo\n }\n\n return (\n
\n
\n {name}\n \n
\n\n {step <= 2 && (\n \n
\n
\n {steps.map(\n ({ type, display, component }, idx) =>\n 1 + idx === step && (\n
\n

Edit {display}

\n\n Choose bill denomination\n
\n 0 ? component : NumberInput\n }\n fullWidth\n decimalPlaces={0}\n name={type}\n options={options}\n valueProp={'code'}\n getLabel={R.path(['display'])}>\n \n {fiatCurrency}\n \n
\n
\n )\n )}\n \n
\n\n \n
\n \n )}\n\n {step === 3 && (\n \n
\n
\n
\n

Edit 0-conf Limit

\n\n Choose a limit\n
\n \n \n {fiatCurrency}\n \n
\n
\n
\n\n \n
\n \n )}\n\n {lastStep && (\n
\n Cash-out Bill Count\n

\n \n When enabling cash-out, your bill count will be automatically set to\n zero. Make sure you physically put cash inside the cash cassettes to\n allow the machine to dispense it to your users. If you already did,\n make sure you set the correct cash-out bill count for this machine\n on your Cash Cassettes tab under Maintenance.\n

\n\n Default Commissions\n

\n \n When enabling cash-out, default commissions will be set. To change\n commissions for this machine, please go to the Commissions tab under\n Settings where you can set exceptions for each of the available\n cryptocurrencies.\n

\n
\n {error && Failed to save}\n \n
\n
\n )}\n
\n )\n}\n\nexport default WizardStep\n","import * as Yup from 'yup'\n\nimport { NumberInput } from 'src/components/inputs/formik'\n\nconst currencyMax = 999999999\nconst DenominationsSchema = Yup.object().shape({\n top: Yup.number()\n .label('Cassette 1 (Top)')\n .required()\n .min(0)\n .max(currencyMax),\n bottom: Yup.number()\n .label('Cassette 2 (Bottom)')\n .required()\n .min(0)\n .max(currencyMax),\n zeroConfLimit: Yup.number()\n .label('0-conf Limit')\n .required()\n .min(0)\n .max(currencyMax)\n})\n\nconst getElements = (machines, { fiatCurrency } = {}) => {\n return [\n {\n name: 'id',\n header: 'Machine',\n width: 200,\n view: it => machines.find(({ deviceId }) => deviceId === it).name,\n size: 'sm',\n editable: false\n },\n {\n name: 'top',\n header: 'Cassette 1 (Top)',\n size: 'sm',\n stripe: true,\n width: 200,\n textAlign: 'right',\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n },\n suffix: fiatCurrency\n },\n {\n name: 'bottom',\n header: 'Cassette 2 (Bottom)',\n size: 'sm',\n stripe: true,\n textAlign: 'right',\n width: 200,\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n },\n suffix: fiatCurrency\n },\n {\n name: 'zeroConfLimit',\n header: '0-conf Limit',\n size: 'sm',\n stripe: true,\n textAlign: 'right',\n width: 200,\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n },\n suffix: fiatCurrency\n }\n ]\n}\n\nexport { DenominationsSchema, getElements }\n","import * as R from 'ramda'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport Modal from 'src/components/Modal'\nimport { Autocomplete } from 'src/components/inputs/formik'\nimport denominations from 'src/utils/bill-denominations'\nimport { toNamespace } from 'src/utils/config'\n\nimport WizardSplash from './WizardSplash'\nimport WizardStep from './WizardStep'\nimport { DenominationsSchema } from './helper'\n\nconst LAST_STEP = 4\nconst MODAL_WIDTH = 554\nconst MODAL_HEIGHT = 520\n\nconst getOptions = R.curry((locale, denomiations) => {\n const currency = R.prop('fiatCurrency')(locale)\n return R.compose(\n R.map(code => ({ code, display: code })),\n R.keys,\n R.path([currency])\n )(denomiations)\n})\n\nconst Wizard = ({ machine, locale, onClose, save, error }) => {\n const [{ step, config }, setState] = useState({\n step: 0,\n config: { active: true }\n })\n\n const options = getOptions(locale, denominations)\n\n const title = `Enable cash-out`\n const isLastStep = step === LAST_STEP\n\n const onContinue = async it => {\n if (isLastStep) {\n return save(\n toNamespace(machine.deviceId, DenominationsSchema.cast(config))\n )\n }\n\n const newConfig = R.merge(config, it)\n\n setState({\n step: step + 1,\n config: newConfig\n })\n }\n\n const steps = [\n {\n type: 'top',\n display: 'Cassette 1 (Top)',\n component: Autocomplete\n },\n {\n type: 'bottom',\n display: 'Cassette 2',\n component: Autocomplete\n },\n {\n type: 'zeroConfLimit',\n display: '0-conf Limit',\n schema: Yup.object().shape({\n zeroConfLimit: Yup.number().required()\n })\n }\n ]\n\n const schema = () =>\n Yup.object().shape({\n top: Yup.number().required(),\n bottom: step >= 2 ? Yup.number().required() : Yup.number()\n })\n\n return (\n \n {step === 0 && (\n onContinue()} />\n )}\n {step !== 0 && (\n \n )}\n \n )\n}\n\nexport default Wizard\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { NamespacedTable as EditableTable } from 'src/components/editableTable'\nimport { Switch } from 'src/components/inputs'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { P, Label2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport Wizard from './Wizard'\nimport { DenominationsSchema, getElements } from './helper'\n\nconst useStyles = makeStyles({\n fudgeFactor: {\n display: 'flex',\n alignItems: 'center',\n marginRight: 156\n },\n switchLabel: {\n margin: 6,\n width: 24\n }\n})\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n machines {\n name\n deviceId\n cashbox\n cassette1\n cassette2\n }\n config\n }\n`\n\nconst CashOut = ({ name: SCREEN_KEY }) => {\n const classes = useStyles()\n const [wizard, setWizard] = useState(false)\n const { data } = useQuery(GET_INFO)\n\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const save = (rawConfig, accounts) => {\n const config = toNamespace(SCREEN_KEY)(rawConfig)\n return saveConfig({ variables: { config, accounts } })\n }\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const fudgeFactorActive = config?.fudgeFactorActive ?? false\n const locale = data?.config && fromNamespace('locale')(data.config)\n const machines = data?.machines ?? []\n\n const onToggle = id => {\n const namespaced = fromNamespace(id)(config)\n if (!DenominationsSchema.isValidSync(namespaced)) return setWizard(id)\n save(toNamespace(id, { active: !namespaced?.active }))\n }\n\n return (\n <>\n \n
\n

Transaction fudge factor

\n {\n save({ fudgeFactorActive: event.target.checked })\n }}\n value={fudgeFactorActive}\n />\n \n {fudgeFactorActive ? 'On' : 'Off'}\n \n \n

\n Automatically accept customer deposits as complete if their\n received amount is 100 crypto atoms or less.\n

\n

\n (Crypto atoms are the smallest unit in each cryptocurrency. E.g.,\n satoshis in Bitcoin, or wei in Ethereum.)\n

\n
\n
\n
\n !DenominationsSchema.isValidSync(it)}\n enableEdit\n editWidth={134}\n enableToggle\n toggleWidth={109}\n onToggle={onToggle}\n save={save}\n error={error?.message}\n validationSchema={DenominationsSchema}\n disableRowEdit={R.compose(R.not, R.path(['active']))}\n elements={getElements(machines, locale)}\n />\n {wizard && (\n setWizard(false)}\n save={save}\n error={error?.message}\n locale={locale}\n />\n )}\n \n )\n}\n\nexport default CashOut\n","import Cashout from './Cashout'\n\nexport default Cashout\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { spacer, offColor } from 'src/styling/variables'\n\nimport { TL1 } from './typography'\n\nconst useStyles = makeStyles({\n subtitle: {\n color: offColor,\n marginTop: spacer * 2,\n marginBottom: spacer * 2\n },\n extraMarginTop: {\n marginTop: spacer * 9\n }\n})\n\nconst Subtitle = memo(({ children, className, extraMarginTop }) => {\n const classes = useStyles()\n const classNames = {\n [classes.subtitle]: true,\n [classes.extraMarginTop]: extraMarginTop\n }\n\n return {children}\n})\n\nexport default Subtitle\n","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Subtitle from 'src/components/Subtitle'\n\nimport styles from './Section.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Section = ({ error, children, title }) => {\n const classes = useStyles()\n return (\n
\n {(title || error) && (\n
\n {title}\n {error && Failed to save changes}\n
\n )}\n {children}\n
\n )\n}\n\nexport default Section\n","export default {\n section: {\n marginBottom: 72\n },\n sectionHeader: {\n display: 'flex',\n alignItems: 'center'\n },\n sectionTitle: {\n margin: [[16, 20, 23, 0]]\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/direction/cash-in\",\n transform: \"translate(-1.000000, 0.000000)\",\n fill: \"#16D6D3\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z\",\n id: \"Path-3\"\n})));\n\nfunction SvgCashIn(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"10px\",\n height: \"12px\",\n viewBox: \"0 0 10 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCashIn);\nexport default __webpack_public_path__ + \"static/media/cash-in.c06970a7.svg\";\nexport { ForwardRef as ReactComponent };","import * as R from 'ramda'\nimport React from 'react'\nimport * as Yup from 'yup'\n\nimport { NumberInput } from 'src/components/inputs/formik'\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\n\nconst ALL_MACHINES = {\n name: 'All Machines',\n deviceId: 'ALL_MACHINES'\n}\n\nconst ALL_COINS = {\n display: 'All Coins',\n code: 'ALL_COINS'\n}\n\nconst cashInAndOutHeaderStyle = { marginLeft: 6 }\n\nconst cashInHeader = (\n
\n \n Cash-in\n
\n)\n\nconst cashOutHeader = (\n
\n \n Cash-out\n
\n)\n\nconst getView = (data, code, compare) => it => {\n if (!data) return ''\n\n return R.compose(R.prop(code), R.find(R.propEq(compare ?? 'code', it)))(data)\n}\n\nconst displayCodeArray = data => it => {\n if (!it) return it\n\n return R.compose(R.join(', '), R.map(getView(data, 'display')))(it)\n}\n\nconst onCryptoChange = (prev, curr, setValue) => {\n const hasAllCoins = R.includes(ALL_COINS.code)(curr)\n const hadAllCoins = R.includes(ALL_COINS.code)(prev)\n\n if (hasAllCoins && hadAllCoins && R.length(curr) > 1) {\n return setValue(R.reject(R.equals(ALL_COINS.code))(curr))\n }\n\n if (hasAllCoins && !hadAllCoins) {\n return setValue([ALL_COINS.code])\n }\n\n setValue(curr)\n}\n\nconst getOverridesFields = (getData, currency, auxElements) => {\n const machineData = [ALL_MACHINES].concat(getData(['machines']))\n const rawCryptos = getData(['cryptoCurrencies'])\n const cryptoData = [ALL_COINS].concat(\n R.map(it => ({ display: it.code, code: it.code }))(rawCryptos ?? [])\n )\n\n return [\n {\n name: 'machine',\n width: 196,\n size: 'sm',\n view: getView(machineData, 'name', 'deviceId'),\n input: Autocomplete,\n inputProps: {\n options: machineData,\n valueProp: 'deviceId',\n getLabel: R.path(['name'])\n }\n },\n {\n name: 'cryptoCurrencies',\n width: 280,\n size: 'sm',\n view: displayCodeArray(cryptoData),\n input: Autocomplete,\n inputProps: {\n options: cryptoData,\n valueProp: 'code',\n getLabel: R.path(['display']),\n multiple: true,\n onChange: onCryptoChange\n }\n },\n {\n header: cashInHeader,\n name: 'cashIn',\n display: 'Cash-in',\n width: 130,\n input: NumberInput,\n textAlign: 'right',\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n header: cashOutHeader,\n name: 'cashOut',\n display: 'Cash-out',\n width: 130,\n input: NumberInput,\n textAlign: 'right',\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n name: 'fixedFee',\n display: 'Fixed fee',\n width: 144,\n input: NumberInput,\n doubleHeader: 'Cash-in only',\n textAlign: 'right',\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n },\n {\n name: 'minimumTx',\n display: 'Minimun Tx',\n width: 144,\n input: NumberInput,\n doubleHeader: 'Cash-in only',\n textAlign: 'right',\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n }\n ]\n}\n\nconst mainFields = currency => [\n {\n header: cashInHeader,\n name: 'cashIn',\n display: 'Cash-in',\n width: 169,\n size: 'lg',\n input: NumberInput,\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n header: cashOutHeader,\n name: 'cashOut',\n display: 'Cash-out',\n width: 169,\n size: 'lg',\n input: NumberInput,\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n name: 'fixedFee',\n display: 'Fixed fee',\n width: 169,\n size: 'lg',\n doubleHeader: 'Cash-in only',\n textAlign: 'center',\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n },\n {\n name: 'minimumTx',\n display: 'Minimun Tx',\n width: 169,\n size: 'lg',\n doubleHeader: 'Cash-in only',\n textAlign: 'center',\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n }\n]\n\nconst overrides = (auxData, currency, auxElements) => {\n const getData = R.path(R.__, auxData)\n\n return getOverridesFields(getData, currency, auxElements)\n}\n\nconst percentMax = 100\nconst currencyMax = 9999999\nconst schema = Yup.object().shape({\n cashIn: Yup.number()\n .label('Cash-in')\n .min(0)\n .max(percentMax)\n .required(),\n cashOut: Yup.number()\n .label('Cash-out')\n .min(0)\n .max(percentMax)\n .required(),\n fixedFee: Yup.number()\n .label('Fixed Fee')\n .min(0)\n .max(currencyMax)\n .required(),\n minimumTx: Yup.number()\n .label('Minimum Tx')\n .min(0)\n .max(currencyMax)\n .required()\n})\n\nconst getAlreadyUsed = (id, machine, values) => {\n const getCrypto = R.prop('cryptoCurrencies')\n const getMachineId = R.prop('machine')\n\n const filteredOverrides = R.filter(R.propEq('machine', machine))(values)\n const originalValue = R.find(R.propEq('id', id))(values)\n\n const originalCryptos = getCrypto(originalValue)\n const originalMachineId = getMachineId(originalValue)\n\n const alreadyUsed = R.compose(\n R.uniq,\n R.flatten,\n R.map(getCrypto)\n )(filteredOverrides)\n\n if (machine !== originalMachineId) return alreadyUsed ?? []\n\n return R.difference(alreadyUsed, originalCryptos)\n}\n\nconst getOverridesSchema = (values, rawData) => {\n const getData = R.path(R.__, rawData)\n const machineData = [ALL_MACHINES].concat(getData(['machines']))\n const rawCryptos = getData(['cryptoCurrencies'])\n const cryptoData = [ALL_COINS].concat(\n R.map(it => ({ display: it.code, code: it.code }))(rawCryptos ?? [])\n )\n\n return Yup.object().shape({\n machine: Yup.string()\n .nullable()\n .label('Machine')\n .required(),\n cryptoCurrencies: Yup.array()\n .test({\n test() {\n const { id, machine, cryptoCurrencies } = this.parent\n const alreadyUsed = getAlreadyUsed(id, machine, values)\n\n const isAllMachines = machine === ALL_MACHINES.deviceId\n const isAllCoins = R.includes(ALL_COINS.code, cryptoCurrencies)\n if (isAllMachines && isAllCoins) {\n return this.createError({\n message: `All machines and all coins should be configured in the default setup table`\n })\n }\n\n const repeated = R.intersection(alreadyUsed, cryptoCurrencies)\n if (!R.isEmpty(repeated)) {\n const codes = displayCodeArray(cryptoData)(repeated)\n const machineView = getView(\n machineData,\n 'name',\n 'deviceId'\n )(machine)\n\n const message = `${codes} already overriden for machine: ${machineView}`\n\n return this.createError({ message })\n }\n return true\n }\n })\n .label('Crypto Currencies')\n .required(),\n cashIn: Yup.number()\n .label('Cash-in')\n .min(0)\n .max(percentMax)\n .required(),\n cashOut: Yup.number()\n .label('Cash-out')\n .min(0)\n .max(percentMax)\n .required(),\n fixedFee: Yup.number()\n .label('Fixed Fee')\n .min(0)\n .max(currencyMax)\n .required(),\n minimumTx: Yup.number()\n .label('Minimum Tx')\n .min(0)\n .max(currencyMax)\n .required()\n })\n}\n\nconst defaults = {\n cashIn: '',\n cashOut: '',\n fixedFee: '',\n minimumTx: ''\n}\n\nconst overridesDefaults = {\n machine: null,\n cryptoCurrencies: [],\n cashIn: '',\n cashOut: '',\n fixedFee: '',\n minimumTx: ''\n}\n\nconst getOrder = ({ machine, cryptoCurrencies }) => {\n const isAllMachines = machine === ALL_MACHINES.deviceId\n const isAllCoins = R.contains(ALL_COINS.code, cryptoCurrencies)\n\n if (isAllMachines && isAllCoins) return 0\n if (isAllMachines) return 1\n if (isAllCoins) return 2\n\n return 3\n}\n\nexport {\n mainFields,\n overrides,\n schema,\n getOverridesSchema,\n defaults,\n overridesDefaults,\n getOrder\n}\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport {\n mainFields,\n overrides,\n schema,\n getOverridesSchema,\n defaults,\n overridesDefaults,\n getOrder\n} from './helper'\n\nconst GET_DATA = gql`\n query getData {\n config\n cryptoCurrencies {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst Commissions = ({ name: SCREEN_KEY }) => {\n const [isEditingDefault, setEditingDefault] = useState(false)\n const [isEditingOverrides, setEditingOverrides] = useState(false)\n const { data } = useQuery(GET_DATA)\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n refetchQueries: () => ['getData']\n })\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n const commission = config && !R.isEmpty(config) ? config : defaults\n const commissionOverrides = commission?.overrides ?? []\n\n const orderedCommissionsOverrides = R.sortWith([\n R.ascend(getOrder),\n R.ascend(R.prop('machine'))\n ])(commissionOverrides)\n\n const save = it => {\n const config = toNamespace(SCREEN_KEY)(it.commissions[0])\n return saveConfig({ variables: { config } })\n }\n\n const saveOverrides = it => {\n const config = toNamespace(SCREEN_KEY)(it)\n return saveConfig({ variables: { config } })\n }\n\n const onEditingDefault = (it, editing) => setEditingDefault(editing)\n const onEditingOverrides = (it, editing) => setEditingOverrides(editing)\n\n return (\n <>\n \n
\n \n
\n
\n \n
\n \n )\n}\n\nexport default Commissions\n","import Commissions from './Commissions'\n\nexport default Commissions\n","import Chip from '@material-ui/core/Chip'\nimport { makeStyles } from '@material-ui/core/styles'\nimport React from 'react'\n\nimport {\n tomato,\n mistyRose,\n pumpkin,\n secondaryColorDarker as spring4,\n inputFontWeight,\n spring3,\n zircon,\n primaryColor,\n smallestFontSize,\n inputFontFamily,\n spacer,\n linen\n} from '../styling/variables'\n\nconst colors = {\n error: tomato,\n warning: pumpkin,\n success: spring4,\n neutral: primaryColor\n}\n\nconst backgroundColors = {\n error: mistyRose,\n warning: linen,\n success: spring3,\n neutral: zircon\n}\n\nconst useStyles = makeStyles({\n root: {\n borderRadius: spacer / 2,\n marginTop: spacer / 2,\n marginRight: spacer / 4,\n marginBottom: spacer / 2,\n marginLeft: spacer / 4,\n height: spacer * 3,\n backgroundColor: ({ type }) => backgroundColors[type]\n },\n label: {\n fontSize: smallestFontSize,\n fontWeight: inputFontWeight,\n fontFamily: inputFontFamily,\n paddingRight: spacer / 2,\n paddingLeft: spacer / 2,\n color: ({ type }) => colors[type]\n }\n})\n\nconst Status = ({ status }) => {\n const classes = useStyles({ type: status.type })\n return \n}\n\nconst MainStatus = ({ statuses }) => {\n const mainStatus =\n statuses.find(s => s.type === 'error') ||\n statuses.find(s => s.type === 'warning') ||\n statuses[0]\n const plus = { label: `+${statuses.length - 1}`, type: mainStatus.type }\n\n return (\n
\n \n {statuses.length > 1 && }\n
\n )\n}\n\nexport { Status, MainStatus }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/authorize/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n stroke: \"#FFFFFF\",\n cx: 6,\n cy: 6,\n r: 5\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-13\",\n stroke: \"#FFFFFF\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n points: \"4 6.66666667 5 8 8 4\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.51296906.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/authorize/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-9\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 6,\n cy: 6,\n r: 5\n})), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-13\",\n stroke: \"#1B2559\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n points: \"4 6.66666667 5 8 8 4\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.2fe856d5.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/cancel/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n stroke: \"#1B2559\",\n strokeWidth: 1.2\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 12,\n y1: 0,\n x2: 0,\n y2: 12,\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 0,\n x2: 12,\n y2: 12,\n id: \"Stroke-3\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.3b13c0b7.svg\";\nexport { ForwardRef as ReactComponent };","import { white, tomato, spring4, comet } from 'src/styling/variables'\n\nconst propertyCardStyles = {\n label1: {\n display: 'flex',\n marginBottom: 2,\n marginTop: 'auto',\n width: 85\n },\n label1Pending: {\n color: comet\n },\n label1Rejected: {\n color: tomato\n },\n label1Accepted: {\n color: spring4\n },\n cardActionButton: {\n display: 'flex',\n height: 28,\n marginRight: 'auto',\n marginLeft: 12\n },\n propertyCardTopRow: {\n display: 'flex',\n margin: [[0, 10, 5, 0]]\n },\n propertyCardBottomRow: {\n display: 'flex',\n flexDirection: 'row',\n height: 45\n },\n propertyCard: {\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 8,\n width: '100%',\n height: 100,\n padding: [[20]],\n boxSizing: 'border-box',\n boxShadow: '0 0 8px 0 rgba(0, 0, 0, 0.04)',\n border: 'solid 0',\n backgroundColor: white,\n margin: [[20, 0, 0, 0]]\n },\n rowSpaceBetween: {\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n columnSpaceBetween: {\n display: 'flex',\n flexFlow: 'column nowrap',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 90\n },\n buttonsWrapper: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n marginLeft: 'auto',\n marginTop: 'auto'\n }\n}\n\nexport { propertyCardStyles }\n","import { Paper } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { MainStatus } from 'src/components/Status'\nimport { ActionButton } from 'src/components/buttons'\nimport { H3 } from 'src/components/typography'\nimport { ReactComponent as AuthorizeReversedIcon } from 'src/styling/icons/button/authorize/white.svg'\nimport { ReactComponent as AuthorizeIcon } from 'src/styling/icons/button/authorize/zodiac.svg'\nimport { ReactComponent as RejectReversedIcon } from 'src/styling/icons/button/cancel/white.svg'\nimport { ReactComponent as RejectIcon } from 'src/styling/icons/button/cancel/zodiac.svg'\n\nimport { propertyCardStyles } from './PropertyCard.styles'\n\nconst useStyles = makeStyles(propertyCardStyles)\n\nconst OVERRIDE_PENDING = 'automatic'\nconst OVERRIDE_AUTHORIZED = 'verified'\nconst OVERRIDE_REJECTED = 'blocked'\n\nconst PropertyCard = memo(\n ({ className, title, state, authorize, reject, children }) => {\n const classes = useStyles()\n\n const label1ClassNames = {\n [classes.label1]: true,\n [classes.label1Pending]: state === OVERRIDE_PENDING,\n [classes.label1Rejected]: state === OVERRIDE_REJECTED,\n [classes.label1Accepted]: state === OVERRIDE_AUTHORIZED\n }\n\n const AuthorizeButton = () => (\n authorize()}>\n Authorize\n \n )\n\n const RejectButton = () => (\n reject()}>\n Reject\n \n )\n\n const authorized =\n state === OVERRIDE_PENDING\n ? { label: 'Pending', type: 'neutral' }\n : state === OVERRIDE_REJECTED\n ? { label: 'Rejected', type: 'error' }\n : { label: 'Accepted', type: 'success' }\n\n return (\n \n

{title}

\n
\n
\n \n
\n {children}\n
\n {authorize && state !== OVERRIDE_AUTHORIZED && AuthorizeButton()}\n {reject && state !== OVERRIDE_REJECTED && RejectButton()}\n
\n
\n \n )\n }\n)\n\nexport {\n PropertyCard,\n OVERRIDE_PENDING,\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/block/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 6,\n cy: 6,\n r: 5\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 3,\n x2: 3,\n y2: 9,\n id: \"Stroke-3\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.e72682b5.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/block/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 6,\n cy: 6,\n r: 5\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 3,\n x2: 3,\n y2: 9,\n id: \"Stroke-3\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.bb7722c5.svg\";\nexport { ForwardRef as ReactComponent };","import { comet } from 'src/styling/variables'\n\nexport default {\n labelLink: {\n cursor: 'pointer',\n color: comet\n },\n breadcrumbs: {\n margin: [[20, 0]]\n },\n actionLabel: {\n color: comet,\n margin: [[4, 0]]\n },\n customerDetails: {\n marginBottom: 18\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/search/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.7035238,\n y1: 13.7046667,\n x2: 19.4844762,\n y2: 19.485619,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.e8851a0a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/search/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.7035238,\n y1: 13.7046667,\n x2: 19.4844762,\n y2: 19.485619,\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.91792e22.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, ClickAwayListener } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React, { memo, useState } from 'react'\n\nimport Popper from 'src/components/Popper'\nimport { FeatureButton } from 'src/components/buttons'\nimport { ReactComponent as ZoomIconInverse } from 'src/styling/icons/circle buttons/search/white.svg'\nimport { ReactComponent as ZoomIcon } from 'src/styling/icons/circle buttons/search/zodiac.svg'\n\nimport imagePopperStyles from './ImagePopper.styles'\n\nconst useStyles = makeStyles(imagePopperStyles)\n\nconst ImagePopper = memo(\n ({ className, width, height, popupWidth, popupHeight, src }) => {\n const classes = useStyles({\n width,\n height,\n popupWidth,\n popupHeight\n })\n const [popperAnchorEl, setPopperAnchorEl] = useState(null)\n\n const handleOpenPopper = event => {\n setPopperAnchorEl(popperAnchorEl ? null : event.currentTarget)\n }\n\n const handleClosePopper = () => {\n setPopperAnchorEl(null)\n }\n\n const popperOpen = Boolean(popperAnchorEl)\n\n const Image = ({ className }) => (\n \"\"\n )\n\n return (\n \n
\n \n \n \n
\n \n
\n
\n
\n
\n )\n }\n)\n\nexport default ImagePopper\n","export default {\n row: {\n display: 'flex',\n flexDirection: 'row'\n },\n image: ({ width, height }) => ({\n objectFit: 'cover',\n borderRadius: '8px 0px 0px 8px',\n width,\n height\n }),\n popupImage: ({ popupWidth, popupHeight }) => ({\n objectFit: 'cover',\n width: popupWidth,\n height: popupHeight\n }),\n button: ({ height }) => ({\n borderRadius: '0px 8px 8px 0px',\n height\n }),\n popoverContent: {\n display: 'block',\n padding: [[10, 15]]\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/crossed-camera\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"crossed-camera\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/cam/zodiac\",\n transform: \"translate(0.000000, 3.657143)\",\n fill: \"#1B2559\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,19.1876029 C12.4482116,19.1876029 9.56809571,16.389776 9.56809571,12.9394673 C9.56809571,9.48915858 12.4482116,6.69133172 16,6.69133172 C19.5517884,6.69133172 22.4319043,9.48915858 22.4319043,12.9394673 C22.4319043,16.389776 19.5517884,19.1876029 16,19.1876029 Z M16,17.104891 C18.3677075,17.104891 20.2879362,15.239526 20.2879362,12.9394673 C20.2879362,10.6394086 18.3677075,8.77404358 16,8.77404358 C13.6322925,8.77404358 11.7120638,10.6394086 11.7120638,12.9394673 C11.7120638,15.239526 13.6322925,17.104891 16,17.104891 Z M22.7667469,3.30692494 L30.7397807,3.30692494 C31.3318211,3.30692494 31.8117647,3.77315587 31.8117647,4.34828087 L31.8117647,22.0513317 C31.8117647,22.6264567 31.3318211,23.0926877 30.7397807,23.0926877 L1.26021934,23.0926877 C0.6681789,23.0926877 0.188235294,22.6264567 0.188235294,22.0513317 L0.188235294,4.34828087 C0.188235294,3.77315587 0.6681789,3.30692494 1.26021934,3.30692494 L9.23325311,3.30692494 L12.0766705,0.494526627 C12.2782333,0.295162767 12.5538198,0.182857143 12.8414756,0.182857143 L19.1585244,0.182857143 C19.4461802,0.182857143 19.7217667,0.295162767 19.9233295,0.494526627 L22.7667469,3.30692494 Z M29.6677966,5.3896368 L22.3170489,5.3896368 C22.0293931,5.3896368 21.7538065,5.27733118 21.5522438,5.07796732 L18.7088264,2.26556901 L13.2911736,2.26556901 L10.4477562,5.07796732 C10.2461935,5.27733118 9.97060695,5.3896368 9.68295115,5.3896368 L2.33220339,5.3896368 L2.33220339,21.0099758 L29.6677966,21.0099758 L29.6677966,5.3896368 Z\",\n id: \"Stroke-1\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 32,\n y1: 0,\n x2: 0,\n y2: 32,\n id: \"Line\",\n stroke: \"#FF584A\",\n strokeWidth: 2,\n strokeLinecap: \"square\"\n}))));\n\nfunction SvgCrossedCamera(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"32px\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCrossedCamera);\nexport default __webpack_public_path__ + \"static/media/crossed-camera.28e8f7eb.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { Info3, Label1 } from 'src/components/typography'\nimport { comet } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n field: {\n height: 46\n },\n label: {\n color: comet,\n margin: [[0, 3]]\n },\n value: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n margin: 0,\n paddingLeft: 4\n }\n})\n\nconst Field = memo(({ label, display, size, className }) => {\n const classes = useStyles()\n\n return (\n \n {label}\n {display}\n
\n )\n})\n\nexport default Field\n","import { Box } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport ImagePopper from 'src/components/ImagePopper'\nimport { H3, Info3 } from 'src/components/typography'\nimport {\n PropertyCard,\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n} from 'src/pages/Customers/components/propertyCard'\nimport { ReactComponent as CrossedCameraIcon } from 'src/styling/icons/ID/photo/crossed-camera.svg'\nimport { URI } from 'src/utils/apollo'\n\nimport { complianceDetailsStyles } from './ComplianceDetails.styles'\nimport Field from './Field'\n\nimport { IdDataCard } from './'\n\nconst useStyles = makeStyles(complianceDetailsStyles)\n\nconst imageWidth = 165\nconst imageHeight = 45\nconst popupImageWidth = 360\nconst popupImageHeight = 240\n\nconst Photo = ({ show, src }) => {\n const classes = useStyles({ width: imageWidth })\n\n return (\n <>\n {show ? (\n \n ) : (\n
\n \n
\n )}\n \n )\n}\n\nconst ComplianceDetails = ({ customer, updateCustomer }) => {\n const classes = useStyles({ width: imageWidth })\n\n const sanctions = R.path(['sanctions'])(customer)\n const sanctionsAt = R.path(['sanctionsAt'])(customer)\n const sanctionsDisplay = !sanctionsAt\n ? 'Not checked yet'\n : sanctions\n ? 'Passed'\n : 'Failed'\n\n return (\n
\n

Compliance details

\n
\n \n \n \n \n updateCustomer({ idCardPhotoOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ idCardPhotoOverride: OVERRIDE_REJECTED })\n }>\n \n \n \n updateCustomer({ frontCameraOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ frontCameraOverride: OVERRIDE_REJECTED })\n }>\n \n \n \n \n \n updateCustomer({ usSsnOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ usSsnOverride: OVERRIDE_REJECTED })\n }>\n \n \n \n updateCustomer({ sanctionsOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ sanctionsOverride: OVERRIDE_REJECTED })\n }>\n {sanctionsDisplay}\n \n \n \n
\n
\n )\n}\n\nexport default ComplianceDetails\n","const complianceDetailsStyles = {\n complianceDetailsGrid: {\n display: 'flex',\n flexDirection: 'row'\n },\n firstColumn: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginRight: 10\n },\n lastColumn: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginLeft: 10\n },\n photoWrapper: ({ width }) => ({\n display: 'flex',\n justifyContent: 'center',\n width\n })\n}\n\nexport { complianceDetailsStyles }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/card/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n stroke: \"#1B2559\",\n strokeWidth: 1.6\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"id-copy\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-1\",\n points: \"0 16 22 16 22 0 0 0\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 4,\n x2: 18.8571429,\n y2: 4,\n id: \"Stroke-3\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 7.2,\n x2: 18.8571429,\n y2: 7.2,\n id: \"Stroke-4\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-5\",\n points: \"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4\"\n}))));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.05a22c3a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/law/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"bevel\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.4141,\n y1: 7.4648,\n x2: 14.0711,\n y2: 1.8078,\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 12.6568,\n y1: 0.3936,\n x2: 15.4858,\n y2: 3.2216,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7,\n y1: 6.0498,\n x2: 9.829,\n y2: 8.8788,\n id: \"Stroke-6\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.2427,\n y1: 4.6357,\n x2: 19.2427,\n y2: 12.6357,\n id: \"Stroke-7\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3,\n y1: 16.5,\n x2: 10,\n y2: 16.5,\n id: \"Stroke-9\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 19.5,\n x2: 13,\n y2: 19.5,\n id: \"Stroke-10\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"icon/sf-small/law/white\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.57984891.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/law/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"bevel\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.4141,\n y1: 7.4648,\n x2: 14.0711,\n y2: 1.8078,\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 12.6568,\n y1: 0.3936,\n x2: 15.4858,\n y2: 3.2216,\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7,\n y1: 6.0498,\n x2: 9.829,\n y2: 8.8788,\n id: \"Stroke-6\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.2427,\n y1: 4.6357,\n x2: 19.2427,\n y2: 12.6357,\n id: \"Stroke-7\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3,\n y1: 16.5,\n x2: 10,\n y2: 16.5,\n id: \"Stroke-9\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 19.5,\n x2: 13,\n y2: 19.5,\n id: \"Stroke-10\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"icon/sf-small/law/zodiac\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.56f832ee.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport baseStyles from 'src/pages/Logs.styles'\nimport { zircon, comet, primaryColor, fontSize4 } from 'src/styling/variables'\n\nconst { label1 } = typographyStyles\nconst { titleWrapper, titleAndButtonsContainer } = baseStyles\n\nexport default {\n titleWrapper,\n titleAndButtonsContainer,\n row: {\n display: 'flex',\n flexFlow: 'row nowrap'\n },\n rowSpaceBetween: {\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n column: {\n display: 'flex',\n flexFlow: 'column nowrap',\n width: '100%',\n height: '100%',\n justifyContent: 'space-between'\n },\n textInput: {\n width: 144\n },\n p: {\n fontFamily: 'MuseoSans',\n fontSize: fontSize4,\n fontWeight: 500,\n fontStretch: 'normal',\n fontStyle: 'normal',\n lineHeight: 1.14,\n letterSpacing: 'normal',\n color: primaryColor\n },\n txId: {\n fontFamily: 'MuseoSans',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n txClassIconLeft: {\n marginRight: 11\n },\n txClassIconRight: {\n marginLeft: 11\n },\n headerLabels: {\n display: 'flex',\n flexDirection: 'row',\n '& div': {\n display: 'flex',\n alignItems: 'center'\n },\n '& > div:first-child': {\n marginRight: 24\n },\n '& span': {\n extend: label1,\n marginLeft: 6\n }\n },\n photo: {\n width: 92,\n height: 92,\n borderRadius: 8,\n backgroundColor: zircon,\n margin: [[0, 28, 0, 0]],\n alignItems: 'center',\n justifyContent: 'center',\n display: 'flex'\n },\n img: {\n width: 80\n },\n customerName: {\n marginBottom: 32\n },\n icon: {\n marginRight: 11\n },\n name: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center'\n },\n value: {\n height: 16\n },\n label: {\n marginBottom: 4,\n color: comet\n },\n idIcon: {\n marginRight: 10\n },\n subpageButton: {\n marginLeft: 16\n }\n}\n","import { parsePhoneNumberFromString } from 'libphonenumber-js'\nimport * as R from 'ramda'\n\nconst CUSTOMER_BLOCKED = 'blocked'\n\nconst getAuthorizedStatus = it =>\n it.authorizedOverride === CUSTOMER_BLOCKED\n ? { label: 'Blocked', type: 'error' }\n : it.daysSuspended > 0\n ? { label: `${it.daysSuspended} day suspension`, type: 'warning' }\n : { label: 'Authorized', type: 'success' }\n\nconst getFormattedPhone = (phone, country) => {\n const phoneNumber =\n phone && country ? parsePhoneNumberFromString(phone, country) : null\n\n return phoneNumber ? phoneNumber.formatInternational() : phone\n}\n\nconst getName = it => {\n const idData = R.path(['idCardData'])(it)\n\n return `${R.path(['firstName'])(idData) ?? ''} ${R.path(['lastName'])(\n idData\n ) ?? ''}`.trim()\n}\n\nexport { getAuthorizedStatus, getFormattedPhone, getName }\n","import { Paper } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport { ReactComponent as CrossedCameraIcon } from 'src/styling/icons/ID/photo/crossed-camera.svg'\nimport { URI } from 'src/utils/apollo'\n\nimport mainStyles from '../CustomersList.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst FrontCameraPhoto = memo(({ frontCameraPath }) => {\n const classes = useStyles()\n\n return (\n \n {frontCameraPath ? (\n \n ) : (\n \n )}\n \n )\n})\n\nexport default FrontCameraPhoto\n","import { makeStyles, Box } from '@material-ui/core'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport { SubpageButton } from 'src/components/buttons'\nimport { H2, Label1, P } from 'src/components/typography'\nimport { ReactComponent as IdIcon } from 'src/styling/icons/ID/card/zodiac.svg'\nimport { ReactComponent as LawIconInverse } from 'src/styling/icons/circle buttons/law/white.svg'\nimport { ReactComponent as LawIcon } from 'src/styling/icons/circle buttons/law/zodiac.svg'\n\nimport mainStyles from '../CustomersList.styles'\nimport { getFormattedPhone, getName } from '../helper'\n\nimport FrontCameraPhoto from './FrontCameraPhoto'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst CustomerDetails = memo(({ customer, locale, setShowCompliance }) => {\n const classes = useStyles()\n\n const elements = [\n {\n header: 'Phone number',\n size: 172,\n value: getFormattedPhone(customer.phone, locale.country)\n },\n {\n header: 'ID number',\n size: 172,\n value: R.path(['idCardData', 'documentNumber'])(customer) ?? ''\n },\n {\n header: 'US SSN',\n size: 127,\n value: R.path(['usSsn'])(customer) ?? ''\n }\n ]\n\n const name = getName(customer)\n\n return (\n \n \n \n
\n \n

\n {name.length\n ? name\n : getFormattedPhone(R.path(['phone'])(customer), locale.country)}\n

\n \n Compliance details\n \n
\n \n {elements.map(({ size, header }, idx) => (\n \n {header}\n \n ))}\n \n \n {elements.map(({ size, value }, idx) => (\n \n {value}\n

\n ))}\n
\n
\n
\n )\n})\n\nexport default CustomerDetails\n","import * as R from 'ramda'\n\nconst ifNotNull = (value, valueIfNotNull) => {\n return R.isNil(value) ? '' : valueIfNotNull\n}\n\nexport { ifNotNull }\n","import { Box } from '@material-ui/core'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport {\n PropertyCard,\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n} from 'src/pages/Customers/components/propertyCard'\nimport { ifNotNull } from 'src/utils/nullCheck'\n\nimport { getName } from '../helper'\n\nimport Field from './Field'\n\nconst IdDataCard = memo(({ customerData, updateCustomer }) => {\n const idData = R.path(['idCardData'])(customerData)\n const rawExpirationDate = R.path(['expirationDate'])(idData)\n const country = R.path(['country'])(idData)\n const rawDob = R.path(['dateOfBirth'])(idData)\n\n const elements = [\n {\n header: 'Name',\n display: `${getName(customerData)}`,\n size: 190\n },\n {\n header: 'ID number',\n display: R.path(['documentNumber'])(idData),\n size: 160\n },\n {\n header: 'Birth Date',\n display: ifNotNull(rawDob, moment.utc(rawDob).format('YYYY-MM-DD')),\n size: 110\n },\n {\n header: 'Age',\n display: ifNotNull(\n rawDob,\n moment.utc().diff(moment.utc(rawDob).format('YYYY-MM-DD'), 'years')\n ),\n size: 50\n },\n {\n header: 'Gender',\n display: R.path(['gender'])(idData),\n size: 80\n },\n {\n header: country === 'Canada' ? 'Province' : 'State',\n display: R.path(['state'])(idData),\n size: 120\n },\n {\n header: 'Expiration Date',\n display: ifNotNull(\n rawExpirationDate,\n moment.utc(rawExpirationDate).format('YYYY-MM-DD')\n )\n }\n ]\n\n return (\n \n updateCustomer({ idCardDataOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() => updateCustomer({ idCardDataOverride: OVERRIDE_REJECTED })}>\n \n {elements.map(({ header, display, size }, idx) => (\n \n ))}\n \n \n )\n})\n\nexport default IdDataCard\n","import * as R from 'ramda'\n\nconst CRYPTO_CURRENCIES = [\n {\n cryptoCode: 'BTC',\n display: 'Bitcoin',\n code: 'bitcoin',\n unitScale: 8\n },\n {\n cryptoCode: 'ETH',\n display: 'Ethereum',\n code: 'ethereum',\n unitScale: 18\n },\n {\n cryptoCode: 'LTC',\n display: 'Litecoin',\n code: 'litecoin',\n unitScale: 8\n },\n {\n cryptoCode: 'DASH',\n display: 'Dash',\n code: 'dash',\n unitScale: 8\n },\n {\n cryptoCode: 'ZEC',\n display: 'Zcash',\n code: 'zcash',\n unitScale: 8\n },\n {\n cryptoCode: 'BCH',\n display: 'Bitcoin Cash',\n code: 'bitcoincash',\n unitScale: 8\n }\n]\n\nfunction getCryptoCurrency(cryptoCode) {\n const coin = R.find(R.propEq('cryptoCode', cryptoCode))(CRYPTO_CURRENCIES)\n\n if (!coin) throw new Error(`Unsupported crypto: ${cryptoCode}`)\n return coin\n}\n\nfunction toUnit(cryptoAtoms, cryptoCode) {\n const cryptoRec = getCryptoCurrency(cryptoCode)\n const unitScale = cryptoRec.unitScale\n return cryptoAtoms.shiftedBy(-unitScale)\n}\n\nfunction formatCryptoAddress(cryptoCode = '', address = '') {\n return cryptoCode === 'BCH' ? address.replace('bitcoincash:', '') : address\n}\n\nexport { toUnit, formatCryptoAddress }\n","import { makeStyles, Box } from '@material-ui/core'\nimport BigNumber from 'bignumber.js'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport DataTable from 'src/components/tables/DataTable'\nimport { H3, H4, Label1, Label2, P } from 'src/components/typography'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { toUnit } from 'src/utils/coin'\nimport { ifNotNull } from 'src/utils/nullCheck'\n\nimport CopyToClipboard from '../../Transactions/CopyToClipboard'\nimport mainStyles from '../CustomersList.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst TransactionsList = ({ customer, data, loading }) => {\n const classes = useStyles()\n const LastTxIcon = customer.lastTxClass === 'cashOut' ? TxOutIcon : TxInIcon\n const hasData = !(R.isEmpty(data) || R.isNil(data))\n\n const summaryElements = [\n {\n header: 'Transactions',\n size: 127,\n value: ifNotNull(\n customer.totalTxs,\n `${Number.parseInt(customer.totalTxs)}`\n )\n },\n {\n header: 'Transaction volume',\n size: 167,\n value: ifNotNull(\n customer.totalSpent,\n `${Number.parseFloat(customer.totalSpent)} ${customer.lastTxFiatCode}`\n )\n },\n {\n header: 'Last active',\n size: 142,\n value: ifNotNull(\n customer.lastActive,\n moment.utc(customer.lastActive).format('YYYY-MM-D')\n )\n },\n {\n header: 'Last transaction',\n size: 198,\n value: ifNotNull(\n customer.lastTxFiat,\n <>\n \n {`${Number.parseFloat(customer.lastTxFiat)} \n ${customer.lastTxFiatCode}`}\n \n )\n }\n ]\n\n const tableElements = [\n {\n header: 'Direction',\n width: 207,\n view: it => (\n <>\n {it.txClass === 'cashOut' ? (\n \n ) : (\n \n )}\n {it.txClass === 'cashOut' ? 'Cach-out' : 'Cash-in'}\n \n )\n },\n {\n header: 'Transaction ID',\n width: 414,\n view: it => (\n {it.id}\n )\n },\n {\n header: 'Cash',\n width: 146,\n textAlign: 'right',\n view: it => (\n <>\n {`${Number.parseFloat(it.fiat)} `}\n {it.fiatCode}\n \n )\n },\n {\n header: 'Crypto',\n width: 142,\n textAlign: 'right',\n view: it => (\n <>\n {`${toUnit(new BigNumber(it.cryptoAtoms), it.cryptoCode).toFormat(\n 5\n )} `}\n {it.cryptoCode}\n \n )\n },\n {\n header: 'Date',\n width: 157,\n view: it => moment.utc(it.created).format('YYYY-MM-D')\n },\n {\n header: 'Time (h:m:s)',\n width: 134,\n view: it => moment.utc(it.created).format('hh:mm:ss')\n }\n ]\n\n return (\n <>\n

Transactions

\n \n \n {summaryElements.map(({ size, header }, idx) => (\n \n {header}\n \n ))}\n \n \n {summaryElements.map(({ size, value }, idx) => (\n \n {value}\n

\n ))}\n
\n
\n
\n
\n

\n {loading\n ? 'Loading'\n : hasData\n ? 'All transactions from this customer'\n : 'No transactions so far'}\n

\n
\n
\n {hasData && }\n \n )\n}\n\nexport default TransactionsList\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles, Breadcrumbs, Box } from '@material-ui/core'\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { memo, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\n\nimport { ActionButton } from 'src/components/buttons'\nimport { Label1, Label2 } from 'src/components/typography'\nimport {\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n} from 'src/pages/Customers/components/propertyCard'\nimport { ReactComponent as AuthorizeReversedIcon } from 'src/styling/icons/button/authorize/white.svg'\nimport { ReactComponent as AuthorizeIcon } from 'src/styling/icons/button/authorize/zodiac.svg'\nimport { ReactComponent as BlockReversedIcon } from 'src/styling/icons/button/block/white.svg'\nimport { ReactComponent as BlockIcon } from 'src/styling/icons/button/block/zodiac.svg'\nimport { fromNamespace, namespaces } from 'src/utils/config'\n\nimport styles from './CustomerProfile.styles'\nimport {\n CustomerDetails,\n TransactionsList,\n ComplianceDetails\n} from './components'\nimport { getFormattedPhone, getName } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CUSTOMER = gql`\n query customer($customerId: ID!) {\n config\n customer(customerId: $customerId) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n transactions {\n txClass\n id\n fiat\n fiatCode\n cryptoAtoms\n cryptoCode\n created\n errorMessage: error\n error: errorCode\n }\n }\n }\n`\n\nconst SET_CUSTOMER = gql`\n mutation setCustomer($customerId: ID!, $customerInput: CustomerInput) {\n setCustomer(customerId: $customerId, customerInput: $customerInput) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n }\n }\n`\n\nconst CustomerProfile = memo(() => {\n const classes = useStyles()\n const history = useHistory()\n const [showCompliance, setShowCompliance] = useState(false)\n const { id: customerId } = useParams()\n\n const { data: customerResponse, refetch: getCustomer, loading } = useQuery(\n GET_CUSTOMER,\n {\n variables: { customerId }\n }\n )\n\n const [setCustomer] = useMutation(SET_CUSTOMER, {\n onCompleted: () => getCustomer()\n })\n\n const updateCustomer = it =>\n setCustomer({\n variables: {\n customerId,\n customerInput: it\n }\n })\n\n const configData = R.path(['config'])(customerResponse) ?? []\n const locale = configData && fromNamespace(namespaces.LOCALE, configData)\n const customerData = R.path(['customer'])(customerResponse) ?? []\n const rawTransactions = R.path(['transactions'])(customerData) ?? []\n const sortedTransactions = R.sort(R.descend(R.prop('cryptoAtoms')))(\n rawTransactions\n )\n const name = getName(customerData)\n const blocked =\n R.path(['authorizedOverride'])(customerData) === OVERRIDE_REJECTED\n\n return (\n <>\n }\n aria-label=\"breadcrumb\">\n history.push('/compliance/customers')}>\n Customers\n \n \n {name.length\n ? name\n : getFormattedPhone(\n R.path(['phone'])(customerData),\n locale.country\n )}\n \n \n
\n \n setShowCompliance(!showCompliance)}\n />\n
\n Actions\n \n updateCustomer({\n authorizedOverride: blocked\n ? OVERRIDE_AUTHORIZED\n : OVERRIDE_REJECTED\n })\n }>\n {`${blocked ? 'Authorize' : 'Block'} customer`}\n \n
\n \n
\n {!showCompliance && (\n \n )}\n {showCompliance && (\n \n )}\n \n )\n})\n\nexport default CustomerProfile\n","import { makeStyles } from '@material-ui/core/styles'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { MainStatus } from 'src/components/Status'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport DataTable from 'src/components/tables/DataTable'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { ifNotNull } from 'src/utils/nullCheck'\n\nimport styles from './CustomersList.styles'\nimport { getAuthorizedStatus, getFormattedPhone, getName } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst CustomersList = ({ data, locale, onClick, loading }) => {\n const classes = useStyles()\n\n const elements = [\n {\n header: 'Phone',\n width: 172,\n view: it => getFormattedPhone(it.phone, locale.country)\n },\n {\n header: 'Name',\n width: 241,\n view: getName\n },\n {\n header: 'Total TXs',\n width: 126,\n textAlign: 'right',\n view: it => `${Number.parseInt(it.totalTxs)}`\n },\n {\n header: 'Total spent',\n width: 152,\n textAlign: 'right',\n view: it =>\n `${Number.parseFloat(it.totalSpent)} ${it.lastTxFiatCode ?? ''}`\n },\n {\n header: 'Last active',\n width: 133,\n view: it =>\n ifNotNull(it.lastActive, moment.utc(it.lastActive).format('YYYY-MM-D'))\n },\n {\n header: 'Last transaction',\n width: 161,\n textAlign: 'right',\n view: it => {\n const hasLastTx = !R.isNil(it.lastTxFiatCode)\n const LastTxIcon = it.lastTxClass === 'cashOut' ? TxOutIcon : TxInIcon\n const lastIcon = \n return (\n <>\n {hasLastTx &&\n `${parseFloat(it.lastTxFiat)} ${it.lastTxFiatCode ?? ''}`}\n {hasLastTx && lastIcon}\n \n )\n }\n },\n {\n header: 'Status',\n width: 188,\n view: it => \n }\n ]\n\n return (\n <>\n },\n { label: 'Cash-out', icon: }\n ]}\n />\n \n \n )\n}\n\nexport default CustomersList\n","import { useQuery } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React from 'react'\nimport { useHistory } from 'react-router-dom'\n\nimport { fromNamespace, namespaces } from 'src/utils/config'\n\nimport CustomersList from './CustomersList'\n\nconst GET_CUSTOMERS = gql`\n {\n config\n customers {\n id\n idCardData\n phone\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n authorizedOverride\n daysSuspended\n }\n }\n`\n\nconst Customers = () => {\n const history = useHistory()\n const { data: customersResponse, loading } = useQuery(GET_CUSTOMERS)\n\n const handleCustomerClicked = customer =>\n history.push(`/compliance/customer/${customer.id}`)\n\n const configData = R.path(['config'])(customersResponse) ?? []\n const locale = configData && fromNamespace(namespaces.LOCALE, configData)\n const customersData = R.sortWith([R.descend(R.prop('lastActive'))])(\n R.path(['customers'])(customersResponse) ?? []\n )\n\n return (\n \n )\n}\n\nexport default Customers\n","import { makeStyles } from '@material-ui/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { Label1 } from './typography'\n\nconst useStyles = makeStyles({\n wrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n colorIndicator: {\n borderRadius: 3,\n height: 12,\n width: 12,\n marginRight: 8\n }\n})\n\nconst TableLabel = ({ className, label, color, ...props }) => {\n const classes = useStyles()\n return (\n
\n {color && (\n \n )}\n {label}\n
\n )\n}\n\nexport default TableLabel\n","import typographyStyles from 'src/components/typography/styles'\nimport {\n disabledColor2,\n spacer,\n subheaderColor,\n errorColor,\n placeholderColor,\n comet\n} from 'src/styling/variables'\n\nconst { label1 } = typographyStyles\n\nexport default {\n wrapper: {\n display: 'flex',\n flex: 1,\n flexDirection: 'row',\n height: '100%'\n },\n main: {\n display: 'flex',\n flex: 1\n },\n firstSide: {\n margin: `0 ${spacer * 8}px 0 ${spacer * 6}px`\n },\n secondSide: {\n marginTop: -29\n },\n error: {\n color: errorColor\n },\n coinTotal: {\n margin: `${spacer * 1.5}px 0`\n },\n leftSpacer: {\n marginLeft: spacer\n },\n topSpacer: {\n marginTop: spacer * 5\n },\n addressWrapper: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n backgroundColor: subheaderColor\n },\n address: {\n width: 375,\n margin: `${spacer * 1.5}px ${spacer * 3}px`\n },\n itemWrapper: {\n textAlign: 'end'\n },\n item: {\n extend: label1,\n margin: 2\n },\n inactiveItem: {\n color: comet\n },\n firstItem: {\n fontWeight: 700,\n margin: 2\n },\n total: {\n marginTop: 'auto',\n textAlign: 'right',\n marginRight: 24\n },\n totalPending: {\n marginTop: 2\n },\n totalTitle: {\n color: placeholderColor,\n marginBottom: 2\n },\n table: {\n marginTop: spacer,\n marginLeft: spacer * 6\n },\n tableLabel: {\n justifyContent: 'end',\n marginTop: -38\n },\n pending: {\n backgroundColor: disabledColor2\n },\n copyToClipboard: {\n marginLeft: 'auto',\n paddingTop: 6,\n paddingLeft: 15,\n marginRight: -11\n }\n}\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport BigNumber from 'bignumber.js'\nimport classnames from 'classnames'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport QRCode from 'qrcode.react'\nimport React, { useState } from 'react'\n\nimport TableLabel from 'src/components/TableLabel'\nimport Title from 'src/components/Title'\nimport { Tr, Td, THead, TBody, Table } from 'src/components/fake-table/Table'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport {\n H3,\n Info1,\n Info2,\n Info3,\n Mono,\n Label1,\n Label3\n} from 'src/components/typography'\nimport CopyToClipboard from 'src/pages/Transactions/CopyToClipboard'\nimport { primaryColor } from 'src/styling/variables'\nimport { formatCryptoAddress } from 'src/utils/coin'\n\nimport styles from './Funding.styles'\n\nconst useStyles = makeStyles(styles)\nconst sizes = {\n big: 165,\n time: 140,\n date: 130\n}\n\nconst GET_FUNDING = gql`\n {\n funding {\n cryptoCode\n errorMsg\n fundingAddress\n fundingAddressUrl\n confirmedBalance\n pending\n fiatConfirmedBalance\n fiatPending\n fiatCode\n display\n unitScale\n }\n }\n`\n\nconst formatAddress = (cryptoCode = '', address = '') =>\n formatCryptoAddress(cryptoCode, address).replace(/(.{4})/g, '$1 ')\nconst sumReducer = (acc, value) => acc.plus(value)\nconst formatNumber = it => new BigNumber(it).toFormat(2)\n\nconst getConfirmedTotal = list => {\n return formatNumber(\n list\n .filter(it => !it.errorMsg)\n .map(it => new BigNumber(it.fiatConfirmedBalance))\n .reduce(sumReducer, new BigNumber(0))\n )\n}\n\nconst getPendingTotal = list => {\n return formatNumber(\n list\n .filter(it => !it.errorMsg)\n .map(it => new BigNumber(it.fiatPending))\n .reduce(sumReducer, new BigNumber(0))\n )\n}\n\nconst Funding = () => {\n const [selected, setSelected] = useState(null)\n const [viewHistory] = useState(false)\n const classes = useStyles()\n const fundingHistory = [\n {\n cryptoAmount: 2.0,\n balance: 10.23,\n fiatValue: 1000.0,\n date: new Date(),\n performedBy: null,\n pending: true\n },\n {\n cryptoAmount: 10.0,\n balance: 12.23,\n fiatValue: 12000.0,\n date: new Date(),\n performedBy: null\n },\n {\n cryptoAmount: 5.0,\n balance: 5.0,\n fiatValue: 50000.0,\n date: new Date(),\n performedBy: null\n }\n ]\n\n const isSelected = it => {\n return selected && selected.cryptoCode === it.cryptoCode\n }\n\n const { data: fundingResponse } = useQuery(GET_FUNDING)\n\n if (fundingResponse?.funding?.length && !selected) {\n setSelected(fundingResponse?.funding[0])\n }\n\n const itemRender = (it, active) => {\n const itemClass = {\n [classes.item]: true,\n [classes.inactiveItem]: !active\n }\n const wrapperClass = {\n [classes.itemWrapper]: true,\n [classes.error]: it.errorMsg\n }\n\n return (\n
\n
{it.display}
\n {!it.errorMsg && (\n <>\n
\n {it.fiatConfirmedBalance} {it.fiatCode}\n
\n
\n {it.confirmedBalance} {it.cryptoCode}\n
\n \n )}\n
\n )\n }\n\n const pendingTotal = getPendingTotal(fundingResponse?.funding || [])\n const signIfPositive = num => (num >= 0 ? '+' : '')\n\n return (\n <>\n
\n Funding\n {/* */}\n
\n
\n it.display}\n itemRender={itemRender}>\n {fundingResponse?.funding && fundingResponse?.funding?.length && (\n
\n \n Total Crypto Balance\n \n \n {getConfirmedTotal(fundingResponse.funding)}\n {fundingResponse.funding[0].fiatCode}\n \n \n ({signIfPositive(pendingTotal)} {pendingTotal} pending)\n \n
\n )}\n \n {selected && !viewHistory && selected.errorMsg && (\n
\n
\n {selected.errorMsg}\n
\n
\n )}\n {selected && !viewHistory && !selected.errorMsg && (\n
\n
\n

Balance ({selected.display})

\n
\n \n {`${selected.confirmedBalance} ${selected.cryptoCode}`}\n \n \n {`(${signIfPositive(selected.pending)} ${\n selected.pending\n } pending)`}\n \n
\n\n
\n \n {`= ${formatNumber(selected.fiatConfirmedBalance)} ${\n selected.fiatCode\n }`}\n \n \n {`(${signIfPositive(selected.fiatPending)} ${formatNumber(\n selected.fiatPending\n )} pending)`}\n \n
\n\n

Address

\n
\n \n \n \n {formatAddress(\n selected.cryptoCode,\n selected.fundingAddress\n )}\n \n \n \n
\n
\n\n
\n Scan to send {selected.display}\n \n
\n
\n )}\n {selected && viewHistory && (\n
\n \n \n \n \n \n \n \n \n \n \n \n {fundingHistory.map((it, idx) => (\n \n \n \n \n \n \n \n \n ))}\n \n
\n Amount Entered\n \n Balance After\n \n Cash Value\n \n Date\n \n Time (h:m:s)\n \n Performed By\n
\n {it.cryptoAmount} {selected.cryptoCode}\n \n {it.balance} {selected.cryptoCode}\n \n {it.fiatValue} {selected.fiatCode}\n \n {moment(it.date).format('YYYY-MM-DD')}\n \n {moment(it.date).format('hh:mm:ss')}\n add
\n
\n )}\n
\n \n )\n}\n\nexport default Funding\n","import * as Yup from 'yup'\n\nimport {\n TextInput,\n SecretInput,\n Autocomplete\n} from 'src/components/inputs/formik'\n\nconst isDefined = it => it && it.length\n\nexport default {\n code: 'bitgo',\n name: 'BitGo',\n title: 'BitGo (Wallet)',\n elements: [\n {\n code: 'token',\n display: 'API Token',\n component: TextInput,\n face: true,\n long: true\n },\n {\n code: 'environment',\n display: 'Environment',\n component: Autocomplete,\n inputProps: {\n options: ['prod', 'test']\n },\n face: true\n },\n {\n code: 'BTCWalletId',\n display: 'BTC Wallet ID',\n component: TextInput\n },\n {\n code: 'BTCWalletPassphrase',\n display: 'BTC Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'LTCWalletId',\n display: 'LTC Wallet ID',\n component: TextInput\n },\n {\n code: 'LTCWalletPassphrase',\n display: 'LTC Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'ZECWalletId',\n display: 'ZEC Wallet ID',\n component: TextInput\n },\n {\n code: 'ZECWalletPassphrase',\n display: 'ZEC Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'BCHWalletId',\n display: 'BCH Wallet ID',\n component: TextInput\n },\n {\n code: 'BCHWalletPassphrase',\n display: 'BCH Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'DASHWalletId',\n display: 'DASH Wallet ID',\n component: TextInput\n },\n {\n code: 'DASHWalletPassphrase',\n display: 'DASH Wallet Passphrase',\n component: SecretInput\n }\n ],\n validationSchema: Yup.object().shape({\n token: Yup.string()\n .max(100, 'Too long')\n .required(),\n BTCWalletId: Yup.string().max(100, 'Too long'),\n BTCWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('BTCWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n LTCWalletId: Yup.string().max(100, 'Too long'),\n LTCWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('LTCWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n ZECWalletId: Yup.string().max(100, 'Too long'),\n ZECWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('ZECWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n BCHWalletId: Yup.string().max(100, 'Too long'),\n BCHWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('BCHWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n DASHWalletId: Yup.string().max(100, 'Too long'),\n DASHWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('DASHWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n environment: Yup.string()\n .matches(/(prod|test)/)\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'bitstamp',\n name: 'Bitstamp',\n title: 'Bitstamp (Exchange)',\n elements: [\n {\n code: 'clientId',\n display: 'Client ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'key',\n display: 'API Key',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'secret',\n display: 'API Secret',\n component: SecretInputFormik\n }\n ],\n\n validationSchema: Yup.object().shape({\n clientId: Yup.string()\n .max(100, 'Too long')\n .required(),\n key: Yup.string()\n .max(100, 'Too long')\n .required(),\n secret: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'blockcypher',\n name: 'Blockcypher',\n title: 'Blockcypher (Payments)',\n elements: [\n {\n code: 'token',\n display: 'API Token',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'confidenceFactor',\n display: 'Confidence Factor',\n component: TextInputFormik,\n face: true\n }\n ],\n\n validationSchema: Yup.object().shape({\n token: Yup.string()\n .max(100, 'Too long')\n .required(),\n confidenceFactor: Yup.number()\n .integer('Please input a positive integer')\n .positive('Please input a positive integer')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'infura',\n name: 'Infura',\n title: 'Infura (Wallet)',\n elements: [\n {\n code: 'apiKey',\n display: 'Project ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'apiSecret',\n display: 'Project Secret',\n component: SecretInputFormik\n },\n {\n code: 'endpoint',\n display: 'Endpoint',\n component: TextInputFormik,\n face: true\n }\n ],\n validationSchema: Yup.object().shape({\n apiKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n apiSecret: Yup.string()\n .max(100, 'Too long')\n .required(),\n endpoint: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'itbit',\n name: 'itBit',\n title: 'itBit (Exchange)',\n elements: [\n {\n code: 'userId',\n display: 'User ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'walletId',\n display: 'Wallet ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'clientKey',\n display: 'Client Key',\n component: TextInputFormik\n },\n {\n code: 'clientSecret',\n display: 'Client Secret',\n component: SecretInputFormik\n }\n ],\n validationSchema: Yup.object().shape({\n userId: Yup.string()\n .max(100, 'Too long')\n .required(),\n walletId: Yup.string()\n .max(100, 'Too long')\n .required(),\n clientKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n clientSecret: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'kraken',\n name: 'Kraken',\n title: 'Kraken (Exchange)',\n elements: [\n {\n code: 'apiKey',\n display: 'API Key',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'privateKey',\n display: 'Private Key',\n component: SecretInputFormik\n }\n ],\n validationSchema: Yup.object().shape({\n apiKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n privateKey: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'mailgun',\n name: 'Mailgun',\n title: 'Mailgun (Email)',\n elements: [\n {\n code: 'apiKey',\n display: 'API Key',\n component: TextInputFormik\n },\n {\n code: 'domain',\n display: 'Domain',\n component: TextInputFormik\n },\n {\n code: 'fromEmail',\n display: 'From Email',\n component: TextInputFormik,\n face: true\n },\n {\n code: 'toEmail',\n display: 'To Email',\n component: TextInputFormik,\n face: true\n }\n ],\n validationSchema: Yup.object().shape({\n apiKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n domain: Yup.string()\n .max(100, 'Too long')\n .required(),\n fromEmail: Yup.string()\n .max(100, 'Too long')\n .email('Please input a valid email address')\n .required(),\n toEmail: Yup.string()\n .max(100, 'Too long')\n .email('Please input a valid email address')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'twilio',\n name: 'Twilio',\n title: 'Twilio (SMS)',\n elements: [\n {\n code: 'accountSid',\n display: 'Account SID',\n component: TextInputFormik\n },\n {\n code: 'authToken',\n display: 'Auth Token',\n component: SecretInputFormik\n },\n {\n code: 'fromNumber',\n display: 'Twilio Number (international format)',\n component: TextInputFormik,\n face: true\n },\n {\n code: 'toNumber',\n display: 'Notifications Number (international format)',\n component: TextInputFormik,\n face: true\n }\n ],\n validationSchema: Yup.object().shape({\n accountSid: Yup.string()\n .max(100, 'Too long')\n .required(),\n authToken: Yup.string()\n .max(100, 'Too long')\n .required(),\n fromNumber: Yup.string()\n .max(100, 'Too long')\n .required(),\n toNumber: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import bitgo from './bitgo'\nimport bitstamp from './bitstamp'\nimport blockcypher from './blockcypher'\nimport infura from './infura'\nimport itbit from './itbit'\nimport kraken from './kraken'\nimport mailgun from './mailgun'\nimport twilio from './twilio'\n\nexport default {\n [bitgo.code]: bitgo,\n [bitstamp.code]: bitstamp,\n [blockcypher.code]: blockcypher,\n [infura.code]: infura,\n [itbit.code]: itbit,\n [kraken.code]: kraken,\n [mailgun.code]: mailgun,\n [twilio.code]: twilio\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52,\n cy: 32,\n r: 32,\n fill: \"#F7931A\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m66.1 27.4c0.6-4.3-2.6-6.5-7-8.1l1.4-5.8-3.5-0.9-1.4 5.6c-0.9-0.2-1.9-0.4-2.8-0.7l1.4-5.7-3.5-0.9-1.4 5.8c-0.8-0.2-1.5-0.3-2.2-0.5l0 0-4.8-1.2-0.9 3.8s2.6 0.6 2.6 0.6c1.4 0.4 1.7 1.3 1.6 2l-1.6 6.6c0.1 0 0.2 0.1 0.4 0.1-0.1 0-0.2-0.1-0.4-0.1l-2.3 9.2c-0.2 0.4-0.6 1.1-1.6 0.8 0 0.1-2.6-0.6-2.6-0.6l-1.7 4 4.6 1.1c0.9 0.2 1.7 0.4 2.5 0.6l-1.5 5.8 3.5 0.9 1.4-5.8c1 0.3 1.9 0.5 2.8 0.7l-1.4 5.7 3.5 0.9 1.5-5.8c6 1.1 10.5 0.7 12.4-4.7 1.5-4.4-0.1-6.9-3.2-8.5 2.3-0.5 4-2 4.5-5.2zm-8 11.2c-1.1 4.4-8.4 2-10.8 1.4l1.9-7.7c2.4 0.6 10 1.8 8.9 6.3zm1.1-11.3c-1 4-7.1 2-9.1 1.5l1.7-7c2 0.5 8.4 1.4 7.3 5.6z\",\n fill: \"#FFF\"\n});\n\nfunction SvgIconBitcoinColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 104,\n height: 64,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconBitcoinColour);\nexport default __webpack_public_path__ + \"static/media/icon-bitcoin-colour.bd8da481.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F7931A\",\n d: \"m0,0l29.7,0a39,39,0,0,0,0,64l-29.7,0zm52,0a32,32,0,0,0,0,64a32,32,0,0,0,0,-64m52,0l-29.7,0a39,39,0,0,1,0,64l29.7,0z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n transform: \"rotate(-28 52 32)\",\n d: \"m66.103,27.444c0.637-4.258-2.605-6.547-7.038-8.074l1.438-5.768-3.511-0.875-1.4,5.616c-0.923-0.23-1.871-0.447-2.813-0.662l1.41-5.653-3.509-0.875-1.439,5.766c-0.764-0.174-1.514-0.346-2.242-0.527l0.004-0.018-4.842-1.209-0.934,3.75s2.605,0.597,2.55,0.634c1.422,0.355,1.679,1.296,1.636,2.042l-1.638,6.571c0.098,0.025,0.225,0.061,0.365,0.117-0.117-0.029-0.242-0.061-0.371-0.092l-2.296,9.205c-0.174,0.432-0.615,1.08-1.609,0.834,0.035,0.051-2.552-0.637-2.552-0.637l-1.743,4.019,4.569,1.139c0.85,0.213,1.683,0.436,2.503,0.646l-1.453,5.834,3.507,0.875,1.439-5.772c0.958,0.26,1.888,0.5,2.798,0.726l-1.434,5.745,3.511,0.875,1.453-5.823c5.987,1.133,10.489,0.676,12.384-4.739,1.527-4.36-0.076-6.875-3.226-8.515,2.294-0.529,4.022-2.038,4.483-5.155zm-8.022,11.249c-1.085,4.36-8.426,2.003-10.806,1.412l1.928-7.729c2.38,0.594,10.012,1.77,8.878,6.317zm1.086-11.312c-0.99,3.966-7.1,1.951-9.082,1.457l1.748-7.01c1.982,0.494,8.365,1.416,7.334,5.553z\"\n});\n\nfunction SvgIconBitcoincashColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 104,\n height: 64,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconBitcoincashColour);\nexport default __webpack_public_path__ + \"static/media/icon-bitcoincash-colour.3b27f3ed.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1000,\n cy: 1000,\n r: 1000,\n fill: \"#2573c2\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#fff\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1652.6 736.8a143.65 143.65 0 0 0-19.2-63.6c-10-20-27.8-35.6-48.6-43.6a143.51 143.51 0 0 0-68.4-15H628.8l-63.6 190.6h804.2l-127 389.6h-804l-63.6 190.6h891.8a246.33 246.33 0 0 0 77.8-15c25-14.2 53.6-28.6 77.8-48.6a382.69 382.69 0 0 0 63.6-63.6 432.2 432.2 0 0 0 39.2-73.4l117.8-370.4a137.38 137.38 0 0 0 9.8-77.6z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M882.2 911.6H409l-63.6 176.2h478z\"\n}));\n\nfunction SvgIconDashColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 2000 2000\",\n width: 2500,\n height: 2500,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconDashColour);\nexport default __webpack_public_path__ + \"static/media/icon-dash-colour.e01c021b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#343434\",\n points: \"127.9611 0 125.1661 9.5 125.1661 285.168 127.9611 287.958 255.9231 212.32\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#8C8C8C\",\n points: \"127.962 0 0 212.32 127.962 287.959 127.962 154.158\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#3C3C3B\",\n points: \"127.9611 312.1866 126.3861 314.1066 126.3861 412.3056 127.9611 416.9066 255.9991 236.5866\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#8C8C8C\",\n points: \"127.962 416.9052 127.962 312.1852 0 236.5852\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#141414\",\n points: \"127.9611 287.9577 255.9211 212.3207 127.9611 154.1587\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#393939\",\n points: \"0.0009 212.3208 127.9609 287.9578 127.9609 154.1588\"\n}));\n\nfunction SvgIconEthereumColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"256px\",\n height: \"417px\",\n viewBox: \"0 0 256 417\",\n preserveAspectRatio: \"xMidYMid\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEthereumColour);\nexport default __webpack_public_path__ + \"static/media/icon-ethereum-colour.761723a2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n fill: \"#989898\",\n cx: 52,\n cy: 32,\n r: 32\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"m46.92598,12.31703l-4.97801,18.8088l-3.42705,1.32711l-1.64691,6.17189l3.42705,-1.29514l-2.8461,10.76083l30.60893,0l2.09993,-7.98401l-18.42505,0l2.09993,-7.82412l3.3631,-1.26316l1.6469,-6.17188l-3.36309,1.29513l3.6509,-13.83611l-12.21053,0z\"\n});\n\nfunction SvgIconLitecoinColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 104,\n height: 64,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconLitecoinColour);\nexport default __webpack_public_path__ + \"static/media/icon-litecoin-colour.bd861b5e.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\n\\t.st0{fill:#231F20;}\\n\\t.st1{fill:#F4B728;}\\n\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M245.4,20C121.1,20,20,121.1,20,245.4s101.1,225.4,225.4,225.4s225.4-101.1,225.4-225.4S369.7,20,245.4,20z M245.4,433.6c-103.8,0-188.2-84.4-188.2-188.2S141.6,57.2,245.4,57.2s188.2,84.4,188.2,188.2S349.2,433.6,245.4,433.6z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st1\",\n cx: 245.4,\n cy: 245.4,\n r: 177.6\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"165,315.5 165,349.9 226.5,349.9 226.5,387.6 264.3,387.6 264.3,349.9 325.8,349.9 325.8,304.4 230.4,304.4 325.8,175 325.8,140.6 264.3,140.6 264.3,103 226.5,103 226.5,140.6 165,140.6 165,186.2 260.4,186.2 \"\n});\n\nfunction SvgIconZcashColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 493.3 490.2\",\n style: {\n enableBackground: \"new 0 0 493.3 490.2\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _ref2, title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"headerArtboard 7\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconZcashColour);\nexport default __webpack_public_path__ + \"static/media/icon-zcash-colour.68b1c20b.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { H1, P } from 'src/components/typography'\nimport { ReactComponent as BitcoinLogo } from 'src/styling/logos/icon-bitcoin-colour.svg'\nimport { ReactComponent as BitcoinCashLogo } from 'src/styling/logos/icon-bitcoincash-colour.svg'\nimport { ReactComponent as DashLogo } from 'src/styling/logos/icon-dash-colour.svg'\nimport { ReactComponent as EthereumLogo } from 'src/styling/logos/icon-ethereum-colour.svg'\nimport { ReactComponent as LitecoinLogo } from 'src/styling/logos/icon-litecoin-colour.svg'\nimport { ReactComponent as ZCashLogo } from 'src/styling/logos/icon-zcash-colour.svg'\n\nconst styles = {\n logo: {\n maxHeight: 80,\n maxWidth: 200\n },\n title: {\n margin: [[24, 0, 32, 0]]\n },\n text: {\n margin: 0\n },\n button: {\n marginTop: 'auto',\n marginBottom: 58\n },\n modalContent: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: [[0, 42]],\n flex: 1\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst getLogo = code => {\n switch (code) {\n case 'BTC':\n return BitcoinLogo\n case 'BCH':\n return BitcoinCashLogo\n case 'DASH':\n return DashLogo\n case 'ETH':\n return EthereumLogo\n case 'LTC':\n return LitecoinLogo\n case 'ZEC':\n return ZCashLogo\n default:\n return null\n }\n}\n\nconst WizardSplash = ({ code, name, onContinue }) => {\n const classes = useStyles()\n const Logo = getLogo(code)\n\n return (\n
\n \n

Enable {name}

\n

\n You are about to enable {name} on your system. This will allow you to\n use this cryptocurrency on your machines. To be able to do that, you’ll\n have to set up all the necessary 3rd party services.\n

\n \n
\n )\n}\n\nexport default WizardSplash\n","import { makeStyles, Grid } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Formik, Form, FastField } from 'formik'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\n\nconst styles = {\n button: {\n margin: [['auto', 0, 32, 'auto']]\n },\n form: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column'\n },\n grid: {\n marginBottom: 24,\n marginTop: 12\n }\n}\n\nconst useStyles = makeStyles(styles)\nconst FormRenderer = ({\n validationSchema,\n elements,\n value,\n save,\n buttonLabel = 'Save changes',\n buttonClass,\n xs = 12\n}) => {\n const classes = useStyles()\n\n const initialValues = R.compose(\n R.mergeAll,\n R.map(({ code }) => ({ [code]: (value && value[code]) ?? '' }))\n )(elements)\n\n const values = R.merge(initialValues, value)\n\n return (\n \n
\n \n {elements.map(({ component, code, display, inputProps }) => (\n \n \n \n ))}\n \n \n {buttonLabel}\n \n \n \n )\n}\n\nexport default FormRenderer\n","import { errorColor } from 'src/styling/variables'\n\nconst LABEL_WIDTH = 150\n\nexport default {\n title: {\n margin: [[0, 0, 12, 0]]\n },\n subtitle: {\n margin: [[32, 0, 21, 0]]\n },\n error: {\n color: errorColor\n },\n button: {\n marginLeft: 'auto'\n },\n submit: {\n display: 'flex',\n flexDirection: 'row',\n margin: [['auto', 0, 24]]\n },\n radioGroup: {\n flexDirection: 'row'\n },\n radioLabel: {\n width: LABEL_WIDTH,\n height: 48\n },\n radio: {\n padding: 4,\n margin: 4\n },\n setupNew: {\n display: 'flex',\n alignItems: 'center',\n height: 48\n },\n picker: {\n width: LABEL_WIDTH\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useReducer, useEffect } from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Stepper from 'src/components/Stepper'\nimport { Button } from 'src/components/buttons'\nimport { RadioGroup, Autocomplete } from 'src/components/inputs'\nimport { H4, Info2 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\nimport { startCase } from 'src/utils/string'\n\nimport styles from './WizardStep.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst initialState = {\n form: null,\n selected: null,\n isNew: false,\n iError: false\n}\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'select':\n return {\n form: null,\n selected: action.selected,\n isNew: null,\n iError: false\n }\n case 'new':\n return { form: state.form, selected: null, isNew: true, iError: false }\n case 'form':\n return {\n form: action.form,\n selected: action.form.code,\n isNew: true,\n iError: false\n }\n case 'error':\n return R.merge(state, { innerError: true })\n case 'reset':\n return initialState\n default:\n throw new Error()\n }\n}\n\nconst WizardStep = ({\n type,\n name,\n step,\n error,\n lastStep,\n onContinue,\n filled,\n unfilled,\n getValue\n}) => {\n const classes = useStyles()\n const [{ innerError, selected, form, isNew }, dispatch] = useReducer(\n reducer,\n initialState\n )\n\n useEffect(() => {\n dispatch({ type: 'reset' })\n }, [step])\n\n const innerContinue = (config, account) => {\n if (!config || !config[type]) {\n return dispatch({ type: 'error' })\n }\n onContinue(config, account)\n }\n\n const label = lastStep ? 'Finish' : 'Next'\n const displayName = name ?? type\n const subtitleClass = {\n [classes.subtitle]: true,\n [classes.error]: innerError\n }\n\n return (\n <>\n {startCase(type)}\n \n

\n Select a {displayName} or set up a new one\n

\n {\n dispatch({ type: 'select', selected: it })\n }}\n labelClassName={classes.radioLabel}\n radioClassName={classes.radio}\n />\n
\n {!R.isEmpty(unfilled) && !R.isNil(unfilled) && (\n {\n dispatch({ type: 'new' })\n }}\n labelClassName={classes.radioLabel}\n radioClassName={classes.radio}\n options={[{ display: 'Set up new', code: true }]}\n />\n )}\n {isNew && (\n {\n dispatch({ type: 'form', form: it })\n }}\n />\n )}\n
\n {form && (\n innerContinue({ [type]: form.code }, { [form.code]: it })}\n elements={schema[form.code].elements}\n validationSchema={schema[form.code].validationSchema}\n value={getValue(form.code)}\n buttonLabel={label}\n />\n )}\n {!form && (\n
\n {error && Failed to save}\n innerContinue({ [type]: selected })}>\n {label}\n \n
\n )}\n \n )\n}\n\nexport default WizardStep\n","import * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport schema from 'src/pages/Services/schemas'\nimport { toNamespace } from 'src/utils/config'\n\nimport WizardSplash from './WizardSplash'\nimport WizardStep from './WizardStep'\n\nconst LAST_STEP = 4\nconst MODAL_WIDTH = 554\n\nconst contains = crypto => R.compose(R.contains(crypto), R.prop('cryptos'))\nconst sameClass = type => R.propEq('class', type)\nconst filterConfig = (crypto, type) =>\n R.filter(it => sameClass(type)(it) && contains(crypto)(it))\n\nconst getItems = (accountsConfig, accounts, type, crypto) => {\n const fConfig = filterConfig(crypto, type)(accountsConfig)\n const find = code => accounts && accounts[code]\n\n const [filled, unfilled] = R.partition(({ code }) => {\n const account = find(code)\n if (!schema[code]) return true\n\n const { validationSchema } = schema[code]\n return validationSchema.isValidSync(account)\n })(fConfig)\n\n return { filled, unfilled }\n}\n\nconst Wizard = ({ coin, onClose, accountsConfig, accounts, save, error }) => {\n const [{ step, config, accountsToSave }, setState] = useState({\n step: 0,\n config: { active: true },\n accountsToSave: {}\n })\n\n const title = `Enable ${coin.display}`\n const isLastStep = step === LAST_STEP\n\n const tickers = { filled: filterConfig(coin.code, 'ticker')(accountsConfig) }\n const wallets = getItems(accountsConfig, accounts, 'wallet', coin.code)\n const exchanges = getItems(accountsConfig, accounts, 'exchange', coin.code)\n const zeroConfs = getItems(accountsConfig, accounts, 'zeroConf', coin.code)\n\n const getValue = code => R.find(R.propEq('code', code))(accounts)\n\n const onContinue = async (stepConfig, stepAccount) => {\n const newConfig = R.merge(config, stepConfig)\n const newAccounts = stepAccount\n ? R.merge(accountsToSave, stepAccount)\n : accountsToSave\n\n if (isLastStep) {\n return save(toNamespace(coin.code, newConfig), newAccounts)\n }\n\n setState({\n step: step + 1,\n config: newConfig,\n accountsToSave: newAccounts\n })\n }\n\n const getStepData = () => {\n switch (step) {\n case 1:\n return { type: 'ticker', ...tickers }\n case 2:\n return { type: 'wallet', ...wallets }\n case 3:\n return { type: 'exchange', ...exchanges }\n case 4:\n return { type: 'zeroConf', name: 'zero conf', ...zeroConfs }\n default:\n return null\n }\n }\n\n return (\n \n {step === 0 && (\n onContinue()}\n />\n )}\n {step !== 0 && (\n \n )}\n \n )\n}\n\nexport default Wizard\n","import * as R from 'ramda'\nimport * as Yup from 'yup'\n\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\n\nconst filterClass = type => R.filter(it => it.class === type)\nconst filterCoins = ({ id }) => R.filter(it => R.contains(id)(it.cryptos))\n\nconst WalletSchema = Yup.object().shape({\n ticker: Yup.string().required(),\n wallet: Yup.string().required(),\n exchange: Yup.string().required(),\n zeroConf: Yup.string().required()\n})\n\nconst getElements = (cryptoCurrencies, accounts, onChange, wizard = false) => {\n const widthAdjust = wizard ? 11 : 0\n const viewCryptoCurrency = it =>\n R.compose(\n R.prop(['display']),\n R.find(R.propEq('code', it))\n )(cryptoCurrencies)\n\n const filterOptions = type => filterClass(type)(accounts || [])\n\n const getDisplayName = type => it =>\n R.compose(\n R.prop('display'),\n R.find(R.propEq('code', it))\n )(filterOptions(type))\n\n const getOptions = R.curry((option, it) =>\n filterCoins(it)(filterOptions(option))\n )\n\n return [\n {\n name: 'id',\n header: 'Cryptocurrency',\n width: 180 - widthAdjust,\n view: viewCryptoCurrency,\n size: 'sm',\n editable: false\n },\n {\n name: 'ticker',\n size: 'sm',\n stripe: true,\n view: getDisplayName('ticker'),\n width: 190 - widthAdjust,\n input: Autocomplete,\n inputProps: {\n options: getOptions('ticker'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null\n }\n },\n {\n name: 'wallet',\n size: 'sm',\n stripe: true,\n view: getDisplayName('wallet'),\n width: 190 - widthAdjust,\n input: Autocomplete,\n inputProps: {\n options: getOptions('wallet'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null,\n onChange\n }\n },\n {\n name: 'exchange',\n size: 'sm',\n stripe: true,\n view: getDisplayName('exchange'),\n width: 190 - widthAdjust,\n input: Autocomplete,\n inputProps: {\n options: getOptions('exchange'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null,\n onChange\n }\n },\n {\n name: 'zeroConf',\n size: 'sm',\n stripe: true,\n view: getDisplayName('zeroConf'),\n input: Autocomplete,\n width: 190 - widthAdjust,\n inputProps: {\n options: getOptions('zeroConf'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null,\n onChange\n }\n }\n ]\n}\n\nexport { WalletSchema, getElements, filterClass }\n","import * as R from 'ramda'\nimport * as Yup from 'yup'\n\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\n\nconst getFields = (getData, names, onChange, auxElements = []) => {\n return R.filter(\n it => R.includes(it.name, names),\n allFields(getData, onChange, auxElements)\n )\n}\n\nconst allFields = (getData, onChange, auxElements = []) => {\n const getView = (data, code, compare) => it => {\n if (!data) return ''\n\n return R.compose(\n R.prop(code),\n R.find(R.propEq(compare ?? 'code', it))\n )(data)\n }\n\n const displayCodeArray = data => it => {\n if (!it) return it\n\n return R.compose(R.join(', '), R.map(getView(data, 'code')))(it)\n }\n\n const overridenMachines = R.map(override => override.machine, auxElements)\n\n const suggestionFilter = it =>\n R.differenceWith((x, y) => x.deviceId === y, it, overridenMachines)\n\n const machineData = getData(['machines'])\n const countryData = getData(['countries'])\n const currencyData = getData(['currencies'])\n const languageData = getData(['languages'])\n const cryptoData = getData(['cryptoCurrencies'])\n\n const findSuggestion = it => {\n const machine = R.find(R.propEq('deviceId', it.machine))(machineData)\n return machine ? [machine] : []\n }\n\n return [\n {\n name: 'machine',\n width: 200,\n size: 'sm',\n view: getView(machineData, 'name', 'deviceId'),\n input: Autocomplete,\n inputProps: {\n options: it =>\n R.concat(findSuggestion(it))(suggestionFilter(machineData)),\n valueProp: 'deviceId',\n getLabel: R.path(['name'])\n }\n },\n {\n name: 'country',\n width: 200,\n size: 'sm',\n view: getView(countryData, 'display'),\n input: Autocomplete,\n inputProps: {\n options: countryData,\n valueProp: 'code',\n getLabel: R.path(['display'])\n }\n },\n {\n name: 'fiatCurrency',\n width: 150,\n size: 'sm',\n view: getView(currencyData, 'code'),\n input: Autocomplete,\n inputProps: {\n options: currencyData,\n valueProp: 'code',\n getLabel: R.path(['code'])\n }\n },\n {\n name: 'languages',\n width: 240,\n size: 'sm',\n view: displayCodeArray(languageData),\n input: Autocomplete,\n inputProps: {\n options: languageData,\n valueProp: 'code',\n getLabel: R.path(['display']),\n multiple: true\n }\n },\n {\n name: 'cryptoCurrencies',\n width: 290,\n size: 'sm',\n view: displayCodeArray(cryptoData),\n input: Autocomplete,\n inputProps: {\n options: cryptoData,\n valueProp: 'code',\n getLabel: R.path(['code']),\n multiple: true,\n optionsLimit: null,\n onChange\n }\n }\n ]\n}\n\nconst mainFields = (auxData, configureCoin) => {\n const getData = R.path(R.__, auxData)\n\n return getFields(\n getData,\n ['country', 'fiatCurrency', 'languages', 'cryptoCurrencies'],\n configureCoin\n )\n}\n\nconst overrides = (auxData, auxElements, configureCoin) => {\n const getData = R.path(R.__, auxData)\n\n return getFields(\n getData,\n ['machine', 'country', 'languages', 'cryptoCurrencies'],\n configureCoin,\n auxElements\n )\n}\n\nconst LocaleSchema = Yup.object().shape({\n country: Yup.string()\n .label('Country')\n .required(),\n fiatCurrency: Yup.string()\n .label('Fiat Currency')\n .required(),\n languages: Yup.array()\n .label('Languages')\n .required()\n .max(4),\n cryptoCurrencies: Yup.array()\n .label('Crypto Currencies')\n .required()\n})\n\nconst OverridesSchema = Yup.object().shape({\n machine: Yup.string()\n .label('Machine')\n .required(),\n country: Yup.string()\n .label('Country')\n .required(),\n languages: Yup.array()\n .label('Languages')\n .required(),\n cryptoCurrencies: Yup.array()\n .label('Crypto Currencies')\n .required()\n})\n\nconst localeDefaults = {\n country: '',\n fiatCurrency: '',\n languages: [],\n cryptoCurrencies: []\n}\n\nconst overridesDefaults = {\n machine: '',\n country: '',\n languages: [],\n cryptoCurrencies: []\n}\n\nexport {\n mainFields,\n overrides,\n LocaleSchema,\n OverridesSchema,\n localeDefaults,\n overridesDefaults\n}\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport { Link } from 'src/components/buttons'\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { P } from 'src/components/typography'\nimport Wizard from 'src/pages/Wallet/Wizard'\nimport { WalletSchema } from 'src/pages/Wallet/helper'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport { styles } from './Locales.styles'\nimport {\n mainFields,\n overrides,\n LocaleSchema,\n OverridesSchema,\n localeDefaults,\n overridesDefaults\n} from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_DATA = gql`\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n currencies {\n code\n display\n }\n countries {\n code\n display\n }\n cryptoCurrencies {\n code\n display\n }\n languages {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst FiatCurrencyChangeAlert = ({ open, close, save }) => {\n const classes = useStyles()\n\n return (\n \n

\n Please note that all values you set that were based on your prior fiat\n currency are still the same. If you need to adjust these to reflect the\n new fiat currency (such as minimum transaction amounts, fixed fees, and\n compliance triggers, for example), please do so now.\n

\n

\n Also, if you have cash-out enabled, you must define new dispenser bill\n counts for the new currency for cash-out on the new currency to work.\n

\n
\n \n Cancel\n \n \n Save\n \n
\n \n )\n}\n\nconst Locales = ({ name: SCREEN_KEY }) => {\n const [wizard, setWizard] = useState(false)\n const [onChangeFunction, setOnChangeFunction] = useState(null)\n const [isEditingDefault, setEditingDefault] = useState(false)\n const [isEditingOverrides, setEditingOverrides] = useState(false)\n const { data } = useQuery(GET_DATA)\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const [dataToSave, setDataToSave] = useState(null)\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const wallets = data?.config && fromNamespace(namespaces.WALLETS)(data.config)\n\n const accountsConfig = data?.accountsConfig\n const accounts = data?.accounts ?? []\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n const locale = config && !R.isEmpty(config) ? config : localeDefaults\n const localeOverrides = locale.overrides ?? []\n\n const handleSave = it => {\n const newConfig = toNamespace(SCREEN_KEY)(it.locale[0])\n\n if (\n config.fiatCurrency &&\n newConfig.locale_fiatCurrency !== config.fiatCurrency\n )\n return setDataToSave(newConfig)\n\n return save(newConfig)\n }\n\n const save = config => {\n setDataToSave(null)\n return saveConfig({ variables: { config } })\n }\n\n const saveOverrides = it => {\n const config = toNamespace(SCREEN_KEY)(it)\n return saveConfig({ variables: { config } })\n }\n\n const onChangeCoin = (prev, curr, setValue) => {\n const coin = R.difference(curr, prev)[0]\n if (!coin) return setValue(curr)\n\n const namespaced = fromNamespace(coin)(wallets)\n if (!WalletSchema.isValidSync(namespaced)) {\n setOnChangeFunction(() => () => setValue(curr))\n setWizard(coin)\n return\n }\n\n setValue(curr)\n }\n\n const onEditingDefault = (it, editing) => setEditingDefault(editing)\n const onEditingOverrides = (it, editing) => setEditingOverrides(editing)\n\n const wizardSave = it =>\n save(toNamespace(namespaces.WALLETS)(it)).then(it => {\n onChangeFunction()\n setOnChangeFunction(null)\n return it\n })\n\n return (\n <>\n setDataToSave(null)}\n save={() => dataToSave && save(dataToSave)}\n />\n \n
\n \n
\n
\n m.deviceId) ?? [],\n localeOverrides?.map(o => o.machine) ?? []\n )}\n setEditing={onEditingOverrides}\n forceDisable={isEditingDefault}\n />\n
\n {wizard && (\n setWizard(false)}\n save={wizardSave}\n error={error?.message}\n cryptoCurrencies={cryptoCurrencies}\n userAccounts={data?.config?.accounts}\n accounts={accounts}\n accountsConfig={accountsConfig}\n />\n )}\n \n )\n}\n\nexport default Locales\n","const styles = {\n rightAligned: {\n marginTop: '20px',\n marginLeft: 'auto',\n marginBottom: '20px'\n },\n rightLink: {\n marginLeft: '20px'\n }\n}\n\nexport { styles }\n","import Locales from './Locales'\n\nexport default Locales\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"pop-up/action/download-logs/date-range-copy-3\",\n transform: \"translate(-117.000000, -116.000000)\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"arrow-download-logs\",\n transform: \"translate(128.500000, 124.500000) rotate(-90.000000) translate(-128.500000, -124.500000) translate(121.000000, 114.000000)\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n points: \"0 13.3571429 7.14285714 20.5 14.2857143 13.3571429\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7.14285714,\n y1: 0.142857143,\n x2: 7.14285714,\n y2: 20.1428571,\n id: \"Path-4\"\n}))));\n\nfunction SvgDownloadLogs(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"23px\",\n height: \"17px\",\n viewBox: \"0 0 23 17\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"arrow download logs\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadLogs);\nexport default __webpack_public_path__ + \"static/media/download_logs.219c88ac.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/download/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n points: \"3.6 5.4 6 7.8 8.4 5.4\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 0.5,\n x2: 6,\n y2: 7.4,\n id: \"Path-4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.81edd31f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/download/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n points: \"3.6 5.4 6 7.8 8.4 5.4\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 0.5,\n x2: 6,\n y2: 7.4,\n id: \"Path-4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.13543418.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"pop-up/action/download-logs/date-range-copy-2\",\n transform: \"translate(-20.000000, -187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-contain-b-copy-5\",\n transform: \"translate(30.000000, 197.000000) rotate(-270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(6.666667, 6.000000)\",\n id: \"Group\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n points: \"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.33333333,\n y1: 0.25,\n x2: 3.33333333,\n y2: 6.5,\n id: \"Path-4\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n})))))));\n\nfunction SvgMonthChange(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMonthChange);\nexport default __webpack_public_path__ + \"static/media/month_change.58940268.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"pop-up/action/download-logs/date-range-copy-2\",\n transform: \"translate(-20.000000, -187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-contain-b-copy-5\",\n transform: \"translate(30.000000, 197.000000) rotate(270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(6.666667, 6.000000)\",\n id: \"Group\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n points: \"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.33333333,\n y1: 0.25,\n x2: 3.33333333,\n y2: 6.5,\n id: \"Path-4\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n})))))));\n\nfunction SvgMonthChangeRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMonthChangeRight);\nexport default __webpack_public_path__ + \"static/media/month_change_right.0c3eb9a1.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n primaryColor,\n spring2,\n spring3,\n disabledColor\n} from 'src/styling/variables'\n\nconst { label1 } = typographyStyles\n\nconst styles = {\n wrapper: {\n height: 26,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n overflow: 'hidden'\n },\n button: {\n outline: 'none',\n extend: label1,\n border: 'none',\n cursor: 'pointer',\n backgroundColor: 'transparent',\n color: primaryColor,\n zIndex: 2\n },\n lowerBound: {\n left: '50%'\n },\n upperBound: {\n right: '50%'\n },\n selected: {\n width: 26,\n height: 26,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: spring2,\n borderRadius: '50%',\n position: 'absolute',\n zIndex: 1\n },\n between: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n zIndex: 0,\n backgroundColor: spring3\n },\n disabled: {\n color: disabledColor,\n cursor: 'default'\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Tile = ({\n isLowerBound,\n isUpperBound,\n isBetween,\n isDisabled,\n children,\n ...props\n}) => {\n const classes = useStyles()\n const selected = isLowerBound || isUpperBound\n\n const rangeClasses = {\n [classes.between]: isBetween && !(isLowerBound && isUpperBound),\n [classes.lowerBound]: isLowerBound && !isUpperBound,\n [classes.upperBound]: isUpperBound && !isLowerBound\n }\n\n const buttonWrapperClasses = {\n [classes.wrapper]: true,\n [classes.selected]: selected\n }\n\n const buttonClasses = {\n [classes.button]: true,\n [classes.disabled]: isDisabled\n }\n\n return (\n
\n
\n
\n \n
\n
\n )\n}\n\nexport default Tile\n","import { makeStyles } from '@material-ui/core/styles'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport { ReactComponent as Arrow } from 'src/styling/icons/arrow/month_change.svg'\nimport { ReactComponent as RightArrow } from 'src/styling/icons/arrow/month_change_right.svg'\nimport { primaryColor, zircon } from 'src/styling/variables'\n\nimport Tile from './Tile'\n\nconst { p, label2 } = typographyStyles\n\nconst styles = {\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n button: {\n outline: 'none'\n },\n navbar: {\n extend: p,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n padding: [[15, 15]],\n color: primaryColor,\n '& button': {\n display: 'flex',\n alignItems: 'center',\n padding: 0,\n border: 'none',\n backgroundColor: zircon,\n cursor: 'pointer',\n borderRadius: '50%',\n width: 20,\n height: 20,\n position: 'relative',\n overflow: 'hidden',\n '& svg': {\n position: 'absolute',\n left: 0\n }\n }\n },\n table: {\n borderCollapse: 'collapse',\n width: '100%',\n color: primaryColor,\n '& tr': {\n '&:first-child': {\n paddingLeft: 5\n },\n '&:last-child': {\n paddingRight: 5\n }\n },\n '& th, & td': {\n margin: 0,\n padding: [[3, 0, 3, 0]]\n },\n '& th': {\n extend: label2\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Calendar = ({ minDate, maxDate, handleSelect, ...props }) => {\n const [currentDisplayedMonth, setCurrentDisplayedMonth] = useState(moment())\n\n const classes = useStyles()\n\n const weekdays = moment.weekdaysMin().map(day => day.slice(0, 1))\n const monthLength = month =>\n Number.parseInt(\n moment(month)\n .endOf('month')\n .format('D')\n )\n\n const monthdays = month => {\n const lastMonth = moment(month).subtract(1, 'month')\n const lastMonthRange = R.range(\n 0,\n moment(month)\n .startOf('month')\n .weekday()\n ).reverse()\n const lastMonthDays = R.map(i =>\n moment(lastMonth)\n .endOf('month')\n .subtract(i, 'days')\n )(lastMonthRange)\n\n const thisMonthRange = R.range(0, monthLength(month))\n const thisMonthDays = R.map(i =>\n moment(month)\n .startOf('month')\n .add(i, 'days')\n )(thisMonthRange)\n\n const nextMonth = moment(month).add(1, 'month')\n const nextMonthRange = R.range(\n 0,\n 42 - lastMonthDays.length - thisMonthDays.length\n )\n const nextMonthDays = R.map(i =>\n moment(nextMonth)\n .startOf('month')\n .add(i, 'days')\n )(nextMonthRange)\n\n return R.concat(R.concat(lastMonthDays, thisMonthDays), nextMonthDays)\n }\n\n const getRow = (month, row) => monthdays(month).slice(row * 7 - 7, row * 7)\n\n const handleNavPrev = currentMonth => {\n const prevMonth = moment(currentMonth).subtract(1, 'month')\n if (!minDate) setCurrentDisplayedMonth(prevMonth)\n else {\n setCurrentDisplayedMonth(\n prevMonth.isSameOrAfter(minDate, 'month')\n ? prevMonth\n : currentDisplayedMonth\n )\n }\n }\n const handleNavNext = currentMonth => {\n const nextMonth = moment(currentMonth).add(1, 'month')\n if (!maxDate) setCurrentDisplayedMonth(nextMonth)\n else {\n setCurrentDisplayedMonth(\n nextMonth.isSameOrBefore(maxDate, 'month')\n ? nextMonth\n : currentDisplayedMonth\n )\n }\n }\n\n return (\n
\n
\n handleNavPrev(currentDisplayedMonth)}>\n \n \n \n {`${currentDisplayedMonth.format(\n 'MMMM'\n )} ${currentDisplayedMonth.format('YYYY')}`}\n \n handleNavNext(currentDisplayedMonth)}>\n \n \n
\n \n \n \n {weekdays.map((day, key) => (\n \n ))}\n \n \n \n {R.range(1, 8).map((row, key) => (\n \n {getRow(currentDisplayedMonth, row).map((day, key) => (\n handleSelect(day, minDate, maxDate)}>\n \n {day.format('D')}\n \n \n ))}\n \n ))}\n \n
{day}
\n
\n )\n}\n\nexport default Calendar\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { useState, useEffect } from 'react'\n\nimport Calendar from './Calendar'\n\nconst styles = {\n wrapper: {\n backgroundColor: 'white',\n borderRadius: 10\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst DateRangePicker = ({ minDate, maxDate, className, onRangeChange }) => {\n const [from, setFrom] = useState(null)\n const [to, setTo] = useState(null)\n\n useEffect(() => {\n onRangeChange(from, to)\n }, [from, onRangeChange, to])\n\n const classes = useStyles()\n\n const handleSelect = (day, minDate, maxDate) => {\n if (\n (maxDate && day.isAfter(maxDate, 'day')) ||\n (minDate && day.isBefore(minDate, 'day'))\n )\n return\n\n if (from && !to && day.isBefore(from, 'day')) {\n setTo(from)\n setFrom(day)\n return\n }\n\n if (from && !to && day.isSameOrAfter(from, 'day')) {\n setTo(day)\n return\n }\n\n setFrom(day)\n setTo(null)\n }\n\n return (\n <>\n
\n \n
\n \n )\n}\n\nexport default DateRangePicker\n","import { useLazyQuery } from '@apollo/react-hooks'\nimport { makeStyles, ClickAwayListener } from '@material-ui/core'\nimport classnames from 'classnames'\nimport FileSaver from 'file-saver'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState, useCallback } from 'react'\n\nimport { FeatureButton, Link } from 'src/components/buttons'\nimport { ReactComponent as Arrow } from 'src/styling/icons/arrow/download_logs.svg'\nimport { ReactComponent as DownloadInverseIcon } from 'src/styling/icons/button/download/white.svg'\nimport { ReactComponent as Download } from 'src/styling/icons/button/download/zodiac.svg'\nimport { primaryColor, offColor, zircon } from 'src/styling/variables'\n\nimport Popper from './Popper'\nimport DateRangePicker from './date-range-picker/DateRangePicker'\nimport { RadioGroup } from './inputs'\nimport typographyStyles from './typography/styles'\n\nconst { info1, label1, label2, h4 } = typographyStyles\n\nconst dateContainerStyles = {\n wrapper: {\n height: 46,\n width: 99\n },\n container: {\n display: 'flex'\n },\n monthWeekDayContainer: {\n display: 'flex',\n flexDirection: 'column'\n },\n label: {\n extend: label1,\n lineHeight: 1.33,\n color: primaryColor\n },\n bigNumber: {\n extend: info1,\n lineHeight: 1,\n marginRight: 7\n },\n monthYear: {\n extend: label2,\n lineHeight: 1.17,\n color: primaryColor\n },\n weekDay: {\n extend: label1,\n lineHeight: 1.33,\n color: offColor\n }\n}\n\nconst dateContainerUseStyles = makeStyles(dateContainerStyles)\n\nconst DateContainer = ({ date, children, ...props }) => {\n const classes = dateContainerUseStyles()\n\n return (\n
\n
{children}
\n {date && (\n <>\n
\n
{date.format('D')}
\n
\n {`${date.format(\n 'MMM'\n )} ${date.format('YYYY')}`}\n {date.format('dddd')}\n
\n
\n \n )}\n
\n )\n}\n\nconst styles = {\n popoverContent: {\n width: 280\n },\n popoverHeader: {\n extend: h4,\n padding: [[15, 15, 0, 15]]\n },\n radioButtonsContainer: {\n padding: [[5, 15, 5, 15]]\n },\n radioButtons: {\n display: 'flex',\n justifyContent: 'space-between',\n flexDirection: 'row',\n color: primaryColor\n },\n dateRangePickerShowing: {\n display: 'block',\n height: '100%'\n },\n dateRangePickerHidden: {\n display: 'none',\n height: 0\n },\n download: {\n padding: [[10, 15]]\n },\n dateContainerWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n backgroundColor: zircon,\n padding: [[0, 15]],\n minHeight: 70\n },\n arrowContainer: {\n position: 'absolute',\n left: 125,\n top: 26\n },\n arrow: {\n margin: 'auto'\n }\n}\n\nconst useStyles = makeStyles(styles)\nconst ALL = 'all'\nconst RANGE = 'range'\n\nconst LogsDownloaderPopover = ({ name, query, args, title, getLogs }) => {\n const [selectedRadio, setSelectedRadio] = useState(ALL)\n const [range, setRange] = useState({ from: null, until: null })\n const [anchorEl, setAnchorEl] = useState(null)\n const [fetchLogs] = useLazyQuery(query, {\n onCompleted: data => createLogsFile(getLogs(data), range)\n })\n\n const classes = useStyles()\n\n const dateRangePickerClasses = {\n [classes.dateRangePickerShowing]: selectedRadio === RANGE,\n [classes.dateRangePickerHidden]: selectedRadio === ALL\n }\n\n const handleRadioButtons = evt => {\n const selectedRadio = R.path(['target', 'value'])(evt)\n setSelectedRadio(selectedRadio)\n if (selectedRadio === ALL) setRange({ from: null, until: null })\n }\n\n const handleRangeChange = useCallback(\n (from, until) => {\n setRange({ from, until })\n },\n [setRange]\n )\n\n const downloadLogs = (range, args, fetchLogs) => {\n if (selectedRadio === ALL) {\n fetchLogs({\n variables: {\n ...args\n }\n })\n }\n\n if (!range || !range.from) return\n if (range.from && !range.until) range.until = moment()\n\n if (selectedRadio === RANGE) {\n fetchLogs({\n variables: {\n ...args,\n from: range.from,\n until: range.until\n }\n })\n }\n }\n\n const createLogsFile = (logs, range) => {\n const formatDateFile = date => {\n return moment(date).format('YYYY-MM-DD_HH-mm')\n }\n\n const blob = new window.Blob([logs], {\n type: 'text/plain;charset=utf-8'\n })\n\n FileSaver.saveAs(\n blob,\n selectedRadio === ALL\n ? `${formatDateFile(new Date())}_${name}.csv`\n : `${formatDateFile(range.from)}_${formatDateFile(\n range.until\n )}_${name}.csv`\n )\n }\n\n const handleOpenRangePicker = event => {\n setAnchorEl(anchorEl ? null : event.currentTarget)\n }\n\n const handleClickAway = () => {\n setAnchorEl(null)\n }\n\n const radioButtonOptions = [\n { display: 'All logs', code: ALL },\n { display: 'Date range', code: RANGE }\n ]\n\n const open = Boolean(anchorEl)\n const id = open ? 'date-range-popover' : undefined\n\n return (\n \n
\n \n \n
\n
{title}
\n
\n \n
\n {selectedRadio === RANGE && (\n
\n
\n {range && (\n <>\n From\n
\n \n
\n To\n \n )}\n
\n \n
\n )}\n
\n downloadLogs(range, args, fetchLogs)}>\n Download\n \n
\n
\n
\n
\n
\n )\n}\n\nexport default LogsDownloaderPopover\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nconst useStyles = makeStyles({\n table: {\n // backgroundColor: tableHeaderColor,\n tableLayout: 'fixed',\n borderCollapse: 'separate',\n borderSpacing: '0 0'\n }\n})\n\nconst Table = memo(({ className, children, ...props }) => {\n const classes = useStyles()\n return (\n \n {children}\n
\n )\n})\n\nexport default Table\n","import React, { memo } from 'react'\n\nconst TableBody = memo(({ children, ...props }) => (\n {children}\n))\n\nexport default TableBody\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { spacer } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n td: {\n padding: [[0, spacer * 3]]\n },\n alignRight: {\n textAlign: 'right'\n }\n})\n\nconst TableCell = memo(\n ({ colspan, rightAlign, className, children, ...props }) => {\n const classes = useStyles()\n const styles = {\n [classes.td]: true,\n [classes.alignRight]: rightAlign\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default TableCell\n","import React, { memo } from 'react'\n\nconst TableHead = memo(({ children, ...props }) => (\n {children}\n))\n\nexport default TableHead\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n tableHeaderColor,\n tableHeaderHeight,\n spacer,\n white\n} from 'src/styling/variables'\n\nconst { tl2 } = typographyStyles\n\nconst useStyles = makeStyles({\n th: {\n extend: tl2,\n backgroundColor: tableHeaderColor,\n height: tableHeaderHeight,\n textAlign: 'left',\n color: white,\n padding: `0 ${spacer * 3}px`\n },\n alignRight: {\n textAlign: 'right'\n }\n})\n\nconst TableHeaderCell = memo(\n ({ rightAlign, children, className, ...props }) => {\n const classes = useStyles()\n const styles = {\n [classes.th]: true,\n [classes.alignRight]: rightAlign\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default TableHeaderCell\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n tableCellColor,\n tableCellHeight,\n tableSmCellHeight,\n tableLgCellHeight,\n tableErrorColor,\n tableSuccessColor\n} from 'src/styling/variables'\n\nconst { info2, p } = typographyStyles\n\nconst useStyles = makeStyles({\n tr: {\n extend: p,\n padding: 4,\n height: tableCellHeight,\n backgroundColor: tableCellColor\n },\n lg: {\n extend: info2,\n height: tableLgCellHeight\n },\n sm: {\n height: tableSmCellHeight\n },\n error: {\n backgroundColor: tableErrorColor\n },\n success: {\n backgroundColor: tableSuccessColor\n }\n})\n\nconst TableRow = memo(\n ({ className, children, header, error, success, size = 'sm', ...props }) => {\n const classes = useStyles()\n const classnamesObj = {\n [classes.tr]: !header,\n [classes.sm]: !header && size === 'sm',\n [classes.lg]: !header && size === 'lg',\n [classes.error]: error,\n [classes.success]: success\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default TableRow\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport LogsDowloaderPopover from 'src/components/LogsDownloaderPopper'\nimport Title from 'src/components/Title'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport {\n Table,\n TableHead,\n TableRow,\n TableHeader,\n TableBody,\n TableCell\n} from 'src/components/table'\nimport { Info3 } from 'src/components/typography'\n\nimport styles from './Logs.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_MACHINES = gql`\n {\n machines {\n name\n deviceId\n }\n }\n`\n\nconst NUM_LOG_RESULTS = 500\n\nconst GET_MACHINE_LOGS_CSV = gql`\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogsCsv(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n )\n }\n`\n\nconst GET_MACHINE_LOGS = gql`\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogs(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n ) {\n logLevel\n id\n timestamp\n message\n }\n }\n`\n\nconst formatDate = date => {\n return moment(date).format('YYYY-MM-DD HH:mm')\n}\n\nconst Logs = () => {\n const classes = useStyles()\n\n const [selected, setSelected] = useState(null)\n const [saveMessage, setSaveMessage] = useState(null)\n\n const deviceId = selected?.deviceId\n\n const { data: machineResponse } = useQuery(GET_MACHINES)\n\n const { data: logsResponse } = useQuery(GET_MACHINE_LOGS, {\n variables: { deviceId, limit: NUM_LOG_RESULTS },\n skip: !selected,\n onCompleted: () => setSaveMessage('')\n })\n\n if (machineResponse?.machines?.length && !selected) {\n setSelected(machineResponse?.machines[0])\n }\n\n const isSelected = it => {\n return R.path(['deviceId'])(selected) === it.deviceId\n }\n\n return (\n <>\n
\n
\n Machine Logs\n {logsResponse && (\n
\n R.path(['machineLogsCsv'])(logs)}\n />\n {saveMessage}\n
\n )}\n
\n
\n
\n it.name}\n data={machineResponse?.machines || []}\n isSelected={isSelected}\n onClick={setSelected}\n />\n
\n \n \n \n Date\n Level\n \n \n \n \n {logsResponse &&\n logsResponse.machineLogs.map((log, idx) => (\n \n {formatDate(log.timestamp)}\n {log.logLevel}\n {log.message}\n \n ))}\n \n
\n
\n
\n \n )\n}\n\nexport default Logs\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport React from 'react'\nimport * as Yup from 'yup'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { CashOut } from 'src/components/inputs/cashbox/Cashbox'\nimport { NumberInput } from 'src/components/inputs/formik'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { fromNamespace } from 'src/utils/config'\n\nimport styles from './CashCassettes.styles.js'\n\nconst useStyles = makeStyles(styles)\n\nconst ValidationSchema = Yup.object().shape({\n name: Yup.string().required(),\n cassette1: Yup.number()\n .label('Cassette 1 (top)')\n .required()\n .integer()\n .min(0)\n .max(500),\n cassette2: Yup.number()\n .label('Cassette 2 (bottom)')\n .required()\n .integer()\n .min(0)\n .max(500)\n})\n\nconst GET_MACHINES_AND_CONFIG = gql`\n query getData {\n machines {\n name\n id: deviceId\n cassette1\n cassette2\n }\n config\n }\n`\n\nconst RESET_CASHOUT_BILLS = gql`\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $cassette1: Int!\n $cassette2: Int!\n ) {\n machineAction(\n deviceId: $deviceId\n action: $action\n cassette1: $cassette1\n cassette2: $cassette2\n ) {\n deviceId\n cassette1\n cassette2\n }\n }\n`\n\nconst CashCassettes = () => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_MACHINES_AND_CONFIG)\n\n const [resetCashOut, { error }] = useMutation(RESET_CASHOUT_BILLS, {\n refetchQueries: () => ['getData']\n })\n\n const cashout = data?.config && fromNamespace('cashOut')(data.config)\n const locale = data?.config && fromNamespace('locale')(data.config)\n const fiatCurrency = locale?.fiatCurrency\n\n const onSave = (...[, { id, cassette1, cassette2 }]) => {\n return resetCashOut({\n variables: {\n action: 'resetCashOutBills',\n deviceId: id,\n cassette1,\n cassette2\n }\n })\n }\n\n const getCashoutSettings = id => fromNamespace(id)(cashout)\n const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active\n\n const elements = [\n {\n name: 'name',\n header: 'Machine',\n width: 254,\n view: name => <>{name},\n input: ({ field: { value: name } }) => <>{name}\n },\n {\n name: 'cassette1',\n header: 'Cassette 1 (Top)',\n width: 265,\n stripe: true,\n view: (value, { id }) => (\n \n ),\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n }\n },\n {\n name: 'cassette2',\n header: 'Cassette 2 (Bottom)',\n width: 265,\n stripe: true,\n view: (value, { id }) => (\n \n ),\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n }\n }\n ]\n\n return (\n <>\n \n\n \n \n )\n}\n\nexport default CashCassettes\n","export default {\n cashbox: {\n width: 80,\n height: 36\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 12,\n height: 12,\n rx: 3,\n ry: 3,\n fill: \"#ff7311\"\n});\n\nfunction SvgPumpkin(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPumpkin);\nexport default __webpack_public_path__ + \"static/media/pumpkin.877c3432.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 12,\n height: 12,\n rx: 3,\n ry: 3,\n fill: \"#ff584a\"\n});\n\nfunction SvgTomato(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTomato);\nexport default __webpack_public_path__ + \"static/media/tomato.b3903800.svg\";\nexport { ForwardRef as ReactComponent };","import {\n Dialog,\n DialogActions,\n DialogContent,\n makeStyles\n} from '@material-ui/core'\nimport React, { memo, useState } from 'react'\n\nimport { Button, IconButton } from 'src/components/buttons'\nimport { TextInput } from 'src/components/inputs'\nimport { H4, P } from 'src/components/typography'\nimport { ReactComponent as CloseIcon } from 'src/styling/icons/action/close/zodiac.svg'\nimport { spacer } from 'src/styling/variables'\n\nimport ErrorMessage from './ErrorMessage'\n\nconst useStyles = makeStyles({\n dialogContent: {\n width: 434,\n padding: spacer * 2,\n paddingRight: spacer * 3.5\n },\n dialogTitle: {\n padding: spacer * 2,\n paddingRight: spacer * 1.5,\n display: 'flex',\n 'justify-content': 'space-between',\n '& > h4': {\n margin: 0\n },\n '& > button': {\n padding: 0,\n marginTop: -(spacer / 2)\n }\n },\n dialogActions: {\n padding: spacer * 4,\n paddingTop: spacer * 2\n }\n})\n\nexport const DialogTitle = ({ children, onClose }) => {\n const classes = useStyles()\n return (\n
\n {children}\n {onClose && (\n \n \n \n )}\n
\n )\n}\n\nexport const ConfirmDialog = memo(\n ({\n title = 'Confirm action',\n errorMessage = 'This action requires confirmation',\n open,\n toBeConfirmed,\n saveButtonAlwaysEnabled = false,\n message,\n confirmationMessage = `Write '${toBeConfirmed}' to confirm this action`,\n onConfirmed,\n onDissmised,\n initialValue = '',\n disabled = false,\n ...props\n }) => {\n const classes = useStyles()\n const [value, setValue] = useState(initialValue)\n const [error, setError] = useState(false)\n const handleChange = event => setValue(event.target.value)\n\n const innerOnClose = () => {\n setValue('')\n setError(false)\n onDissmised()\n }\n\n const isOnErrorState =\n (!saveButtonAlwaysEnabled && toBeConfirmed !== value) || value === ''\n\n return (\n \n \n

{title}

\n
\n {errorMessage && (\n \n \n {errorMessage.split(':').map(error => (\n <>\n {error}\n
\n \n ))}\n
\n
\n )}\n \n {message &&

{message}

}\n setError(isOnErrorState)}\n />\n
\n \n onConfirmed(value)}>\n Confirm\n \n \n
\n )\n }\n)\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/edit/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n points: \"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.958fe55d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/edit/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n points: \"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.1bc04c23.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/link/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n stroke: \"#1B2559\",\n strokeWidth: 1.2\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"12 6.66678 12 12.00018 0 12.00018 0 0.00018 5.3334 0.00018\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"8.66658 0 12.00018 0 12.00018 3.3336\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 6,\n x2: 12,\n y2: 0,\n id: \"Stroke-5\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.cdf82496.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/reboot/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-3\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5.92223784,\n y1: 7.57277922,\n x2: 5.92223784,\n y2: 3.98212987,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n transform: \"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n}))));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"-0.493 -0.5 12.993 13\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.fe6ed797.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/reboot/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-3\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5.92223784,\n y1: 7.57277922,\n x2: 5.92223784,\n y2: 3.98212987,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n transform: \"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n}))));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"-0.493 -0.5 12.993 13\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.9cfc97dd.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/shut-down/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(1.000000, 0.000000)\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5,\n y1: 0.75,\n x2: 5,\n y2: 3.25,\n id: \"Stroke-3\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.fa4681e8.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/shut-down/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(1.000000, 0.000000)\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5,\n y1: 0.75,\n x2: 5,\n y2: 3.25,\n id: \"Stroke-3\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.b27733af.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/unpair/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-12\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.25,\n y1: 3,\n x2: 8.25,\n y2: 1.5,\n id: \"Stroke-6\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 3,\n x2: 10.5,\n y2: 2.25,\n id: \"Stroke-7\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 4.5,\n x2: 11.25,\n y2: 4.5,\n id: \"Stroke-8\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 7.5,\n x2: 0.75,\n y2: 7.5,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 9,\n x2: 1.5,\n y2: 9.75,\n id: \"Stroke-10\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.75,\n y1: 9,\n x2: 3.75,\n y2: 10.5,\n id: \"Stroke-11\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.f97c75d2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/unpair/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-12\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.25,\n y1: 3,\n x2: 8.25,\n y2: 1.5,\n id: \"Stroke-6\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 3,\n x2: 10.5,\n y2: 2.25,\n id: \"Stroke-7\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 4.5,\n x2: 11.25,\n y2: 4.5,\n id: \"Stroke-8\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 7.5,\n x2: 0.75,\n y2: 7.5,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 9,\n x2: 1.5,\n y2: 9.75,\n id: \"Stroke-10\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.75,\n y1: 9,\n x2: 3.75,\n y2: 10.5,\n id: \"Stroke-11\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.aa028a2c.svg\";\nexport { ForwardRef as ReactComponent };","import { fade } from '@material-ui/core/styles/colorManipulator'\n\nimport {\n detailsRowStyles,\n labelStyles\n} from 'src/pages/Transactions/Transactions.styles'\nimport {\n spacer,\n comet,\n primaryColor,\n fontSize4,\n errorColor\n} from 'src/styling/variables'\n\nconst machineDetailsStyles = {\n ...detailsRowStyles,\n colDivider: {\n width: 1,\n margin: [[spacer * 2, spacer * 4]],\n backgroundColor: comet,\n border: 'none'\n },\n inlineChip: {\n marginInlineEnd: '0.25em'\n },\n stack: {\n display: 'flex',\n flexDirection: 'row'\n },\n wrapper: {\n display: 'flex',\n marginTop: 24,\n marginBottom: 32,\n fontSize: fontSize4\n },\n row: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 36\n },\n list: {\n padding: 0,\n margin: 0,\n listStyle: 'none'\n },\n item: {\n height: spacer * 3,\n marginBottom: spacer * 1.5\n },\n link: {\n color: primaryColor,\n textDecoration: 'none'\n },\n divider: {\n margin: '0 1rem'\n },\n mr: {\n marginRight: spacer\n },\n separator: {\n width: 1,\n height: 170,\n zIndex: 1,\n marginRight: 60,\n marginLeft: 'auto',\n background: fade(comet, 0.5)\n },\n warning: {\n color: errorColor\n }\n}\n\nexport { labelStyles, machineDetailsStyles }\n","import { useMutation, useLazyQuery } from '@apollo/react-hooks'\nimport { Grid, Divider } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport React, { useState } from 'react'\n\nimport { ConfirmDialog } from 'src/components/ConfirmDialog'\nimport { Status } from 'src/components/Status'\nimport ActionButton from 'src/components/buttons/ActionButton'\nimport { ReactComponent as EditReversedIcon } from 'src/styling/icons/button/edit/white.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/button/edit/zodiac.svg'\nimport { ReactComponent as LinkIcon } from 'src/styling/icons/button/link/zodiac.svg'\nimport { ReactComponent as RebootReversedIcon } from 'src/styling/icons/button/reboot/white.svg'\nimport { ReactComponent as RebootIcon } from 'src/styling/icons/button/reboot/zodiac.svg'\nimport { ReactComponent as ShutdownReversedIcon } from 'src/styling/icons/button/shut down/white.svg'\nimport { ReactComponent as ShutdownIcon } from 'src/styling/icons/button/shut down/zodiac.svg'\nimport { ReactComponent as UnpairReversedIcon } from 'src/styling/icons/button/unpair/white.svg'\nimport { ReactComponent as UnpairIcon } from 'src/styling/icons/button/unpair/zodiac.svg'\n\nimport { labelStyles, machineDetailsStyles } from './MachineDetailsCard.styles'\n\nconst MACHINE_ACTION = gql`\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $newName: String\n ) {\n machineAction(deviceId: $deviceId, action: $action, newName: $newName) {\n deviceId\n }\n }\n`\n\nconst MACHINE = gql`\n query getMachine($deviceId: ID!) {\n machine(deviceId: $deviceId) {\n latestEvent {\n note\n }\n }\n }\n`\n\nconst supportArtices = [\n {\n // Default article for non-maped statuses\n code: undefined,\n label: 'Troubleshooting',\n article:\n 'https://support.lamassu.is/hc/en-us/categories/115000075249-Troubleshooting'\n }\n // TODO add Stuck and Fully Functional statuses articles for the new-admins\n]\n\nconst isStaticState = machineState => {\n if (!machineState) {\n return true\n }\n const staticStates = [\n 'chooseCoin',\n 'idle',\n 'pendingIdle',\n 'dualIdle',\n 'networkDown',\n 'unpaired',\n 'maintenance',\n 'virgin',\n 'wifiList'\n ]\n return staticStates.includes(machineState)\n}\n\nconst article = ({ code: status }) =>\n supportArtices.find(({ code: article }) => article === status)\n\nconst useLStyles = makeStyles(labelStyles)\n\nconst Label = ({ children }) => {\n const classes = useLStyles()\n\n return
{children}
\n}\n\nconst useMDStyles = makeStyles(machineDetailsStyles)\n\nconst Container = ({ children, ...props }) => (\n \n {children}\n \n)\n\nconst Item = ({ children, ...props }) => (\n \n {children}\n \n)\n\nconst getState = machineEventsLazy =>\n JSON.parse(machineEventsLazy.machine.latestEvent?.note ?? '{\"state\": null}')\n .state\n\nconst MachineDetailsRow = ({ it: machine, onActionSuccess }) => {\n const [action, setAction] = useState({ command: null })\n const [errorMessage, setErrorMessage] = useState(null)\n const classes = useMDStyles()\n\n const warningMessage = (\n \n A user may be in the middle of a transaction and they could lose their\n funds if you continue.\n \n )\n\n const [fetchMachineEvents, { loading: loadingEvents }] = useLazyQuery(\n MACHINE,\n {\n variables: {\n deviceId: machine.deviceId\n },\n onCompleted: machineEventsLazy => {\n const message = !isStaticState(getState(machineEventsLazy))\n ? warningMessage\n : null\n setAction(action => ({ ...action, message }))\n }\n }\n )\n\n const [machineAction, { loading }] = useMutation(MACHINE_ACTION, {\n onError: ({ message }) => {\n const errorMessage = message ?? 'An error ocurred'\n setErrorMessage(errorMessage)\n },\n onCompleted: () => {\n onActionSuccess && onActionSuccess()\n setAction({ command: null })\n }\n })\n\n const confirmDialogOpen = Boolean(action.command)\n const disabled = !!(action?.command === 'restartServices' && loadingEvents)\n\n return (\n <>\n \n \n \n \n \n
    \n {machine.statuses.map((status, index) => (\n
  • \n \n
  • \n ))}\n
\n
\n \n \n
    \n {machine.statuses\n .map(article)\n .map(({ label, article }, index) => (\n
  • \n \n '{label}' \n \n
  • \n ))}\n
\n
\n
\n
\n \n {\n setErrorMessage(null)\n machineAction({\n variables: {\n deviceId: machine.deviceId,\n action: `${action?.command}`,\n ...(action?.command === 'rename' && { newName: value })\n }\n })\n }}\n onDissmised={() => {\n setAction({ command: null })\n setErrorMessage(null)\n }}\n />\n \n \n \n \n {machine.model}\n \n \n \n \n {moment(machine.pairedAt).format('YYYY-MM-DD HH:mm:ss')}\n \n \n \n \n \n \n
\n \n setAction({\n command: 'rename',\n display: 'Rename',\n confirmationMessage: 'Write the new name for this machine'\n })\n }>\n Rename\n \n \n setAction({\n command: 'unpair',\n display: 'Unpair'\n })\n }>\n Unpair\n \n \n setAction({\n command: 'reboot',\n display: 'Reboot'\n })\n }>\n Reboot\n \n \n setAction({\n command: 'shutdown',\n display: 'Shutdown',\n message:\n 'In order to bring it back online, the machine will need to be visited and its power reset.'\n })\n }>\n Shutdown\n \n {\n fetchMachineEvents()\n setAction({\n command: 'restartServices',\n display: 'Restart services for'\n })\n }}>\n Restart Services\n \n
\n
\n
\n
\n
\n \n )\n}\n\nexport default MachineDetailsRow\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\nimport { useLocation } from 'react-router-dom'\n\nimport { MainStatus } from 'src/components/Status'\nimport Title from 'src/components/Title'\nimport DataTable from 'src/components/tables/DataTable'\nimport { mainStyles } from 'src/pages/Transactions/Transactions.styles'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/status/pumpkin.svg'\nimport { ReactComponent as ErrorIcon } from 'src/styling/icons/status/tomato.svg'\n\nimport MachineDetailsRow from './MachineDetailsCard'\n\nconst GET_MACHINES = gql`\n {\n machines {\n name\n deviceId\n lastPing\n pairedAt\n version\n paired\n cashbox\n cassette1\n cassette2\n version\n model\n statuses {\n label\n type\n }\n }\n }\n`\n\nconst useStyles = makeStyles(mainStyles)\n\nconst MachineStatus = () => {\n const classes = useStyles()\n const { state } = useLocation()\n const addedMachineId = state?.id\n const { data: machinesResponse, refetch } = useQuery(GET_MACHINES)\n\n const elements = [\n {\n header: 'Machine Name',\n width: 250,\n size: 'sm',\n textAlign: 'left',\n view: m => m.name\n },\n {\n header: 'Status',\n width: 350,\n size: 'sm',\n textAlign: 'left',\n view: m => \n },\n {\n header: 'Last ping',\n width: 200,\n size: 'sm',\n textAlign: 'left',\n view: m => (m.lastPing ? moment(m.lastPing).fromNow() : 'unknown')\n },\n {\n header: 'Software Version',\n width: 200,\n size: 'sm',\n textAlign: 'left',\n view: m => m.version || 'unknown'\n }\n ]\n\n const machines = R.path(['machines'])(machinesResponse) ?? []\n const expandedIndex = R.findIndex(R.propEq('deviceId', addedMachineId))(\n machines\n )\n\n const InnerMachineDetailsRow = ({ it }) => (\n \n )\n\n return (\n <>\n
\n
\n Machine Status\n
\n
\n
\n \n Warning\n
\n
\n \n Error\n
\n
\n
\n \n \n )\n}\n\nexport default MachineStatus\n","import React from 'react'\n\nexport default React.createContext()\n","import * as R from 'ramda'\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)))\n\nconst transformNumber = value => (isValidNumber(value) ? value : null)\n\nexport { transformNumber }\n","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Link, IconButton } from 'src/components/buttons'\nimport { H4 } from 'src/components/typography'\nimport { ReactComponent as DisabledEditIcon } from 'src/styling/icons/action/edit/disabled.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\n\nimport styles from './EditHeader.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Header = ({ title, editing, disabled, setEditing }) => {\n const classes = useStyles()\n\n return (\n
\n

{title}

\n {!editing && (\n setEditing(true)}\n className={classes.button}\n disabled={disabled}>\n {disabled ? : }\n \n )}\n {editing && (\n
\n \n Save\n \n \n Cancel\n \n
\n )}\n
\n )\n}\n\nexport default Header\n","export default {\n header: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: 16,\n height: 26,\n margin: 0\n },\n title: {\n flexShrink: 2,\n margin: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n button: {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n marginLeft: 8\n },\n editingButtons: {\n display: 'flex',\n flexShrink: 0,\n marginLeft: 16,\n justifyContent: 'space-between',\n width: 110\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { useFormikContext, Field as FormikField } from 'formik'\nimport React from 'react'\n\nimport { NumberInput } from 'src/components/inputs/formik'\nimport { Label1, Info1, TL2 } from 'src/components/typography'\n\nimport styles from './EditableNumber.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst EditableNumber = ({\n label,\n name,\n editing,\n displayValue,\n decoration,\n className,\n decimalPlaces = 0,\n width = 80\n}) => {\n const classes = useStyles({ width, editing })\n const { values } = useFormikContext()\n\n const classNames = {\n [classes.fieldWrapper]: true,\n className\n }\n\n return (\n
\n {label && {label}}\n
\n {!editing && (\n {displayValue(values[name])}\n )}\n {editing && (\n \n )}\n {decoration}\n
\n
\n )\n}\n\nexport default EditableNumber\n","export default {\n text: {\n margin: [[7, 0, 7, 1]]\n },\n fieldWrapper: {\n height: 53\n },\n valueWrapper: {\n display: 'flex',\n alignItems: 'baseline'\n },\n label: {\n margin: 0\n },\n decoration: {\n margin: [[0, 0, 0, 7]]\n }\n}\n","import { Form, Formik } from 'formik'\nimport React, { useContext, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { transformNumber } from 'src/utils/number'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nimport Header from './EditHeader'\nimport EditableNumber from './EditableNumber'\n\nconst SingleFieldEditableNumber = ({\n title,\n label,\n width = 80,\n min = 0,\n max = 9999999,\n name,\n section,\n className\n}) => {\n const [saving, setSaving] = useState(false)\n\n const innerSave = async (section, value) => {\n if (saving) return\n\n setSaving(true)\n\n // no response means the save failed\n await save(section, value)\n\n setSaving(false)\n }\n\n const {\n save,\n data,\n currency,\n isEditing,\n isDisabled,\n setEditing\n } = useContext(NotificationsCtx)\n\n const schema = Yup.object().shape({\n [name]: Yup.number()\n .transform(transformNumber)\n .integer()\n .min(min)\n .max(max)\n .nullable()\n })\n\n return (\n innerSave(section, schema.cast(it))}\n onReset={() => {\n setEditing(name, false)\n }}>\n
\n \n setEditing(name, it)}\n />\n (x === '' ? '-' : x)}\n decoration={currency}\n />\n \n \n )\n}\n\nexport default SingleFieldEditableNumber\n","import { makeStyles } from '@material-ui/core'\nimport React, { useContext } from 'react'\n\nimport NotificationsCtx from '../NotificationsContext'\nimport SingleFieldEditableNumber from '../components/SingleFieldEditableNumber'\n\nimport styles from './CryptoBalanceAlerts.styles'\n\nconst LOW_BALANCE_KEY = 'cryptoLowBalance'\nconst HIGH_BALANCE_KEY = 'cryptoHighBalance'\n\nconst useStyles = makeStyles(styles)\n\nconst CryptoBalanceAlerts = ({ section, fieldWidth }) => {\n const classes = useStyles()\n\n const {\n data,\n save,\n currency,\n setEditing,\n isEditing,\n isDisabled\n } = useContext(NotificationsCtx)\n\n return (\n
\n setEditing(LOW_BALANCE_KEY, it)}\n width={fieldWidth}\n />\n\n
\n\n setEditing(HIGH_BALANCE_KEY, it)}\n width={fieldWidth}\n />\n
\n )\n}\n\nexport default CryptoBalanceAlerts\n","export default {\n cryptoBalanceAlerts: {\n display: 'flex',\n marginBottom: 36,\n height: 135,\n alignItems: 'center'\n },\n cryptoBalanceAlertsForm: {\n width: 222,\n marginRight: 32\n },\n cryptoBalanceAlertsSecondForm: {\n marginLeft: 50\n },\n vertSeparator: {\n width: 1,\n height: '100%',\n borderRight: [[1, 'solid', 'black']]\n }\n}\n","import * as R from 'ramda'\nimport React, { useContext } from 'react'\nimport * as Yup from 'yup'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { NumberInput } from 'src/components/inputs/formik'\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\nimport { transformNumber } from 'src/utils/number'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nconst HIGH_BALANCE_KEY = 'highBalance'\nconst LOW_BALANCE_KEY = 'lowBalance'\nconst CRYPTOCURRENCY_KEY = 'cryptoCurrency'\nconst NAME = 'cryptoBalanceOverrides'\n\nconst CryptoBalanceOverrides = ({ section }) => {\n const {\n cryptoCurrencies = [],\n data,\n save,\n currency,\n isDisabled,\n setEditing\n } = useContext(NotificationsCtx)\n const setupValues = data?.cryptoBalanceOverrides ?? []\n const innerSetEditing = it => setEditing(NAME, it)\n\n const onDelete = id => {\n const newOverrides = {\n cryptoBalanceOverrides: R.reject(it => it.id === id, setupValues)\n }\n return save(newOverrides)\n }\n\n const overridenCryptos = R.map(R.prop(CRYPTOCURRENCY_KEY))(setupValues)\n const suggestionFilter = R.filter(\n it => !R.contains(it.code, overridenCryptos)\n )\n const suggestions = suggestionFilter(cryptoCurrencies)\n\n const findSuggestion = it => {\n const coin = R.compose(R.find(R.propEq('code', it?.cryptoCurrency)))(\n cryptoCurrencies\n )\n return coin ? [coin] : []\n }\n\n const initialValues = {\n [CRYPTOCURRENCY_KEY]: null,\n [LOW_BALANCE_KEY]: '',\n [HIGH_BALANCE_KEY]: ''\n }\n\n const notesMin = 0\n const currencyMax = 9999999\n const validationSchema = Yup.object().shape(\n {\n [CRYPTOCURRENCY_KEY]: Yup.string()\n .label('Cryptocurrency')\n .nullable()\n .required(),\n [LOW_BALANCE_KEY]: Yup.number()\n .label('Low Balance')\n .when(HIGH_BALANCE_KEY, {\n is: HIGH_BALANCE_KEY => !HIGH_BALANCE_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(currencyMax)\n .nullable(),\n [HIGH_BALANCE_KEY]: Yup.number()\n .label('High Balance')\n .when(LOW_BALANCE_KEY, {\n is: LOW_BALANCE_KEY => !LOW_BALANCE_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(currencyMax)\n .nullable()\n },\n [LOW_BALANCE_KEY, HIGH_BALANCE_KEY]\n )\n\n const viewCrypto = it =>\n R.compose(\n R.path(['display']),\n R.find(R.propEq('code', it))\n )(cryptoCurrencies)\n\n const elements = [\n {\n name: CRYPTOCURRENCY_KEY,\n header: 'Cryptocurrency',\n width: 166,\n size: 'sm',\n view: viewCrypto,\n input: Autocomplete,\n inputProps: {\n options: it => R.concat(suggestions, findSuggestion(it)),\n optionsLimit: null,\n valueProp: 'code',\n getLabel: R.path(['display'])\n }\n },\n {\n name: LOW_BALANCE_KEY,\n width: 155,\n textAlign: 'right',\n bold: true,\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n },\n {\n name: HIGH_BALANCE_KEY,\n width: 155,\n textAlign: 'right',\n bold: true,\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n }\n ]\n\n return (\n save(section, it)}\n initialValues={initialValues}\n validationSchema={validationSchema}\n forceDisable={isDisabled(NAME) || !cryptoCurrencies}\n data={setupValues}\n elements={elements}\n disableAdd={!suggestions?.length}\n onDelete={onDelete}\n setEditing={innerSetEditing}\n />\n )\n}\n\nexport default CryptoBalanceOverrides\n","import { makeStyles } from '@material-ui/core'\nimport { Form, Formik } from 'formik'\nimport React, { useContext } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { TL2 } from 'src/components/typography'\nimport { transformNumber } from 'src/utils/number'\n\nimport { Cashbox } from '../../../components/inputs/cashbox/Cashbox'\nimport NotificationsCtx from '../NotificationsContext'\nimport Header from '../components/EditHeader'\nimport EditableNumber from '../components/EditableNumber'\n\nimport styles from './FiatBalanceAlerts.styles.js'\n\nconst useStyles = makeStyles(styles)\n\nconst NAME = 'fiatBalanceAlerts'\n\nconst FiatBalance = ({\n section,\n min = 0,\n max = Number.MAX_SAFE_INTEGER,\n fieldWidth = 80\n}) => {\n const { isEditing, isDisabled, setEditing, data, save } = useContext(\n NotificationsCtx\n )\n const classes = useStyles()\n\n const editing = isEditing(NAME)\n\n const schema = Yup.object().shape({\n fiatBalanceCassette1: Yup.number()\n .transform(transformNumber)\n .integer()\n .min(min)\n .max(max)\n .nullable(),\n fiatBalanceCassette2: Yup.number()\n .transform(transformNumber)\n .integer()\n .min(min)\n .max(max)\n .nullable()\n })\n\n const fiatBalanceCassette1Percent =\n (100 * (data?.fiatBalanceCassette1 ?? 0)) / max\n const fiatBalanceCassette2Percent =\n (100 * (data?.fiatBalanceCassette2 ?? 0)) / max\n\n return (\n save(section, schema.cast(it))}\n onReset={() => {\n setEditing(NAME, false)\n }}>\n
\n \n setEditing(NAME, it)}\n />\n
\n
\n
\n \n
\n Cassette 1 (Top)\n (x === '' ? '-' : x)}\n decoration=\"notes\"\n width={fieldWidth}\n />\n
\n
\n
\n
\n \n
\n Cassette 2 (Bottom)\n (x === '' ? '-' : x)}\n decoration=\"notes\"\n width={fieldWidth}\n />\n
\n
\n
\n \n \n )\n}\n\nexport default FiatBalance\n","export default {\n wrapper: {\n display: 'flex'\n },\n form: {\n marginBottom: 36\n },\n first: {\n width: 236\n },\n title: {\n marginTop: 0\n },\n row: {\n width: 183,\n display: 'grid',\n gridTemplateColumns: 'repeat(2,1fr)',\n gridTemplateRows: '1fr',\n gridColumnGap: 18,\n gridRowGap: 0\n },\n col2: {\n width: 136\n }\n}\n","import * as R from 'ramda'\nimport React, { useContext } from 'react'\nimport * as Yup from 'yup'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { NumberInput } from 'src/components/inputs/formik/'\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete'\nimport { transformNumber } from 'src/utils/number'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nconst CASSETTE_1_KEY = 'fiatBalanceCassette1'\nconst CASSETTE_2_KEY = 'fiatBalanceCassette2'\nconst MACHINE_KEY = 'machine'\nconst NAME = 'fiatBalanceOverrides'\n\nconst FiatBalanceOverrides = ({ section }) => {\n const { machines = [], data, save, isDisabled, setEditing } = useContext(\n NotificationsCtx\n )\n\n const setupValues = data?.fiatBalanceOverrides ?? []\n const innerSetEditing = it => setEditing(NAME, it)\n\n const overridenMachines = R.map(override => override.machine, setupValues)\n const suggestionFilter = R.filter(\n it => !R.contains(it.deviceId, overridenMachines)\n )\n const suggestions = suggestionFilter(machines)\n\n const findSuggestion = it => {\n const coin = R.compose(R.find(R.propEq('deviceId', it?.machine)))(machines)\n return coin ? [coin] : []\n }\n\n const initialValues = {\n [MACHINE_KEY]: null,\n [CASSETTE_1_KEY]: '',\n [CASSETTE_2_KEY]: ''\n }\n\n const notesMin = 0\n const notesMax = 9999999\n const validationSchema = Yup.object().shape(\n {\n [MACHINE_KEY]: Yup.string()\n .label('Machine')\n .nullable()\n .required(),\n [CASSETTE_1_KEY]: Yup.number()\n .label('Cassette 1 (top)')\n .when(CASSETTE_2_KEY, {\n is: CASSETTE_2_KEY => !CASSETTE_2_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(notesMax)\n .nullable(),\n [CASSETTE_2_KEY]: Yup.number()\n .label('Cassette 1 (bottom)')\n .when(CASSETTE_1_KEY, {\n is: CASSETTE_1_KEY => !CASSETTE_1_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(notesMax)\n .nullable()\n },\n [CASSETTE_1_KEY, CASSETTE_2_KEY]\n )\n\n const viewMachine = it =>\n R.compose(R.path(['name']), R.find(R.propEq('deviceId', it)))(machines)\n\n const elements = [\n {\n name: MACHINE_KEY,\n width: 238,\n size: 'sm',\n view: viewMachine,\n input: Autocomplete,\n inputProps: {\n options: it => R.concat(suggestions, findSuggestion(it)),\n valueProp: 'deviceId',\n getLabel: R.path(['name'])\n }\n },\n {\n name: CASSETTE_1_KEY,\n display: 'Cash-out 1',\n width: 155,\n textAlign: 'right',\n doubleHeader: 'Cash-out (Cassette Empty)',\n bold: true,\n input: NumberInput,\n suffix: 'notes',\n inputProps: {\n decimalPlaces: 0\n }\n },\n {\n name: CASSETTE_2_KEY,\n display: 'Cash-out 2',\n width: 155,\n textAlign: 'right',\n doubleHeader: 'Cash-out (Cassette Empty)',\n bold: true,\n input: NumberInput,\n suffix: 'notes',\n inputProps: {\n decimalPlaces: 0\n }\n }\n ]\n\n return (\n save(section, validationSchema.cast(it))}\n initialValues={initialValues}\n validationSchema={validationSchema}\n forceDisable={isDisabled(NAME) || !machines}\n data={setupValues}\n elements={elements}\n disableAdd={!suggestions?.length}\n setEditing={innerSetEditing}\n />\n )\n}\n\nexport default FiatBalanceOverrides\n","import { makeStyles } from '@material-ui/core'\nimport * as R from 'ramda'\nimport React, { useContext } from 'react'\n\nimport {\n Table,\n THead,\n TBody,\n Tr,\n Td,\n Th\n} from 'src/components/fake-table/Table'\nimport { Switch } from 'src/components/inputs'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\nimport { startCase } from 'src/utils/string'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nconst channelSize = 129\nconst sizes = {\n balance: 152,\n transactions: 184,\n compliance: 178,\n errors: 142,\n active: 263\n}\nconst width = R.sum(R.values(sizes)) + channelSize\n\nconst Row = ({ namespace, forceDisable }) => {\n const { data: rawData, save: rawSave } = useContext(NotificationsCtx)\n\n const save = R.compose(rawSave(null), toNamespace(namespace))\n const data = fromNamespace(namespace)(rawData)\n\n const disabled = forceDisable || !data || !data.active\n\n const Cell = ({ name, disabled }) => {\n const value = !!(data && data[name])\n\n return (\n \n {\n save({ [name]: event.target.checked })\n }}\n value={value}\n />\n \n )\n }\n\n return (\n \n {startCase(namespace)}\n \n \n \n \n \n \n )\n}\n\nconst useStyles = makeStyles({\n mainTable: {\n width\n },\n wizardTable: {\n width: 930\n }\n})\nconst Setup = ({ wizard, forceDisable }) => {\n const widthAdjust = wizard ? 20 : 0\n const classes = useStyles()\n return (\n \n \n \n {Object.keys(sizes).map(it => (\n \n ))}\n \n \n \n \n \n
Channel\n {startCase(it)}\n
\n )\n}\n\nexport default Setup\n","import React from 'react'\n\nimport SingleFieldEditableNumber from '../components/SingleFieldEditableNumber'\n\nconst NAME = 'highValueTransaction'\n\nconst TransactionAlerts = ({ section, fieldWidth }) => {\n return (\n \n )\n}\n\nexport default TransactionAlerts\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport Section from '../../components/layout/Section'\n\nimport NotificationsCtx from './NotificationsContext'\nimport CryptoBalanceAlerts from './sections/CryptoBalanceAlerts'\nimport CryptoBalanceOverrides from './sections/CryptoBalanceOverrides'\nimport FiatBalanceAlerts from './sections/FiatBalanceAlerts'\nimport FiatBalanceOverrides from './sections/FiatBalanceOverrides'\nimport Setup from './sections/Setup'\nimport TransactionAlerts from './sections/TransactionAlerts'\n\nconst GET_INFO = gql`\n query getData {\n config\n machines {\n name\n deviceId\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst FIELDS_WIDTH = 130\n\nconst Notifications = ({\n name: SCREEN_KEY,\n displaySetup = true,\n displayTransactionAlerts = true,\n displayFiatAlerts = true,\n displayCryptoAlerts = true,\n displayOverrides = true,\n displayTitle = true,\n wizard = false\n}) => {\n const [section, setSection] = useState(null)\n const [error, setError] = useState(null)\n const [editingKey, setEditingKey] = useState(null)\n\n const { data } = useQuery(GET_INFO)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: ['getData'],\n onCompleted: () => setEditingKey(null),\n onError: error => setError({ error })\n })\n\n const config = fromNamespace(SCREEN_KEY)(data?.config)\n const machines = data?.machines\n const cryptoCurrencies = data?.cryptoCurrencies\n\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n const save = R.curry((section, rawConfig) => {\n const config = toNamespace(SCREEN_KEY)(rawConfig)\n setSection(section)\n setError(null)\n return saveConfig({ variables: { config } })\n })\n\n const setEditing = (key, state) => {\n if (!state) {\n setError(null)\n }\n setEditingKey(state ? key : null)\n }\n\n const isEditing = key => editingKey === key\n const isDisabled = key => editingKey && editingKey !== key\n\n const contextValue = {\n save,\n error,\n editingKey,\n data: config,\n currency,\n isEditing,\n isDisabled,\n setEditing,\n setSection,\n machines,\n cryptoCurrencies\n }\n\n return (\n \n {displayTitle && }\n {displaySetup && (\n
\n \n
\n )}\n {displayTransactionAlerts && (\n
\n \n
\n )}\n {displayFiatAlerts && (\n \n \n {displayOverrides && }\n \n )}\n {displayCryptoAlerts && (\n \n \n {displayOverrides && (\n \n )}\n \n )}\n
\n )\n}\n\nexport default Notifications\n","import baseStyles from 'src/pages/Logs.styles'\n\nconst { button } = baseStyles\n\nconst mainStyles = {\n button,\n content: {\n display: 'flex'\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 10px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n titleWrapper: {\n display: 'flex',\n alignItems: 'center',\n flex: 'wrap'\n },\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n rowTextAndSwitch: {\n display: 'flex',\n flex: 'wrap',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 285\n },\n popoverContent: {\n width: 272,\n padding: [[10, 15]]\n }\n}\n\nexport { mainStyles }\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport React, { memo } from 'react'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { Switch } from 'src/components/inputs'\nimport { H4, P, Label2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport { mainStyles } from './CoinATMRadar.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst Row = memo(({ title, disabled = false, checked, save, label }) => {\n const classes = useStyles()\n\n return (\n
\n
\n

{title}

\n save && save(event.target.checked)}\n />\n
\n {label && {label}}\n
\n )\n})\n\nconst CoinATMRadar = memo(() => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_CONFIG)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: ['getData']\n })\n\n const save = it =>\n saveConfig({\n variables: { config: toNamespace(namespaces.COIN_ATM_RADAR, it) }\n })\n\n const coinAtmRadarConfig =\n data?.config && fromNamespace(namespaces.COIN_ATM_RADAR, data.config)\n if (!coinAtmRadarConfig) return null\n\n return (\n
\n
\n
\n

Coin ATM Radar share settings

\n \n

\n For details on configuring this panel, please read the relevant\n knowledgebase article{' '}\n \n here\n \n .\n

\n
\n
\n save({ active: value })}\n label={coinAtmRadarConfig.active ? 'Yes' : 'No'}\n />\n

{'Machine info'}

\n save({ commissions: value })}\n />\n save({ limitsAndVerification: value })}\n />\n
\n
\n )\n})\n\nexport default CoinATMRadar\n","import CoinATMRadar from './CoinATMRadar'\n\nexport default CoinATMRadar\n","import { createMuiTheme } from '@material-ui/core/styles'\n\nimport typographyStyles from 'src/components/typography/styles'\n\nimport {\n backgroundColor,\n inputFontFamily,\n secondaryColor,\n fontColor,\n offColor,\n subheaderColor,\n fontSize3,\n fontSize5\n} from './variables'\n\nconst { p } = typographyStyles\n\nexport default createMuiTheme({\n typography: {\n fontFamily: inputFontFamily,\n body1: { ...p }\n },\n MuiButtonBase: {\n disableRipple: true\n },\n palette: {\n primary: {\n light: secondaryColor,\n dark: secondaryColor,\n main: secondaryColor\n },\n secondary: {\n light: secondaryColor,\n dark: secondaryColor,\n main: secondaryColor\n },\n background: {\n default: backgroundColor\n }\n },\n overrides: {\n MuiRadio: {\n colorSecondary: {\n color: secondaryColor\n }\n },\n MuiAutocomplete: {\n root: {\n color: fontColor\n },\n noOptions: {\n padding: [[6, 16]]\n },\n option: {\n '&[data-focus=\"true\"]': {\n backgroundColor: subheaderColor\n }\n },\n paper: {\n color: fontColor,\n margin: 0\n },\n listbox: {\n padding: 0\n },\n tag: {\n '&[data-tag-index=\"0\"]': {\n marginLeft: 0\n },\n margin: 2,\n backgroundColor: subheaderColor,\n borderRadius: 4,\n height: 18\n }\n },\n MuiChip: {\n label: {\n paddingLeft: 4,\n paddingRight: 4,\n color: fontColor,\n fontSize: fontSize5\n }\n },\n MuiInput: {\n root: {\n color: fontColor\n },\n underline: {\n '&:before': {\n borderBottom: [[2, 'solid', fontColor]]\n }\n }\n },\n MuiInputLabel: {\n root: {\n font: 'inherit',\n fontSize: fontSize3,\n color: offColor\n },\n shrink: {\n color: fontColor,\n transform: 'translate(0, 1.7px) scale(0.83)'\n }\n },\n MuiFormLabel: {\n root: {\n '&$focused': {\n color: fontColor\n }\n }\n }\n }\n})\n","import typographyStyles from 'src/components/typography/styles'\nimport theme from 'src/styling/theme'\nimport { offColor } from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nconst styles = {\n header: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 12px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n section: {\n marginBottom: 52\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: 28,\n width: 600,\n '&:last-child': {\n marginBottom: 0\n }\n },\n switchRow: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: 28,\n width: 600\n },\n switch: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 120\n },\n submit: {\n justifyContent: 'flex-start',\n alignItems: 'center',\n height: 19,\n padding: [[0, 4, 4, 4]],\n '& > button': {\n marginRight: 40\n }\n },\n singleButton: {\n marginTop: 50,\n paddingLeft: 0\n }\n}\n\nconst contactInfoStyles = {\n infoMessage: {\n display: 'flex',\n marginBottom: 52,\n '& > p': {\n width: 330,\n color: offColor,\n marginTop: 4,\n marginLeft: 16\n }\n },\n radioButtonsRow: {\n height: 60,\n marginBottom: 14\n },\n radioButtons: {\n display: 'flex',\n flexDirection: 'row',\n paddingLeft: 4\n },\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 12px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n }\n}\n\nconst termsConditionsStyles = {\n enable: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: 22 - theme.spacing(1),\n '& > span:first-child': {\n extend: p,\n marginRight: 116 - theme.spacing(1)\n },\n '& > span:last-child': {\n marginLeft: 4\n }\n }\n}\n\nconst fieldStyles = {\n field: {\n position: 'relative',\n width: 280,\n padding: [[0, 4, 4, 0]]\n },\n notEditing: {\n display: 'flex',\n flexDirection: 'column'\n },\n notEditingSingleLine: {\n '& > p:first-child': {\n height: 16,\n lineHeight: '16px',\n transform: 'scale(0.75)',\n transformOrigin: 'left',\n paddingLeft: 0,\n margin: [[1, 0, 6, 0]]\n },\n '& > p:last-child': {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n height: 25,\n margin: 0\n }\n },\n notEditingMultiline: {\n '& > p:first-child': {\n height: 16,\n lineHeight: '16px',\n transform: 'scale(0.75)',\n transformOrigin: 'left',\n paddingLeft: 0,\n margin: [[1, 0, 5, 0]]\n },\n '& > p:last-child': {\n width: 502,\n height: 121,\n overflowY: 'auto',\n lineHeight: '19px',\n wordWrap: 'anywhere',\n margin: 0\n }\n }\n}\n\nexport { styles, contactInfoStyles, termsConditionsStyles, fieldStyles }\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Form, Formik, Field as FormikField } from 'formik'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Link, IconButton } from 'src/components/buttons'\nimport Switch from 'src/components/inputs/base/Switch'\nimport { TextInput } from 'src/components/inputs/formik'\nimport { P, H4, Info3, Label1, Label2, Label3 } from 'src/components/typography'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\nimport { fontSize5 } from 'src/styling/variables'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport {\n styles as globalStyles,\n contactInfoStyles\n} from './OperatorInfo.styles'\n\nconst FIELD_WIDTH = 280\n\nconst fieldStyles = {\n field: {\n position: 'relative',\n width: 280,\n height: 48,\n padding: [[0, 4, 4, 0]]\n },\n notEditing: {\n display: 'flex',\n flexDirection: 'column',\n '& > p:first-child': {\n height: 16,\n lineHeight: '16px',\n fontSize: fontSize5,\n transformOrigin: 'left',\n paddingLeft: 0,\n margin: [[3, 0, 3, 0]]\n },\n '& > p:last-child': {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n margin: 0\n }\n }\n}\n\nconst fieldUseStyles = makeStyles(fieldStyles)\n\nconst Field = ({ editing, field, displayValue, ...props }) => {\n const classes = fieldUseStyles()\n\n const classNames = {\n [classes.field]: true,\n [classes.notEditing]: !editing\n }\n\n return (\n
\n {!editing && (\n <>\n {field.label}\n {displayValue(field.value)}\n \n )}\n {editing && (\n \n )}\n
\n )\n}\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst styles = R.merge(globalStyles, contactInfoStyles)\n\nconst contactUseStyles = makeStyles(styles)\n\nconst ContactInfo = ({ wizard }) => {\n const classes = contactUseStyles()\n\n const [editing, setEditing] = useState(wizard || false)\n const [error, setError] = useState(null)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setEditing(false),\n refetchQueries: () => ['getData'],\n onError: e => setError(e)\n })\n\n const { data } = useQuery(GET_CONFIG)\n\n const save = it => {\n return saveConfig({\n variables: { config: toNamespace(namespaces.OPERATOR_INFO, it) }\n })\n }\n\n const info =\n data?.config && fromNamespace(namespaces.OPERATOR_INFO, data.config)\n\n if (!info) return null\n\n const validationSchema = Yup.object().shape({\n active: Yup.boolean(),\n name: Yup.string(),\n phone: Yup.string(),\n email: Yup.string()\n .email('Please enter a valid email address')\n .required(),\n website: Yup.string(),\n companyNumber: Yup.string()\n })\n\n const fields = [\n {\n name: 'name',\n label: 'Full name',\n value: info.name ?? '',\n component: TextInput\n },\n {\n name: 'phone',\n label: 'Phone number',\n value: info.phone,\n component: TextInput\n },\n {\n name: 'email',\n label: 'Email',\n value: info.email ?? '',\n component: TextInput\n },\n {\n name: 'website',\n label: 'Website',\n value: info.website ?? '',\n component: TextInput\n },\n {\n name: 'companyNumber',\n label: 'Company number',\n value: info.companyNumber ?? '',\n component: TextInput\n }\n ]\n\n const findField = name => R.find(R.propEq('name', name))(fields)\n const findValue = name => findField(name).value\n\n const displayTextValue = value => value\n\n const form = {\n initialValues: {\n active: info.active,\n name: findValue('name'),\n phone: findValue('phone'),\n email: findValue('email'),\n website: findValue('website'),\n companyNumber: findValue('companyNumber')\n }\n }\n\n return (\n <>\n
\n

Contact information

\n
\n
\n

Info card enabled?

\n
\n \n save({\n active: event.target.checked\n })\n }\n />\n {info.active ? 'Yes' : 'No'}\n
\n
\n
\n
\n

Info card

\n {!editing && (\n setEditing(true)}>\n \n \n )}\n
\n save(validationSchema.cast(values))}\n onReset={() => {\n setEditing(false)\n setError(null)\n }}>\n
\n \n
\n setError(null)}\n />\n setError(null)}\n />\n
\n
\n setError(null)}\n />\n setError(null)}\n />\n
\n
\n setError(null)}\n />\n
\n
\n {editing && (\n <>\n \n Save\n \n \n Cancel\n \n {error && (\n \n Failed to save changes\n \n )}\n \n )}\n
\n \n \n
\n {!wizard && (\n
\n \n \n Sharing your information with your customers through your machines\n allows them to contact you in case there's a problem with a machine\n in your network or a transaction.\n \n
\n )}\n \n )\n}\n\nexport default ContactInfo\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/table/false\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\",\n stroke: \"#FF584A\",\n strokeWidth: 4\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.5,\n y1: 0.5,\n x2: 0.995667,\n y2: 13.004333,\n id: \"Line-7\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.5,\n y1: 0.5,\n x2: 0.995667,\n y2: 13.004333,\n id: \"Line-7\",\n transform: \"translate(7.000000, 7.000000) scale(-1, 1) translate(-7.000000, -7.000000) \"\n})));\n\nfunction SvgFalse(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"14px\",\n height: \"14px\",\n viewBox: \"0 0 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFalse);\nexport default __webpack_public_path__ + \"static/media/false.7f926859.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/table/true\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.17451294,13.3251347 L0.599425104,9.29667256 C-0.199808368,8.3960844 -0.199808368,6.94040225 0.599425104,6.03981409 C1.39865858,5.13922593 2.69051421,5.13922593 3.48974768,6.03981409 L5.61967423,8.439847 L12.5102523,0.675441122 C13.3094858,-0.225147041 14.6033855,-0.225147041 15.4005749,0.675441122 C16.1998084,1.57372599 16.1998084,3.03171143 15.4005749,3.93229959 L7.06483552,13.3251347 C6.66624082,13.7742771 6.14295752,14 5.61967423,14 C5.09639093,14 4.57310763,13.7742771 4.17451294,13.3251347 Z\",\n id: \"Fill-1\",\n fill: \"#48F694\"\n}));\n\nfunction SvgTrue(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"16px\",\n height: \"14px\",\n viewBox: \"0 0 16 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrue);\nexport default __webpack_public_path__ + \"static/media/true.8e532da3.svg\";\nexport { ForwardRef as ReactComponent };","import baseStyles from 'src/pages/Logs.styles'\nimport { backgroundColor, zircon } from 'src/styling/variables'\n\nconst { fillColumn } = baseStyles\n\nconst booleanPropertiesTableStyles = {\n booleanPropertiesTableWrapper: {\n display: 'flex',\n flexDirection: 'column',\n width: 396\n },\n tableRow: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n '&:nth-child(even)': {\n backgroundColor: backgroundColor\n },\n '&:nth-child(odd)': {\n backgroundColor: zircon\n },\n minHeight: 32,\n height: 'auto',\n padding: [[8, 16, 8, 24]],\n boxShadow: '0 0 0 0 rgba(0, 0, 0, 0)'\n },\n leftTableCell: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'left',\n width: 200,\n padding: [0]\n },\n rightTableCell: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'right',\n padding: [0]\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 12px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n rightAligned: {\n marginLeft: 'auto'\n },\n radioButtons: {\n display: 'flex',\n flexDirection: 'row',\n margin: [-15]\n },\n rightLink: {\n marginLeft: '20px'\n },\n fillColumn,\n popoverContent: {\n width: 272,\n padding: [[10, 15]]\n }\n}\n\nexport { booleanPropertiesTableStyles }\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport { useFormikContext, Form, Formik, Field as FormikField } from 'formik'\nimport _ from 'lodash'\nimport React, { useState, memo } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Link, IconButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs/formik'\nimport { Table, TableBody, TableRow, TableCell } from 'src/components/table'\nimport { H4 } from 'src/components/typography'\nimport { ReactComponent as EditIconDisabled } from 'src/styling/icons/action/edit/disabled.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { ReactComponent as FalseIcon } from 'src/styling/icons/table/false.svg'\nimport { ReactComponent as TrueIcon } from 'src/styling/icons/table/true.svg'\n\nimport { booleanPropertiesTableStyles } from './BooleanPropertiesTable.styles'\n\nconst useStyles = makeStyles(booleanPropertiesTableStyles)\n\nconst BooleanCell = ({ name }) => {\n const { values } = useFormikContext()\n return values[name] === 'true' ? : \n}\n\nconst BooleanPropertiesTable = memo(\n ({ title, disabled, data, elements, save, forcedEditing = false }) => {\n const initialValues = _.fromPairs(elements.map(it => [it.name, '']))\n const schemaValidation = _.fromPairs(\n elements.map(it => [it.name, Yup.boolean().required()])\n )\n\n const [editing, setEditing] = useState(forcedEditing)\n\n const classes = useStyles()\n\n const innerSave = async value => {\n save(value)\n setEditing(false)\n }\n\n const innerCancel = () => setEditing(false)\n\n const radioButtonOptions = [\n { display: 'Yes', code: 'true' },\n { display: 'No', code: 'false' }\n ]\n\n return (\n
\n \n
\n
\n

{title}

\n {editing ? (\n
\n \n Save\n \n \n Cancel\n \n
\n ) : (\n setEditing(true)}>\n {disabled ? : }\n \n )}\n
\n \n \n \n {elements.map((it, idx) => (\n \n \n {it.display}\n \n \n {editing && (\n \n )}\n {!editing && }\n \n \n ))}\n \n
\n \n \n
\n )\n }\n)\n\nexport default BooleanPropertiesTable\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport { BooleanPropertiesTable } from 'src/components/booleanPropertiesTable'\nimport { Switch } from 'src/components/inputs'\nimport { H4, P, Label2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport { mainStyles } from './ReceiptPrinting.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst ReceiptPrinting = memo(({ wizard }) => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_CONFIG)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: () => ['getData']\n })\n\n const save = it =>\n saveConfig({\n variables: { config: toNamespace(namespaces.RECEIPT, it) }\n })\n\n const receiptPrintingConfig =\n data?.config && fromNamespace(namespaces.RECEIPT, data.config)\n if (!receiptPrintingConfig) return null\n\n return (\n <>\n
\n

Receipt options

\n
\n
\n

Enable receipt printing?

\n
\n \n saveConfig({\n variables: {\n config: toNamespace(\n namespaces.RECEIPT,\n R.merge(receiptPrintingConfig, {\n active: event.target.checked\n })\n )\n }\n })\n }\n />\n
\n {receiptPrintingConfig.active ? 'Yes' : 'No'}\n
\n \n \n )\n})\n\nexport default ReceiptPrinting\n","const mainStyles = {\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n switchWrapper: {\n display: 'flex',\n marginLeft: 120\n }\n}\n\nexport { mainStyles }\n","import ReceiptPrinting from './ReceiptPrinting'\n\nexport default ReceiptPrinting\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Form, Formik, Field as FormikField } from 'formik'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Link, IconButton } from 'src/components/buttons'\nimport { Switch } from 'src/components/inputs'\nimport { TextInput } from 'src/components/inputs/formik'\nimport { H4, Info2, Info3, Label2, Label3 } from 'src/components/typography'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport {\n styles as globalStyles,\n termsConditionsStyles,\n fieldStyles\n} from './OperatorInfo.styles'\n\nconst useFieldStyles = makeStyles(fieldStyles)\n\nconst Field = ({\n editing,\n name,\n width,\n placeholder,\n label,\n value,\n multiline = false,\n rows,\n onFocus,\n ...props\n}) => {\n const classes = useFieldStyles()\n\n const classNames = {\n [classes.field]: true,\n [classes.notEditing]: !editing,\n [classes.notEditingSingleLine]: !editing && !multiline,\n [classes.notEditingMultiline]: !editing && multiline\n }\n\n return (\n
\n {!editing && (\n <>\n {label}\n {value}\n \n )}\n {editing && (\n \n )}\n
\n )\n}\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst styles = R.merge(globalStyles, termsConditionsStyles)\n\nconst useTermsConditionsStyles = makeStyles(styles)\n\nconst TermsConditions = () => {\n const [error, setError] = useState(null)\n const [editing, setEditing] = useState(false)\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: () => {\n setError(null)\n setEditing(false)\n },\n refetchQueries: () => ['getData'],\n onError: e => setError(e)\n })\n\n const classes = useTermsConditionsStyles()\n\n const { data } = useQuery(GET_CONFIG)\n\n const termsAndConditions =\n data?.config && fromNamespace(namespaces.TERMS_CONDITIONS, data.config)\n const formData = termsAndConditions ?? {}\n const showOnScreen = termsAndConditions?.active ?? false\n\n const save = it =>\n saveConfig({\n variables: { config: toNamespace(namespaces.TERMS_CONDITIONS, it) }\n })\n\n const fields = [\n {\n name: 'title',\n label: 'Screen title',\n value: formData.title ?? '',\n width: 282\n },\n {\n name: 'text',\n label: 'Text content',\n value: formData.text ?? '',\n width: 502,\n multiline: true,\n rows: 6\n },\n {\n name: 'acceptButtonText',\n label: 'Accept button text',\n value: formData.acceptButtonText ?? '',\n placeholder: 'I accept',\n width: 282\n },\n {\n name: 'cancelButtonText',\n label: 'Cancel button text',\n value: formData.cancelButtonText ?? '',\n placeholder: 'Cancel',\n width: 282\n }\n ]\n\n const findField = name => R.find(R.propEq('name', name))(fields)\n const findValue = name => findField(name).value\n\n const initialValues = {\n title: findValue('title'),\n text: findValue('text'),\n acceptButtonText: findValue('acceptButtonText'),\n cancelButtonText: findValue('cancelButtonText')\n }\n\n const validationSchema = Yup.object().shape({\n title: Yup.string()\n .required()\n .max(50, 'Too long'),\n text: Yup.string().required(),\n acceptButtonText: Yup.string()\n .required()\n .max(50, 'Too long'),\n cancelButtonText: Yup.string()\n .required()\n .max(50, 'Too long')\n })\n\n return (\n <>\n
\n

Terms & Conditions

\n
\n
\n
\n Show on screen\n \n save({\n active: event.target.checked\n })\n }\n />\n {showOnScreen ? 'Yes' : 'No'}\n
\n
\n Info card\n {!editing && (\n setEditing(true)}>\n \n \n )}\n
\n save(values)}\n onReset={() => {\n setEditing(false)\n setError(null)\n }}>\n
\n \n {fields.map((f, idx) => (\n
\n setError(null)}\n />\n
\n ))}\n
\n {editing && (\n <>\n \n Save\n \n \n Cancel\n \n {error && (\n \n Failed to save changes\n \n )}\n \n )}\n
\n \n \n
\n \n )\n}\n\nexport default TermsConditions\n","import { makeStyles } from '@material-ui/core'\nimport Chip from '@material-ui/core/Chip'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport {\n secondaryColorLighter,\n secondaryColorDarker,\n offErrorColor,\n errorColor,\n offColor,\n inputFontWeight,\n smallestFontSize,\n inputFontFamily,\n spacer\n} from 'src/styling/variables'\nimport { onlyFirstToUpper } from 'src/utils/string'\n\nimport typographyStyles from './typography/styles'\nconst { label1 } = typographyStyles\n\nconst colors = {\n running: secondaryColorDarker,\n notRunning: offErrorColor\n}\n\nconst backgroundColors = {\n running: secondaryColorLighter,\n notRunning: errorColor\n}\n\nconst styles = {\n uptimeContainer: {\n display: 'inline-block',\n minWidth: 104,\n margin: [[0, 20]]\n },\n name: {\n extend: label1,\n paddingLeft: 4,\n color: offColor\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst useChipStyles = makeStyles({\n root: {\n borderRadius: spacer / 2,\n marginTop: spacer / 2,\n marginRight: spacer / 4,\n marginBottom: spacer / 2,\n marginLeft: spacer / 4,\n height: spacer * 3,\n backgroundColor: ({ type }) => backgroundColors[type]\n },\n label: {\n fontSize: smallestFontSize,\n fontWeight: inputFontWeight,\n fontFamily: inputFontFamily,\n padding: [[spacer / 2, spacer]],\n color: ({ type }) => colors[type]\n }\n})\n\nconst Uptime = ({ process, ...props }) => {\n const classes = useStyles()\n\n const uptime = time => {\n if (time < 60) return `${time}s`\n if (time < 3600) return `${Math.floor(time / 60)}m`\n if (time < 86400) return `${Math.floor(time / 60 / 60)}h`\n return `${Math.floor(time / 60 / 60 / 24)}d`\n }\n\n return (\n
\n
{R.toLower(process.name)}
\n \n
\n )\n}\n\nexport default Uptime\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState, useRef } from 'react'\n\nimport LogsDowloaderPopover from 'src/components/LogsDownloaderPopper'\nimport Title from 'src/components/Title'\nimport Uptime from 'src/components/Uptime'\nimport { Select } from 'src/components/inputs'\nimport {\n Table,\n TableHead,\n TableRow,\n TableHeader,\n TableBody,\n TableCell\n} from 'src/components/table'\nimport { Info3 } from 'src/components/typography'\nimport typographyStyles from 'src/components/typography/styles'\nimport { offColor } from 'src/styling/variables'\n\nimport logsStyles from './Logs.styles'\n\nconst { p } = typographyStyles\nconst { tableWrapper } = logsStyles\n\nconst localStyles = {\n serverTableWrapper: {\n extend: tableWrapper,\n maxWidth: '100%',\n marginLeft: 0\n },\n serverVersion: {\n extend: p,\n color: offColor,\n margin: 'auto 0 auto 0'\n },\n headerLine2: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: 24\n },\n uptimeContainer: {\n margin: 'auto 0 auto 0'\n }\n}\n\nconst styles = R.merge(logsStyles, localStyles)\n\nconst useStyles = makeStyles(styles)\n\nconst SHOW_ALL = 'Show all'\n\nconst formatDate = date => {\n return moment(date).format('YYYY-MM-DD HH:mm')\n}\n\nconst NUM_LOG_RESULTS = 500\n\nconst GET_CSV = gql`\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverLogsCsv(limit: $limit, from: $from, until: $until)\n }\n`\n\nconst GET_DATA = gql`\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverVersion\n uptime {\n name\n state\n uptime\n }\n serverLogs(limit: $limit, from: $from, until: $until) {\n logLevel\n id\n timestamp\n message\n }\n }\n`\n\nconst Logs = () => {\n const classes = useStyles()\n\n const tableEl = useRef()\n\n const [saveMessage, setSaveMessage] = useState(null)\n const [logLevel, setLogLevel] = useState(SHOW_ALL)\n\n const { data } = useQuery(GET_DATA, {\n onCompleted: () => setSaveMessage(''),\n variables: {\n limit: NUM_LOG_RESULTS\n }\n })\n\n const serverVersion = data?.serverVersion\n const processStates = data?.uptime ?? []\n\n const getLogLevels = R.compose(\n R.prepend(SHOW_ALL),\n R.uniq,\n R.concat(['error', 'info', 'debug']),\n R.map(R.path(['logLevel'])),\n R.path(['serverLogs'])\n )\n\n const handleLogLevelChange = logLevel => {\n if (tableEl.current) tableEl.current.scrollTo(0, 0)\n\n setLogLevel(logLevel)\n }\n\n return (\n <>\n
\n
\n Server\n {data && (\n
\n R.path(['serverLogsCsv'])(logs)}\n />\n {saveMessage}\n
\n )}\n
\n
\n {serverVersion && Server version: v{serverVersion}}\n
\n
\n
\n {data && (\n \n )}\n
\n {processStates &&\n processStates.map((process, idx) => (\n \n ))}\n
\n
\n
\n
\n \n \n \n Date\n Level\n \n \n \n \n {data &&\n data.serverLogs\n .filter(\n log => logLevel === SHOW_ALL || log.logLevel === logLevel\n )\n .map((log, idx) => (\n \n {formatDate(log.timestamp)}\n {log.logLevel}\n {log.message}\n \n ))}\n \n
\n
\n
\n \n )\n}\n\nexport default Logs\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/edit/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n points: \"6 12 17 1 21 5 10 16 6 16\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.5f161f2c.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport { offColor } from 'src/styling/variables'\n\nconst { label1, p } = typographyStyles\n\nexport default {\n tr: ({ height }) => ({\n margin: 0,\n height\n }),\n table: ({ width }) => ({\n width\n }),\n head: {\n display: 'flex',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingRight: 12\n },\n button: {\n marginBottom: 1\n },\n itemWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: 16,\n minHeight: 35\n },\n label: {\n extend: label1,\n color: offColor,\n marginBottom: 4\n },\n item: {\n extend: p,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { IconButton } from 'src/components/buttons'\nimport {\n Table,\n THead,\n TBody,\n Td,\n Th,\n Tr\n} from 'src/components/fake-table/Table'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/white.svg'\n\nimport styles from './SingleRowTable.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst SingleRowTable = ({\n width = 378,\n height = 128,\n title,\n items,\n onEdit,\n className\n}) => {\n const classes = useStyles({ width, height })\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n
\n {title}\n \n \n \n
\n {items && (\n <>\n {items[0] && (\n
\n
{items[0].label}
\n
{items[0].value}
\n
\n )}\n {items[1] && (\n
\n
{items[1].label}
\n
{items[1].value}
\n
\n )}\n \n )}\n
\n \n )\n}\n\nexport default SingleRowTable\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles, Grid } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport SingleRowTable from 'src/components/single-row-table/SingleRowTable'\nimport { formatLong } from 'src/utils/string'\n\nimport FormRenderer from './FormRenderer'\nimport schemas from './schemas'\n\nconst GET_INFO = gql`\n query getData {\n accounts\n }\n`\n\nconst SAVE_ACCOUNT = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst styles = {\n wrapper: {\n // widths + spacing is a little over 1200 on the design\n // this adjusts the margin after a small reduction on card size\n marginLeft: 1\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Services = () => {\n const [editingSchema, setEditingSchema] = useState(null)\n\n const { data } = useQuery(GET_INFO)\n const [saveAccount] = useMutation(SAVE_ACCOUNT, {\n onCompleted: () => setEditingSchema(null),\n refetchQueries: ['getData']\n })\n\n const classes = useStyles()\n\n const accounts = data?.accounts ?? {}\n\n const getItems = (code, elements) => {\n const faceElements = R.filter(R.prop('face'))(elements)\n const values = accounts[code] || {}\n return R.map(({ display, code, long }) => ({\n label: display,\n value: long ? formatLong(values[code]) : values[code]\n }))(faceElements)\n }\n\n return (\n
\n \n \n {R.values(schemas).map(schema => (\n \n setEditingSchema(schema)}\n items={getItems(schema.code, schema.elements)}\n />\n \n ))}\n \n {editingSchema && (\n setEditingSchema(null)}\n open={true}>\n \n saveAccount({\n variables: { accounts: { [editingSchema.code]: it } }\n })\n }\n elements={editingSchema.elements}\n validationSchema={editingSchema.validationSchema}\n value={accounts[editingSchema.code]}\n />\n \n )}\n
\n )\n}\n\nexport default Services\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/card/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6,\n points: \"0 16 22 16 22 0 0 0\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 4,\n x2: 18.8571429,\n y2: 4,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 7.2,\n x2: 18.8571429,\n y2: 7.2,\n id: \"Stroke-4\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-5\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6,\n points: \"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.aa3a2aa4.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/phone/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z\",\n id: \"Stroke-1-Copy\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.d630943a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/phone/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z\",\n id: \"Stroke-1-Copy\",\n stroke: \"#1B2559\",\n strokeWidth: 1.6\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.d95e9bb2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/photo/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.024587b7.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/photo/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 1.6\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.4467d30c.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport { offColor } from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nexport default {\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: 24\n },\n row: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 36\n },\n secondRow: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginBottom: 36\n },\n lastRow: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 32\n },\n label: {\n color: offColor,\n margin: [[0, 0, 6, 0]]\n },\n txIcon: {\n marginRight: 10\n },\n popover: {\n height: 164,\n width: 215\n },\n idButton: {\n marginRight: 4\n },\n idCardDataCard: {\n extend: p,\n display: 'flex',\n padding: [[11, 8]],\n // rework this into a proper component\n '& > div': {\n display: 'flex',\n flexDirection: 'column',\n '& > div': {\n width: 144,\n height: 37,\n marginBottom: 15,\n '&:last-child': {\n marginBottom: 0\n }\n }\n }\n },\n bold: {\n fontWeight: 700\n },\n direction: {\n width: 233\n },\n availableIds: {\n width: 232\n },\n exchangeRate: {\n width: 250\n },\n commission: {\n width: 217\n },\n address: {\n width: 280\n },\n transactionId: {\n width: 280\n },\n sessionId: {\n width: 215\n }\n}\n","const getCashOutStatus = it => {\n if (it.hasError) return 'Error'\n if (it.dispense) return 'Success'\n if (it.expired) return 'Expired'\n return 'Pending'\n}\n\nconst getCashInStatus = it => {\n if (it.operatorCompleted) return 'Cancelled'\n if (it.hasError) return 'Error'\n if (it.sendConfirmed) return 'Sent'\n if (it.expired) return 'Expired'\n return 'Pending'\n}\n\nconst getStatus = it => {\n if (it.txClass === 'cashOut') {\n return getCashOutStatus(it)\n }\n return getCashInStatus(it)\n}\n\nexport { getStatus }\n","import { makeStyles, Box } from '@material-ui/core'\nimport BigNumber from 'bignumber.js'\nimport moment from 'moment'\nimport React, { memo } from 'react'\n\nimport { IDButton } from 'src/components/buttons'\nimport { Label1 } from 'src/components/typography'\nimport { ReactComponent as CardIdInverseIcon } from 'src/styling/icons/ID/card/white.svg'\nimport { ReactComponent as CardIdIcon } from 'src/styling/icons/ID/card/zodiac.svg'\nimport { ReactComponent as PhoneIdInverseIcon } from 'src/styling/icons/ID/phone/white.svg'\nimport { ReactComponent as PhoneIdIcon } from 'src/styling/icons/ID/phone/zodiac.svg'\nimport { ReactComponent as CamIdInverseIcon } from 'src/styling/icons/ID/photo/white.svg'\nimport { ReactComponent as CamIdIcon } from 'src/styling/icons/ID/photo/zodiac.svg'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { URI } from 'src/utils/apollo'\nimport { toUnit, formatCryptoAddress } from 'src/utils/coin'\nimport { onlyFirstToUpper } from 'src/utils/string'\n\nimport CopyToClipboard from './CopyToClipboard'\nimport styles from './DetailsCard.styles'\nimport { getStatus } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst formatAddress = (cryptoCode = '', address = '') =>\n formatCryptoAddress(cryptoCode, address).replace(/(.{5})/g, '$1 ')\n\nconst Label = ({ children }) => {\n const classes = useStyles()\n return {children}\n}\n\nconst DetailsRow = ({ it: tx }) => {\n const classes = useStyles()\n\n const fiat = Number.parseFloat(tx.fiat)\n const crypto = toUnit(new BigNumber(tx.cryptoAtoms), tx.cryptoCode)\n const commissionPercentage = Number.parseFloat(tx.commissionPercentage, 2)\n const commission = Number(fiat * commissionPercentage).toFixed(2)\n const exchangeRate = Number(fiat / crypto).toFixed(3)\n const displayExRate = `1 ${tx.cryptoCode} = ${exchangeRate} ${tx.fiatCode}`\n\n const customer = tx.customerIdCardData && {\n name: `${onlyFirstToUpper(\n tx.customerIdCardData.firstName\n )} ${onlyFirstToUpper(tx.customerIdCardData.lastName)}`,\n age: moment().diff(moment(tx.customerIdCardData.dateOfBirth), 'years'),\n country: tx.customerIdCardData.country,\n idCardNumber: tx.customerIdCardData.documentNumber,\n idCardExpirationDate: moment(tx.customerIdCardData.expirationDate).format(\n 'DD-MM-YYYY'\n )\n }\n\n return (\n
\n
\n
\n \n
\n \n {tx.txClass === 'cashOut' ? : }\n \n {tx.txClass === 'cashOut' ? 'Cash-out' : 'Cash-in'}\n
\n
\n\n
\n \n \n {tx.customerPhone && (\n \n {tx.customerPhone}\n \n )}\n {tx.customerIdCardPhotoPath && !tx.customerIdCardData && (\n \n \n \n )}\n {tx.customerIdCardData && (\n \n
\n
\n
\n \n
{customer.name}
\n
\n
\n \n
{customer.age}
\n
\n
\n \n
{customer.country}
\n
\n
\n
\n
\n \n
{customer.idCardNumber}
\n
\n
\n \n
{customer.idCardExpirationDate}
\n
\n
\n
\n \n )}\n {tx.customerFrontCameraPath && (\n \n \n \n )}\n
\n
\n
\n \n
{crypto > 0 ? displayExRate : '-'}
\n
\n
\n \n
\n {`${commission} ${tx.fiatCode} (${commissionPercentage * 100} %)`}\n
\n
\n
\n \n
\n {tx.txClass === 'cashIn'\n ? `${Number.parseFloat(tx.cashInFee)} ${tx.fiatCode}`\n : 'N/A'}\n
\n
\n
\n
\n
\n \n
\n \n {formatAddress(tx.cryptoCode, tx.toAddress)}\n \n
\n
\n
\n \n
\n {tx.txClass === 'cashOut' ? (\n 'N/A'\n ) : (\n {tx.txHash}\n )}\n
\n
\n
\n \n {tx.id}\n
\n
\n
\n
\n \n {getStatus(tx)}\n
\n
\n
\n )\n}\n\nexport default memo(DetailsRow, (prev, next) => prev.id === next.id)\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport BigNumber from 'bignumber.js'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport LogsDowloaderPopover from 'src/components/LogsDownloaderPopper'\nimport Title from 'src/components/Title'\nimport DataTable from 'src/components/tables/DataTable'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { toUnit, formatCryptoAddress } from 'src/utils/coin'\n\nimport DetailsRow from './DetailsCard'\nimport { mainStyles } from './Transactions.styles'\nimport { getStatus } from './helper'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst NUM_LOG_RESULTS = 1000\n\nconst GET_TRANSACTIONS_CSV = gql`\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactionsCsv(limit: $limit, from: $from, until: $until)\n }\n`\n\nconst GET_TRANSACTIONS = gql`\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactions(limit: $limit, from: $from, until: $until) {\n id\n txClass\n txHash\n toAddress\n commissionPercentage\n expired\n machineName\n operatorCompleted\n sendConfirmed\n dispense\n hasError: error\n deviceId\n fiat\n cashInFee\n fiatCode\n cryptoAtoms\n cryptoCode\n toAddress\n created\n customerName\n customerIdCardData\n customerIdCardPhotoPath\n customerFrontCameraPath\n customerPhone\n }\n }\n`\n\nconst Transactions = () => {\n const classes = useStyles()\n\n const { data: txResponse, loading } = useQuery(GET_TRANSACTIONS, {\n variables: {\n limit: NUM_LOG_RESULTS\n }\n })\n\n const formatCustomerName = customer => {\n const { firstName, lastName } = customer\n\n return `${R.o(R.toUpper, R.head)(firstName)}. ${lastName}`\n }\n\n const getCustomerDisplayName = tx => {\n if (tx.customerName) return tx.customerName\n if (tx.customerIdCardData) return formatCustomerName(tx.customerIdCardData)\n return tx.customerPhone\n }\n\n const elements = [\n {\n header: '',\n width: 62,\n size: 'sm',\n view: it => (it.txClass === 'cashOut' ? : )\n },\n {\n header: 'Machine',\n name: 'machineName',\n width: 180,\n size: 'sm',\n view: R.path(['machineName'])\n },\n {\n header: 'Customer',\n width: 162,\n size: 'sm',\n view: getCustomerDisplayName\n },\n {\n header: 'Cash',\n width: 144,\n textAlign: 'right',\n size: 'sm',\n view: it => `${Number.parseFloat(it.fiat)} ${it.fiatCode}`\n },\n {\n header: 'Crypto',\n width: 144,\n textAlign: 'right',\n size: 'sm',\n view: it =>\n `${toUnit(new BigNumber(it.cryptoAtoms), it.cryptoCode).toFormat(5)} ${\n it.cryptoCode\n }`\n },\n {\n header: 'Address',\n view: it => formatCryptoAddress(it.cryptoCode, it.toAddress),\n className: classes.overflowTd,\n size: 'sm',\n width: 140\n },\n {\n header: 'Date (UTC)',\n view: it => moment.utc(it.created).format('YYYY-MM-DD HH:mm:ss'),\n textAlign: 'right',\n size: 'sm',\n width: 200\n },\n {\n header: 'Status',\n view: it => getStatus(it),\n size: 'sm',\n width: 80\n }\n ]\n\n return (\n <>\n
\n
\n Transactions\n {txResponse && (\n
\n R.path(['transactionsCsv'])(logs)}\n />\n
\n )}\n
\n
\n
\n \n Cash-out\n
\n
\n \n Cash-in\n
\n
\n
\n \n \n )\n}\n\nexport default Transactions\n","import { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Field, useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\nimport * as Yup from 'yup'\n\nimport { TextInput, RadioGroup } from 'src/components/inputs/formik'\nimport { H4, Label2, Label1, Info2 } from 'src/components/typography'\nimport { errorColor } from 'src/styling/variables'\n// import { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\n// import { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\n\nconst useStyles = makeStyles({\n radioLabel: {\n height: 40,\n padding: [[0, 10]]\n },\n radio: {\n padding: 4,\n margin: 4\n },\n radioGroup: {\n flexDirection: 'row'\n },\n error: {\n color: errorColor\n },\n specialLabel: {\n height: 40,\n padding: 0\n },\n specialGrid: {\n display: 'grid',\n gridTemplateColumns: [[182, 162, 141]]\n },\n directionIcon: {\n marginRight: 2\n },\n directionName: {\n marginLeft: 6\n },\n thresholdWrapper: {\n display: 'flex'\n },\n thresholdField: {\n margin: 10,\n width: 208\n },\n space: {\n marginLeft: 6,\n marginRight: 6\n },\n lastSpace: {\n marginLeft: 6\n },\n suspensionDays: {\n width: 34\n },\n input: {\n marginTop: -2\n },\n limitedInput: {\n width: 50\n },\n daysInput: {\n width: 60\n }\n})\n\n// const direction = Yup.string().required()\nconst triggerType = Yup.string().required()\nconst threshold = Yup.object().shape({\n threshold: Yup.number(),\n thresholdDays: Yup.number().test({\n test(val) {\n const { triggerType } = this.parent\n const requireThrehsold = ['txVolume', 'txVelocity']\n\n if (R.isEmpty(val) && R.includes(triggerType, requireThrehsold)) {\n return this.createError()\n }\n\n return true\n }\n })\n})\n\nconst requirement = Yup.object().shape({\n requirement: Yup.string().required(),\n suspensionDays: Yup.number().when('requirement', {\n is: 'suspend',\n then: Yup.number().required(),\n otherwise: Yup.number()\n .nullable()\n .transform(() => null)\n })\n})\n\nconst Schema = Yup.object().shape({\n triggerType,\n requirement,\n threshold\n // direction\n})\n\n// Direction V2 only\n// const directionSchema = Yup.object().shape({ direction })\n\n// const directionOptions = [\n// {\n// display: 'Both',\n// code: 'both'\n// },\n// {\n// display: 'Only cash-in',\n// code: 'cashIn'\n// },\n// {\n// display: 'Only cash-out',\n// code: 'cashOut'\n// }\n// ]\n\n// const directionOptions2 = [\n// {\n// display: (\n// <>\n// in\n// \n// ),\n// code: 'cashIn'\n// },\n// {\n// display: (\n// <>\n// out\n// \n// ),\n// code: 'cashOut'\n// },\n// {\n// display: (\n// <>\n// \n// \n// \n// \n// \n// \n// \n// \n// \n// ),\n// code: 'both'\n// }\n// ]\n\n// const Direction = () => {\n// const classes = useStyles()\n// const { errors } = useFormikContext()\n\n// const titleClass = {\n// [classes.error]: errors.direction\n// }\n\n// return (\n// <>\n// \n//

\n// In which type of transactions will it trigger?\n//

\n//
\n// \n// \n// )\n// }\n\n// const txDirection = {\n// schema: directionSchema,\n// options: directionOptions,\n// Component: Direction,\n// initialValues: { direction: '' }\n// }\n\n// TYPE\nconst typeSchema = Yup.object().shape({\n triggerType,\n threshold\n})\n\nconst typeOptions = [\n { display: 'Transaction amount', code: 'txAmount' },\n { display: 'Transaction volume', code: 'txVolume' },\n { display: 'Transaction velocity', code: 'txVelocity' },\n { display: 'Consecutive days', code: 'consecutiveDays' }\n]\n\nconst Type = () => {\n const classes = useStyles()\n const { errors, touched, values } = useFormikContext()\n\n const typeClass = {\n [classes.error]: errors.triggerType && touched.triggerType\n }\n\n const containsType = R.contains(values?.triggerType)\n const isThresholdEnabled = containsType([\n 'txAmount',\n 'txVolume',\n 'txVelocity'\n ])\n\n const isThresholdDaysEnabled = containsType([\n 'txVolume',\n 'txVelocity',\n 'consecutiveDays'\n ])\n\n return (\n <>\n \n

Choose trigger type

\n
\n \n\n
\n {isThresholdEnabled && (\n \n )}\n {isThresholdDaysEnabled && (\n \n )}\n
\n \n )\n}\n\nconst type = {\n schema: typeSchema,\n options: typeOptions,\n Component: Type,\n initialValues: { triggerType: '', threshold: '' }\n}\n\nconst requirementSchema = Yup.object().shape({\n requirement\n})\n\nconst requirementOptions = [\n { display: 'SMS verification', code: 'sms' },\n { display: 'ID card image', code: 'idCardPhoto' },\n { display: 'ID data', code: 'idCardData' },\n { display: 'Customer camera', code: 'facephoto' },\n { display: 'Sanctions', code: 'sanctions' },\n { display: 'US SSN', code: 'usSsn' },\n // { display: 'Super user', code: 'superuser' },\n { display: 'Suspend', code: 'suspend' },\n { display: 'Block', code: 'block' }\n]\n\nconst Requirement = () => {\n const classes = useStyles()\n const { errors, values } = useFormikContext()\n\n const titleClass = {\n [classes.error]: errors.requirement\n }\n\n const isSuspend = values?.requirement?.requirement === 'suspend'\n\n return (\n <>\n \n

Choose a requirement

\n
\n \n\n {isSuspend && (\n \n )}\n \n )\n}\n\nconst requirements = {\n schema: requirementSchema,\n options: requirementOptions,\n Component: Requirement,\n initialValues: { requirement: '' }\n}\n\nconst getView = (data, code, compare) => it => {\n if (!data) return ''\n\n return R.compose(R.prop(code), R.find(R.propEq(compare ?? 'code', it)))(data)\n}\n\n// const DirectionDisplay = ({ code }) => {\n// const classes = useStyles()\n// const displayName = getView(directionOptions, 'display')(code)\n// const showCashIn = code === 'cashIn' || code === 'both'\n// const showCashOut = code === 'cashOut' || code === 'both'\n\n// return (\n//
\n// {showCashOut && }\n// {showCashIn && }\n// {displayName}\n//
\n// )\n// }\n\nconst RequirementInput = () => {\n const { values } = useFormikContext()\n const classes = useStyles()\n\n const requirement = values?.requirement?.requirement\n const isSuspend = requirement === 'suspend'\n\n const display = getView(requirementOptions, 'display')(requirement)\n\n return (\n \n {`${display} ${isSuspend ? 'for' : ''}`}\n {isSuspend && (\n \n )}\n {isSuspend && 'days'}\n \n )\n}\n\nconst RequirementView = ({ requirement, suspensionDays }) => {\n const classes = useStyles()\n const display = getView(requirementOptions, 'display')(requirement)\n const isSuspend = requirement === 'suspend'\n\n return (\n \n {`${display} ${isSuspend ? 'for' : ''}`}\n {isSuspend && (\n \n {suspensionDays}\n \n )}\n {isSuspend && 'days'}\n \n )\n}\n\nconst DisplayThreshold = ({ config, currency, isEdit }) => {\n const classes = useStyles()\n\n const inputClasses = {\n [classes.input]: true,\n [classes.limitedInput]: config?.triggerType === 'txVelocity',\n [classes.daysInput]: config?.triggerType === 'consecutiveDays'\n }\n\n const threshold = config?.threshold?.threshold\n const thresholdDays = config?.threshold?.thresholdDays\n\n const Threshold = isEdit ? (\n \n ) : (\n {threshold}\n )\n const ThresholdDays = isEdit ? (\n \n ) : (\n {thresholdDays}\n )\n\n switch (config?.triggerType) {\n case 'txAmount':\n return (\n \n {Threshold}\n \n {currency}\n \n \n )\n case 'txVolume':\n return (\n \n {Threshold}\n \n {currency}\n \n \n in\n \n {ThresholdDays}\n \n days\n \n \n )\n case 'txVelocity':\n return (\n \n {Threshold}\n \n transactions in\n \n {ThresholdDays}\n \n days\n \n \n )\n case 'consecutiveDays':\n return (\n \n {ThresholdDays}\n \n days\n \n \n )\n default:\n return ''\n }\n}\n\nconst ThresholdInput = memo(({ currency }) => {\n const { values } = useFormikContext()\n\n return \n})\n\nconst ThresholdView = ({ config, currency }) => {\n return \n}\n\nconst getElements = (currency, classes) => [\n {\n name: 'triggerType',\n size: 'sm',\n width: 230,\n input: ({ field: { value: name } }) => (\n <>{getView(typeOptions, 'display')(name)}\n ),\n view: getView(typeOptions, 'display'),\n inputProps: {\n options: typeOptions,\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null\n }\n },\n {\n name: 'requirement',\n size: 'sm',\n width: 230,\n bypassField: true,\n input: RequirementInput,\n view: it => \n },\n {\n name: 'threshold',\n size: 'sm',\n width: 284,\n textAlign: 'right',\n input: () => ,\n view: (it, config) => \n }\n // {\n // name: 'direction',\n // size: 'sm',\n // width: 282,\n // view: it => ,\n // input: RadioGroup,\n // inputProps: {\n // labelClassName: classes.tableRadioLabel,\n // className: classes.tableRadioGroup,\n // options: directionOptions2\n // }\n // }\n]\n\nconst triggerOrder = R.map(R.prop('code'))(typeOptions)\nconst sortBy = [\n R.comparator(\n (a, b) =>\n triggerOrder.indexOf(a.triggerType) < triggerOrder.indexOf(b.triggerType)\n )\n]\n\nconst fromServer = triggers =>\n R.map(\n ({ requirement, suspensionDays, threshold, thresholdDays, ...rest }) => ({\n requirement: {\n requirement,\n suspensionDays\n },\n threshold: {\n threshold,\n thresholdDays\n },\n ...rest\n })\n )(triggers)\n\nconst toServer = triggers =>\n R.map(({ requirement, threshold, ...rest }) => ({\n requirement: requirement.requirement,\n suspensionDays: requirement.suspensionDays,\n threshold: threshold.threshold,\n thresholdDays: threshold.thresholdDays,\n ...rest\n }))(triggers)\n\nexport {\n Schema,\n getElements,\n // txDirection,\n type,\n requirements,\n sortBy,\n fromServer,\n toServer\n}\n","import { makeStyles } from '@material-ui/core'\nimport { Form, Formik, useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { useState, Fragment, useEffect } from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Modal from 'src/components/Modal'\nimport Stepper from 'src/components/Stepper'\nimport { Button } from 'src/components/buttons'\nimport { H5, Info3 } from 'src/components/typography'\nimport { comet } from 'src/styling/variables'\n\nimport { type, requirements } from './helper'\n\nconst LAST_STEP = 2\n\nconst styles = {\n stepper: {\n margin: [[16, 0, 14, 0]]\n },\n submit: {\n display: 'flex',\n flexDirection: 'row',\n margin: [['auto', 0, 24]]\n },\n button: {\n marginLeft: 'auto'\n },\n form: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n infoTitle: {\n margin: [[18, 0, 20, 0]]\n },\n infoCurrentText: {\n color: comet\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst getStep = step => {\n switch (step) {\n // case 1:\n // return txDirection\n case 1:\n return type\n case 2:\n return requirements\n default:\n return Fragment\n }\n}\n\nconst getText = (step, config, currency) => {\n switch (step) {\n // case 1:\n // return `In ${getDirectionText(config)} transactions`\n case 1:\n return `If the user ${getTypeText(config, currency)}`\n case 2:\n return `the user will be ${getRequirementText(config)}.`\n default:\n return ''\n }\n}\n\nconst orUnderline = value => {\n return R.isEmpty(value) || R.isNil(value) ? '⎼⎼⎼⎼⎼ ' : value\n}\n\n// const getDirectionText = config => {\n// switch (config.direction) {\n// case 'both':\n// return 'both cash-in and cash-out'\n// case 'cashIn':\n// return 'cash-in'\n// case 'cashOut':\n// return 'cash-out'\n// default:\n// return orUnderline(null)\n// }\n// }\n\nconst getTypeText = (config, currency) => {\n switch (config.triggerType) {\n case 'txAmount':\n return `makes a single transaction over ${orUnderline(\n config.threshold.threshold\n )} ${currency}`\n case 'txVolume':\n return `makes transactions over ${orUnderline(\n config.threshold.threshold\n )} ${currency} in ${orUnderline(config.threshold.thresholdDays)} days`\n case 'txVelocity':\n return `makes ${orUnderline(\n config.threshold.threshold\n )} transactions in ${orUnderline(config.threshold.thresholdDays)} days`\n case 'consecutiveDays':\n return `at least one transaction every day for ${orUnderline(\n config.threshold.thresholdDays\n )} days`\n default:\n return ''\n }\n}\n\nconst getRequirementText = config => {\n switch (config.requirement?.requirement) {\n case 'sms':\n return 'asked to enter code provided through SMS verification'\n case 'idCardPhoto':\n return 'asked to scan a ID with photo'\n case 'idCardData':\n return 'asked to scan a ID'\n case 'facephoto':\n return 'asked to have a photo taken'\n case 'usSsn':\n return 'asked to input his social security number'\n case 'sanctions':\n return 'matched against the OFAC sanctions list'\n case 'superuser':\n return ''\n case 'suspend':\n return `suspended for ${orUnderline(\n config.requirement.suspensionDays\n )} days`\n case 'block':\n return 'blocked'\n default:\n return orUnderline(null)\n }\n}\n\nconst InfoPanel = ({ step, config = {}, liveValues = {}, currency }) => {\n const classes = useStyles()\n\n const oldText = R.range(1, step)\n .map(it => getText(it, config, currency))\n .join(', ')\n const newText = getText(step, liveValues, currency)\n const isLastStep = step === LAST_STEP\n\n return (\n <>\n
Trigger overview so far
\n \n {oldText}\n {step !== 1 && ', '}\n {newText}\n {!isLastStep && '...'}\n \n \n )\n}\n\nconst GetValues = ({ setValues }) => {\n const { values } = useFormikContext()\n useEffect(() => {\n setValues && values && setValues(values)\n }, [setValues, values])\n\n return null\n}\n\nconst Wizard = ({ onClose, save, error, currency }) => {\n const classes = useStyles()\n\n const [liveValues, setLiveValues] = useState({})\n const [{ step, config }, setState] = useState({\n step: 1\n })\n\n const isLastStep = step === LAST_STEP\n const stepOptions = getStep(step)\n\n const onContinue = async it => {\n const newConfig = R.merge(config, stepOptions.schema.cast(it))\n\n if (isLastStep) {\n return save(newConfig)\n }\n\n setState({\n step: step + 1,\n config: newConfig\n })\n }\n\n return (\n <>\n \n }\n infoPanelHeight={172}\n open={true}>\n \n \n
\n \n \n
\n {error && Failed to save}\n \n
\n \n \n \n \n )\n}\n\nexport default Wizard\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles, Box } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\nimport { v4 } from 'uuid'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { Link, Button } from 'src/components/buttons'\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { Switch } from 'src/components/inputs'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { P, Label2, H2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport styles from './Triggers.styles'\nimport Wizard from './Wizard'\nimport { Schema, getElements, sortBy, fromServer, toServer } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n config\n }\n`\n\nconst Triggers = () => {\n const classes = useStyles()\n const [wizard, setWizard] = useState(false)\n\n const { data, loading } = useQuery(GET_INFO)\n const triggers = fromServer(data?.config?.triggers ?? [])\n\n const complianceConfig =\n data?.config && fromNamespace('compliance')(data.config)\n const rejectAddressReuse = complianceConfig?.rejectAddressReuse ?? false\n\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const add = rawConfig => {\n const toSave = R.concat([{ id: v4(), direction: 'both', ...rawConfig }])(\n triggers\n )\n return saveConfig({ variables: { config: { triggers: toServer(toSave) } } })\n }\n\n const addressReuseSave = rawConfig => {\n const config = toNamespace('compliance')(rawConfig)\n return saveConfig({ variables: { config } })\n }\n\n const save = config => {\n return saveConfig({\n variables: { config: { triggers: toServer(config.triggers) } }\n })\n }\n\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n return (\n <>\n \n \n \n

Reject reused addresses

\n {\n addressReuseSave({ rejectAddressReuse: event.target.checked })\n }}\n value={rejectAddressReuse}\n />\n \n {rejectAddressReuse ? 'On' : 'Off'}\n \n \n

\n This option requires a user to scan a different cryptocurrency\n address if they attempt to scan one that had been previously\n used for a transaction in your network\n

\n
\n
\n \n
\n \n {!loading && !R.isEmpty(triggers) && (\n setWizard(true)}>\n + Add new trigger\n \n )}\n \n \n {wizard && (\n setWizard(null)}\n />\n )}\n {!loading && R.isEmpty(triggers) && (\n \n

\n It seems there are no active compliance triggers on your network\n

\n \n
\n )}\n \n )\n}\n\nexport default Triggers\n","export default {\n switchLabel: {\n margin: 6,\n width: 24\n },\n tableRadioGroup: {\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n tableRadioLabel: {\n marginRight: 0\n },\n tableWidth: {\n width: 918\n }\n}\n","import Triggers from './Triggers'\n\nexport default Triggers\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport { NamespacedTable as EditableTable } from 'src/components/editableTable'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schemas from 'src/pages/Services/schemas'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport Wizard from './Wizard'\nimport { WalletSchema, getElements } from './helper'\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject, $accounts: JSONObject) {\n saveConfig(config: $config)\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst SAVE_ACCOUNT = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst Wallet = ({ name: SCREEN_KEY }) => {\n const [editingSchema, setEditingSchema] = useState(null)\n const [onChangeFunction, setOnChangeFunction] = useState(null)\n const [wizard, setWizard] = useState(false)\n const { data } = useQuery(GET_INFO)\n\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const [saveAccount] = useMutation(SAVE_ACCOUNT, {\n onCompleted: () => setEditingSchema(null),\n refetchQueries: () => ['getData']\n })\n\n const save = (rawConfig, accounts) => {\n const config = toNamespace(SCREEN_KEY)(rawConfig)\n return saveConfig({ variables: { config, accounts } })\n }\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const accountsConfig = data?.accountsConfig\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n const accounts = data?.accounts ?? []\n\n const onChange = (previous, current, setValue) => {\n if (!current) return setValue(current)\n\n if (!accounts[current] && schemas[current]) {\n setEditingSchema(schemas[current])\n setOnChangeFunction(() => () => setValue(current))\n return\n }\n\n setValue(current)\n }\n\n const shouldOverrideEdit = it => {\n const namespaced = fromNamespace(it)(config)\n return !WalletSchema.isValidSync(namespaced)\n }\n\n const wizardSave = it =>\n saveAccount({\n variables: { accounts: { [editingSchema.code]: it } }\n }).then(it => {\n onChangeFunction()\n setOnChangeFunction(null)\n return it\n })\n\n return (\n <>\n \n !WalletSchema.isValidSync(it)}\n enableEdit\n shouldOverrideEdit={shouldOverrideEdit}\n editOverride={setWizard}\n editWidth={174}\n save={save}\n validationSchema={WalletSchema}\n elements={getElements(cryptoCurrencies, accountsConfig, onChange)}\n />\n {wizard && (\n setWizard(false)}\n save={save}\n error={error?.message}\n cryptoCurrencies={cryptoCurrencies}\n userAccounts={data?.config?.accounts}\n accounts={accounts}\n accountsConfig={accountsConfig}\n />\n )}\n {editingSchema && (\n setEditingSchema(null)}\n open={true}>\n \n \n )}\n \n )\n}\n\nexport default Wallet\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport styles from 'src/pages/AddMachine/styles'\nimport { mainFields, defaults, schema } from 'src/pages/Commissions/helper'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_DATA = gql`\n query getData {\n config\n }\n`\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nfunction Commissions({ isActive, doContinue }) {\n const classes = useStyles()\n const { data } = useQuery(GET_DATA)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: doContinue\n })\n\n const save = it => {\n const config = toNamespace('commissions')(it.commissions[0])\n return saveConfig({ variables: { config } })\n }\n\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n return (\n
\n \n
\n \n
\n
\n )\n}\n\nexport default Commissions\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport styles from 'src/pages/AddMachine/styles'\nimport {\n mainFields,\n localeDefaults as defaults,\n LocaleSchema as schema\n} from 'src/pages/Locales/helper'\nimport { toNamespace } from 'src/utils/config'\n\nimport { getConfiguredCoins } from '../helper'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_DATA = gql`\n query getData {\n config\n accounts\n currencies {\n code\n display\n }\n countries {\n code\n display\n }\n cryptoCurrencies {\n code\n display\n }\n languages {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nfunction Locales({ isActive, doContinue }) {\n const classes = useStyles()\n const { data } = useQuery(GET_DATA)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: doContinue\n })\n\n const save = it => {\n const config = toNamespace('locale')(it.locale[0])\n return saveConfig({ variables: { config } })\n }\n\n const cryptoCurrencies = getConfiguredCoins(\n data?.config || {},\n data?.cryptoCurrencies || []\n )\n\n const onChangeCoin = (prev, curr, setValue) => setValue(curr)\n\n return (\n
\n \n
\n \n
\n
\n )\n}\n\nexport default Locales\n","import { Box, makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Label1 } from 'src/components/typography'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nconst useStyles = makeStyles({\n message: ({ width }) => ({\n width,\n marginTop: 4,\n marginLeft: 16\n })\n})\n\nconst InfoMessage = ({ children, width = 330, className }) => {\n const classes = useStyles({ width })\n\n return (\n \n \n {children}\n \n )\n}\n\nexport default InfoMessage\n","import { errorColor, spacer, primaryColor } from 'src/styling/variables'\n\nconst LABEL_WIDTH = 150\n\nexport default {\n radioGroup: {\n flexDirection: 'row',\n width: 600\n },\n radioLabel: {\n width: LABEL_WIDTH,\n height: 48\n },\n mdForm: {\n width: 385\n },\n infoMessage: {\n display: 'flex',\n marginBottom: 20,\n '& > p': {\n width: 330,\n marginTop: 4,\n marginLeft: 16\n }\n },\n actionButton: {\n marginBottom: spacer * 4\n },\n actionButtonLink: {\n textDecoration: 'none',\n color: primaryColor\n },\n error: {\n color: errorColor\n },\n button: {\n marginTop: spacer * 5\n },\n formButton: {\n margin: [[spacer * 3, 0, 0]]\n }\n}\n","import { useMutation, useQuery } from '@apollo/react-hooks'\nimport { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport gql from 'graphql-tag'\nimport React, { useState } from 'react'\n\nimport InfoMessage from 'src/components/InfoMessage'\nimport Tooltip from 'src/components/Tooltip'\nimport { Button, SupportLinkButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H1, H4, P } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport twilio from 'src/pages/Services/schemas/twilio'\n\nimport styles from './Wallet/Shared.styles'\n\nconst GET_CONFIG = gql`\n {\n config\n accounts\n }\n`\n\nconst SAVE_ACCOUNTS = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst useStyles = makeStyles({\n ...styles,\n content: {\n width: 820\n },\n radioLabel: {\n ...styles.radioLabel,\n width: 280\n },\n wrapper: {\n width: 1200,\n height: 100,\n margin: [[0, 'auto']]\n },\n title: {\n marginLeft: 8,\n marginBottom: 5\n },\n info: {\n marginTop: 20,\n marginBottom: 20\n }\n})\n\nconst options = [\n {\n code: 'enable',\n display: 'Yes, I will'\n },\n {\n code: 'disable',\n display: 'No, not for now'\n }\n]\n\nfunction Twilio({ doContinue }) {\n const classes = useStyles()\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const { data, refetch } = useQuery(GET_CONFIG)\n const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: doContinue\n })\n\n const accounts = data?.accounts ?? []\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n const clickContinue = () => {\n if (!selected) return setError(true)\n doContinue()\n }\n\n const save = twilio => {\n const accounts = { twilio }\n return saveAccounts({ variables: { accounts } }).then(() => refetch())\n }\n\n const titleClasses = {\n [classes.title]: true,\n [classes.error]: error\n }\n\n return (\n
\n
\n

Twilio (SMS service)

\n \n

\n Will you setup a two way machine or compliance?\n

\n \n

\n Two-way machines allow your customers not only to buy (cash-in)\n but also sell cryptocurrencies (cash-out).\n

\n

\n You’ll need an SMS service for cash-out transactions and for any\n compliance triggers\n

\n
\n
\n\n \n\n \n To set up Twilio please read the instructions from our support portal.\n \n \n\n {selected === 'enable' && (\n <>\n

Enter credentials

\n \n \n )}\n {selected !== 'enable' && (\n \n )}\n
\n
\n )\n}\n\nexport default Twilio\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { NamespacedTable as EditableTable } from 'src/components/editableTable'\nimport { P, H4 } from 'src/components/typography'\nimport { getElements, WalletSchema } from 'src/pages/Wallet/helper'\nimport { toNamespace, namespaces } from 'src/utils/config'\n\nimport styles from './Shared.styles'\n\nconst useStyles = makeStyles(styles)\nconst GET_INFO = gql`\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject, $accounts: JSONObject) {\n saveConfig(config: $config)\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst AllSet = ({ data: currentData, doContinue }) => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_INFO)\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: doContinue\n })\n\n const [error, setError] = useState(false)\n\n const coin = currentData?.coin\n\n const accountsConfig = data?.accountsConfig\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n\n const save = () => {\n if (!WalletSchema.isValidSync(currentData)) return setError(true)\n\n const withCoin = toNamespace(coin, R.omit('coin', currentData))\n const config = toNamespace(namespaces.WALLETS)(withCoin)\n setError(false)\n return saveConfig({ variables: { config } })\n }\n\n return (\n <>\n

All set

\n

\n These are your wallet settings. You can later edit these and add\n additional coins.\n

\n \n \n \n )\n}\n\nexport default AllSet\n","import { useMutation, useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport React, { useState } from 'react'\n\nimport { SupportLinkButton, Button } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { P, H4 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\n\nimport styles from './Shared.styles'\n\nconst useStyles = makeStyles({\n ...styles,\n radioGroup: styles.radioGroup,\n radioLabel: {\n ...styles.radioLabel,\n width: 200\n }\n})\n\nconst GET_CONFIG = gql`\n {\n accounts\n }\n`\nconst SAVE_ACCOUNTS = gql`\n mutation SaveAccountsBC($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst options = [\n {\n code: 'enable',\n display: 'I will enable cash-out'\n },\n {\n code: 'disable',\n display: \"I won't enable cash-out\"\n }\n]\n\nconst Blockcypher = ({ addData }) => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_CONFIG)\n const [saveConfig] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: () => addData({ zeroConf: 'blockcypher' })\n })\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n const save = blockcypher => {\n const accounts = { blockcypher }\n return saveConfig({ variables: { accounts } })\n }\n\n return (\n <>\n

Blockcypher

\n

\n If you are enabling cash-out services, create a Blockcypher account.\n

\n \n \n
\n {selected === 'disable' && (\n addData({ zeroConf: 'all-zero-conf' })}\n className={classes.button}>\n Continue\n \n )}\n {selected === 'enable' && (\n \n )}\n
\n \n )\n}\n\nexport default Blockcypher\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport { Formik, Form, Field } from 'formik'\nimport gql from 'graphql-tag'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Button } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs/formik'\nimport { H4 } from 'src/components/typography'\n\nimport styles from './Shared.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst schema = Yup.object().shape({\n coin: Yup.string().required()\n})\n\nconst ChooseCoin = ({ addData }) => {\n const classes = useStyles()\n const [error, setError] = useState(false)\n\n const { data } = useQuery(GET_CONFIG)\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n\n const onSubmit = it => {\n if (!schema.isValidSync(it)) return setError(true)\n\n if (it.coin !== 'BTC') {\n return addData({ coin: it.coin, zeroConf: 'all-zero-conf' })\n }\n\n addData(it)\n }\n\n return (\n <>\n

\n Choose your first cryptocurrency\n

\n\n \n
setError(false)}>\n \n \n {\n \n }\n \n \n \n )\n}\n\nexport default ChooseCoin\n","import * as R from 'ramda'\n\nimport schema from 'src/pages/Services/schemas'\nconst contains = crypto => R.compose(R.contains(crypto), R.prop('cryptos'))\nconst sameClass = type => R.propEq('class', type)\nconst filterConfig = (crypto, type) =>\n R.filter(it => sameClass(type)(it) && contains(crypto)(it))\nexport const getItems = (accountsConfig, accounts, type, crypto) => {\n const fConfig = filterConfig(crypto, type)(accountsConfig)\n const find = code => accounts && accounts[code]\n\n const [filled, unfilled] = R.partition(({ code }) => {\n const account = find(code)\n if (!schema[code]) return true\n\n const { validationSchema } = schema[code]\n return validationSchema.isValidSync(account)\n })(fConfig)\n\n return { filled, unfilled }\n}\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button, SupportLinkButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H4, Info3 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nimport styles from './Shared.styles'\nimport { getItems } from './getItems'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_ACCOUNTS = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst isConfigurable = it => R.contains(it)(['kraken', 'itbit', 'bitstamp'])\n\nconst ChooseExchange = ({ data: currentData, addData }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_CONFIG)\n const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: () => submit()\n })\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n const accountsConfig = data?.accountsConfig ?? []\n\n const coin = currentData.coin\n const exchanges = getItems(accountsConfig, accounts, 'exchange', coin)\n\n const submit = () => {\n if (!selected) return setError(true)\n addData({ exchange: selected })\n }\n\n const saveExchange = name => exchange => {\n const accounts = { [name]: exchange }\n return saveAccounts({ variables: { accounts } })\n }\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n const supportArticles = {\n kraken:\n 'https://support.lamassu.is/hc/en-us/articles/115001206891-Kraken-trading',\n itbit:\n 'https://support.lamassu.is/hc/en-us/articles/360026195032-itBit-trading',\n bitstamp:\n 'https://support.lamassu.is/hc/en-us/articles/115001206911-Bitstamp-trading'\n }\n\n return (\n
\n

Choose your exchange

\n \n {!isConfigurable(selected) && (\n \n )}\n {isConfigurable(selected) && (\n <>\n
\n \n \n Make sure you set up {schema[selected].name} to enter the\n necessary information below. Please follow the instructions on our\n support page if you haven’t.\n \n
\n \n\n

Enter exchange information

\n \n \n )}\n
\n )\n}\n\nexport default ChooseExchange\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H4 } from 'src/components/typography'\n\nimport styles from './Shared.styles'\nimport { getItems } from './getItems'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n accountsConfig {\n code\n display\n class\n cryptos\n }\n }\n`\n\nconst ChooseTicker = ({ data: currentData, addData }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_CONFIG)\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n const accountsConfig = data?.accountsConfig ?? []\n\n const coin = currentData.coin\n const tickers = getItems(accountsConfig, accounts, 'ticker', coin)\n\n const submit = () => {\n if (!selected) return setError(true)\n addData({ ticker: selected })\n }\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n return (\n
\n

Choose your ticker

\n \n \n
\n )\n}\n\nexport default ChooseTicker\n","import * as Yup from 'yup'\n\nimport {\n TextInput,\n SecretInput,\n Autocomplete\n} from 'src/components/inputs/formik'\n\nconst singleBitgo = code => ({\n code: 'bitgo',\n name: 'BitGo',\n title: 'BitGo (Wallet)',\n elements: [\n {\n code: 'token',\n display: 'API Token',\n component: TextInput,\n face: true,\n long: true\n },\n {\n code: 'environment',\n display: 'Environment',\n component: Autocomplete,\n inputProps: {\n options: ['prod', 'test']\n },\n face: true\n },\n {\n code: `${code}WalletId`,\n display: `${code} Wallet ID`,\n component: TextInput\n },\n {\n code: `${code}WalletPassphrase`,\n display: `${code} Wallet Passphrase`,\n component: SecretInput\n }\n ],\n validationSchema: Yup.object().shape({\n token: Yup.string()\n .max(100, 'Too long')\n .required(),\n environment: Yup.string()\n .matches(/(prod|test)/)\n .required(),\n [`${code}WalletId`]: Yup.string()\n .max(100, 'Too long')\n .required(),\n [`${code}WalletPassphrase`]: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n})\n\nexport default singleBitgo\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button, SupportLinkButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H4, Info3 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\nimport bitgo from 'src/pages/Services/schemas/singlebitgo'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nimport styles from './Shared.styles'\nimport { getItems } from './getItems'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_ACCOUNTS = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst isConfigurable = it => R.contains(it)(['infura', 'bitgo'])\n\nconst isLocalHosted = it =>\n R.contains(it)([\n 'bitcoind',\n 'geth',\n 'litecoind',\n 'dashd',\n 'zcashd',\n 'bitcoincashd'\n ])\n\nconst ChooseWallet = ({ data: currentData, addData }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_CONFIG)\n const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: () => submit()\n })\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n const accountsConfig = data?.accountsConfig ?? []\n\n const coin = currentData.coin\n const wallets = getItems(accountsConfig, accounts, 'wallet', coin)\n\n const saveWallet = name => wallet => {\n const accounts = { [name]: wallet }\n return saveAccounts({ variables: { accounts } })\n }\n\n const submit = () => {\n if (!selected) return setError(true)\n addData({ wallet: selected })\n }\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n return (\n
\n

Choose your wallet

\n \n {isLocalHosted(selected) && (\n <>\n
\n \n \n To set up {selected} please read the node wallet instructions from\n our support portal.\n \n
\n \n \n )}\n {!isConfigurable(selected) && (\n \n )}\n {selected === 'bitgo' && (\n <>\n
\n \n \n Make sure you set up a BitGo wallet to enter the necessary\n information below. Please follow the instructions on our support\n page if you haven’t.\n \n
\n \n

Enter wallet information

\n \n \n )}\n {selected === 'infura' && (\n <>\n

Enter wallet information

\n \n \n )}\n
\n )\n}\n\nexport default ChooseWallet\n","import { makeStyles } from '@material-ui/core'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Sidebar, { Stepper } from 'src/components/layout/Sidebar'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport styles from 'src/pages/AddMachine/styles'\n\nimport AllSet from './AllSet'\nimport Blockcypher from './Blockcypher'\nimport ChooseCoin from './ChooseCoin'\nimport ChooseExchange from './ChooseExchange'\nimport ChooseTicker from './ChooseTicker'\nimport ChooseWallet from './ChooseWallet'\n\nconst useStyles = makeStyles(styles)\n\nconst steps = [\n {\n label: 'Choose cryptocurrency',\n component: ChooseCoin\n },\n {\n label: 'Choose wallet',\n component: ChooseWallet\n },\n {\n label: 'Choose ticker',\n component: ChooseTicker\n },\n {\n label: 'Exchange',\n component: ChooseExchange\n },\n {\n label: 'Blockcypher',\n component: Blockcypher\n },\n {\n label: 'All set',\n component: AllSet\n }\n]\n\nconst Wallet = ({ doContinue }) => {\n const [step, setStep] = useState(0)\n const [data, setData] = useState({})\n\n const classes = useStyles()\n const mySteps = data?.coin === 'BTC' ? steps : R.remove(4, 1, steps)\n\n const Component = mySteps[step].component\n\n const addData = it => {\n setData(R.merge(data, it))\n setStep(step + 1)\n }\n\n return (\n
\n
\n \n
\n
\n \n {mySteps.map((it, idx) => (\n \n ))}\n \n
\n \n
\n
\n
\n )\n}\n\nexport default Wallet\n","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { H1, P } from 'src/components/typography'\nimport { comet } from 'src/styling/variables'\n\nconst styles = {\n welcome: {\n textAlign: 'center',\n paddingTop: 256\n },\n title: {\n lineHeight: 1,\n fontSize: 48\n },\n getStarted: {\n fontSize: 24,\n fontWeight: 500,\n marginBottom: 54,\n color: comet\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nfunction Welcome({ doContinue }) {\n const classes = useStyles()\n\n return (\n
\n

Welcome to the Lamassu Admin

\n

\n To get you started, we’ve put together a wizard that will\n
\n help set up what you need before pairing your machines.\n

\n \n
\n )\n}\n\nexport default Welcome\n","import * as R from 'ramda'\nimport React from 'react'\n\nimport { schema as CommissionsSchema } from 'src/pages/Commissions/helper'\nimport { LocaleSchema } from 'src/pages/Locales/helper'\nimport { WalletSchema } from 'src/pages/Wallet/helper'\nimport { fromNamespace, namespaces } from 'src/utils/config'\n\nimport Commissions from './components/Commissions'\nimport Locale from './components/Locales'\n// import Notifications from './components/Notifications'\n// import WizardOperatorInfo from './components/OperatorInfo'\nimport Twilio from './components/Twilio'\nimport Wallet from './components/Wallet/Wallet'\nimport Welcome from './components/Welcome'\n\nconst getConfiguredCoins = (config, crypto) => {\n const wallet = fromNamespace(namespaces.WALLETS, config)\n return R.filter(it =>\n WalletSchema.isValidSync(fromNamespace(it.code, wallet))\n )(crypto)\n}\n\nconst hasValidWallet = (config, crypto) => {\n const wallet = fromNamespace(namespaces.WALLETS, config)\n const coins = R.map(it => fromNamespace(it.code, wallet))(crypto)\n\n const hasValidConfig = R.compose(\n R.any(R.identity),\n R.map(it => WalletSchema.isValidSync(it))\n )(coins)\n\n return hasValidConfig\n}\n\nconst hasValidLocale = config => {\n const locale = fromNamespace(namespaces.LOCALE, config)\n return LocaleSchema.isValidSync(locale)\n}\n\nconst hasValidCommissions = config => {\n const commission = fromNamespace(namespaces.COMMISSIONS, config)\n return CommissionsSchema.isValidSync(commission)\n}\n\nconst getWizardStep = (config, crypto) => {\n if (!config) return 0\n\n const validWallet = hasValidWallet(config, crypto)\n if (!validWallet) return 1\n\n const validLocale = hasValidLocale(config)\n if (!validLocale) return 2\n\n const validCommission = hasValidCommissions(config)\n if (!validCommission) return 3\n\n return 0\n}\n\nconst STEPS = [\n {\n id: 'welcome',\n Component: Welcome\n },\n {\n id: 'wallet',\n Component: Wallet,\n exImage: '/assets/wizard/fullexample.wallet.png',\n subtitle: 'Wallet settings',\n text: `Your wallet settings are the first step for this wizard. \n We'll start by setting up one of cryptocurrencies to get you up and running,\n but you can later set up as many as you want.`\n },\n {\n id: 'locale',\n Component: Locale,\n exImage: '/assets/wizard/fullexample.locale.png',\n subtitle: 'Locales',\n text: `From the Locales page, you can define some important default settings\n of your machines. These values will be the default values of all\n machines you'll later add to your network. Default settings keep you\n from having to enther the same values everytime you add a new machine.\n Once a machine is added, you may override some of these values in the\n overrides section.`\n },\n {\n id: 'twilio',\n Component: Twilio,\n exImage: '/assets/wizard/fullexample.twilio.png',\n subtitle: 'Twilio (SMS service)',\n text: (\n <>\n Twilio is used for SMS operator notifications, phone number collection\n for compliance, and 1-confirmation redemptions on cash-out transactions.\n
\n You'll need to configure Twilio if you're offering cash-out or any\n compliance options\n \n )\n },\n {\n id: 'commissions',\n Component: Commissions,\n exImage: '/assets/wizard/fullexample.commissions.png',\n subtitle: 'Commissions',\n text: `From the Commissions page, you can define all the commissions of your\n machines. The values set here will be default values of all machines\n you'll later add to your network. Default settings keep you from\n having to enter the same values everytime you add a new machine. Once\n a machine is added, you may override these values per machine and per\n cryptocurrency in the overrides section.`\n }\n // {\n // id: 'notifications',\n // Component: Notifications,\n // exImage: '/assets/wizard/fullexample.notifications.png',\n // subtitle: 'Notifications',\n // text: `Your notification settings will allow customize what notifications you\n // get and where. You can later override all default balance alerts setup\n // here.`\n // },\n // {\n // id: 'operatorInfo',\n // Component: WizardOperatorInfo,\n // exImage: '/assets/wizard/fullexample.operatorinfo.png',\n // subtitle: 'Operator info',\n // text: `Your contact information is important for your customer to be able\n // to contact you in case there’s a problem with one of your machines.\n // In this page, you also be able to set up what you want to share with\n // Coin ATM Radar and add the Terms & Services text that is displayed by your machines.`\n // }\n]\n\nexport { getWizardStep, STEPS, getConfiguredCoins }\n","import { makeStyles, Drawer, Grid } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport Stepper from 'src/components/Stepper'\nimport { Button, Link } from 'src/components/buttons'\nimport { P, H2, Info2 } from 'src/components/typography'\nimport { spacer } from 'src/styling/variables'\n\nconst useStyles = makeStyles(() => ({\n drawer: {\n borderTop: 'none',\n boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.08)'\n },\n wrapper: {\n padding: '32px 0',\n flexGrow: 1,\n height: 264\n },\n smallWrapper: {\n height: 84\n },\n title: {\n margin: [[0, spacer * 4, 0, 0]]\n },\n subtitle: {\n marginTop: spacer,\n marginBottom: 6,\n lineHeight: 1.25,\n display: 'inline'\n },\n modal: {\n background: 'none',\n boxShadow: 'none'\n }\n}))\n\nfunction Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {\n const classes = useStyles()\n const [fullExample, setFullExample] = useState(false)\n\n const wrapperClassNames = {\n [classes.wrapper]: true,\n [classes.smallWrapper]: !open\n }\n\n return (\n \n
\n \n \n

Setup Lamassu Admin

\n {subtitle}\n {open &&

{text}

}\n
\n \n \n {steps && currentStep && (\n \n )}\n \n \n \n {open && (\n \n \n {\n setFullExample(true)\n }}>\n See full example\n \n \n \n \n \n \n \n \n )}\n
\n {\n setFullExample(false)\n }}\n open={fullExample}>\n \"\"\n \n \n )\n}\n\nexport default Footer\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles, Dialog, DialogContent } from '@material-ui/core'\nimport classnames from 'classnames'\nimport gql from 'graphql-tag'\nimport React, { useState, useContext } from 'react'\nimport { useHistory } from 'react-router-dom'\n\nimport { AppContext } from 'src/App'\nimport { getWizardStep, STEPS } from 'src/pages/Wizard/helper'\nimport { backgroundColor } from 'src/styling/variables'\n\nimport Footer from './components/Footer'\n\nconst useStyles = makeStyles({\n wrapper: {\n display: 'flex',\n padding: [[16, 0]],\n flexDirection: 'column',\n justifyContent: 'space-between',\n backgroundColor: backgroundColor\n },\n welcomeBackground: {\n background: 'url(/wizard-background.svg) no-repeat center center fixed',\n backgroundColor: backgroundColor,\n backgroundSize: 'cover'\n },\n blurred: {\n filter: 'blur(4px)',\n pointerEvents: 'none'\n }\n})\n\nconst GET_DATA = gql`\n query getData {\n config\n accounts\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst Wizard = ({ fromAuthRegister }) => {\n const classes = useStyles()\n const { data, loading } = useQuery(GET_DATA)\n const history = useHistory()\n const { setWizardTested } = useContext(AppContext)\n\n const [step, setStep] = useState(0)\n const [open, setOpen] = useState(true)\n\n const [footerExp, setFooterExp] = useState(false)\n\n if (loading) {\n return <>\n }\n\n const wizardStep = getWizardStep(data?.config, data?.cryptoCurrencies)\n\n const shouldGoBack =\n history.length && !history.location.state?.fromAuthRegister\n\n if (wizardStep === 0) {\n setWizardTested(true)\n shouldGoBack ? history.goBack() : history.push('/')\n }\n\n const isWelcome = step === 0\n const classNames = {\n [classes.blurred]: footerExp,\n [classes.wrapper]: true,\n [classes.welcomeBackground]: isWelcome\n }\n\n const start = () => {\n setFooterExp(false)\n }\n\n const doContinue = () => {\n if (step >= STEPS.length - 1) {\n setOpen(false)\n history.push('/')\n }\n\n const nextStep = step === 0 && wizardStep ? wizardStep : step + 1\n\n setFooterExp(true)\n setStep(nextStep)\n }\n\n const current = STEPS[step]\n\n return (\n \n \n \n \n {!isWelcome && (\n \n )}\n \n )\n}\n\nexport default Wizard\n","import Wizard from './Wizard'\n\nexport default Wizard\n","import Fade from '@material-ui/core/Fade'\nimport Slide from '@material-ui/core/Slide'\nimport { makeStyles } from '@material-ui/core/styles'\nimport * as R from 'ramda'\nimport React, { useContext } from 'react'\nimport {\n matchPath,\n Route,\n Redirect,\n Switch,\n useHistory,\n useLocation\n} from 'react-router-dom'\n\nimport { AppContext } from 'src/App'\nimport AuthRegister from 'src/pages/AuthRegister'\nimport Blacklist from 'src/pages/Blacklist'\nimport Cashout from 'src/pages/Cashout'\nimport Commissions from 'src/pages/Commissions'\nimport { Customers, CustomerProfile } from 'src/pages/Customers'\nimport Funding from 'src/pages/Funding'\nimport Locales from 'src/pages/Locales'\nimport MachineLogs from 'src/pages/MachineLogs'\nimport CashCassettes from 'src/pages/Maintenance/CashCassettes'\nimport MachineStatus from 'src/pages/Maintenance/MachineStatus'\nimport Notifications from 'src/pages/Notifications/Notifications'\nimport CoinAtmRadar from 'src/pages/OperatorInfo/CoinATMRadar'\nimport ContactInfo from 'src/pages/OperatorInfo/ContactInfo'\nimport ReceiptPrinting from 'src/pages/OperatorInfo/ReceiptPrinting'\nimport TermsConditions from 'src/pages/OperatorInfo/TermsConditions'\nimport ServerLogs from 'src/pages/ServerLogs'\nimport Services from 'src/pages/Services/Services'\n// import TokenManagement from 'src/pages/TokenManagement/TokenManagement'\nimport Transactions from 'src/pages/Transactions/Transactions'\nimport Triggers from 'src/pages/Triggers'\nimport WalletSettings from 'src/pages/Wallet/Wallet'\nimport Wizard from 'src/pages/Wizard'\nimport { namespaces } from 'src/utils/config'\n\nconst useStyles = makeStyles({\n wrapper: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n }\n})\n\nconst tree = [\n {\n key: 'transactions',\n label: 'Transactions',\n route: '/transactions',\n component: Transactions\n },\n {\n key: 'maintenance',\n label: 'Maintenance',\n route: '/maintenance',\n get component() {\n return () => \n },\n children: [\n {\n key: 'cash_cassettes',\n label: 'Cash Cassettes',\n route: '/maintenance/cash-cassettes',\n component: CashCassettes\n },\n {\n key: 'funding',\n label: 'Funding',\n route: '/maintenance/funding',\n component: Funding\n },\n {\n key: 'logs',\n label: 'Machine Logs',\n route: '/maintenance/logs',\n component: MachineLogs\n },\n {\n key: 'machine-status',\n label: 'Machine Status',\n route: '/maintenance/machine-status',\n component: MachineStatus\n },\n {\n key: 'server-logs',\n label: 'Server',\n route: '/maintenance/server-logs',\n component: ServerLogs\n }\n ]\n },\n {\n key: 'settings',\n label: 'Settings',\n route: '/settings',\n get component() {\n return () => \n },\n children: [\n {\n key: namespaces.COMMISSIONS,\n label: 'Commissions',\n route: '/settings/commissions',\n component: Commissions\n },\n {\n key: namespaces.LOCALE,\n label: 'Locales',\n route: '/settings/locale',\n component: Locales\n },\n {\n key: namespaces.CASH_OUT,\n label: 'Cash-out',\n route: '/settings/cash-out',\n component: Cashout\n },\n {\n key: namespaces.NOTIFICATIONS,\n label: 'Notifications',\n route: '/settings/notifications',\n component: Notifications\n },\n {\n key: 'services',\n label: '3rd party services',\n route: '/settings/3rd-party-services',\n component: Services\n },\n {\n key: namespaces.WALLETS,\n label: 'Wallet',\n route: '/settings/wallet-settings',\n component: WalletSettings\n },\n {\n key: namespaces.OPERATOR_INFO,\n label: 'Operator Info',\n route: '/settings/operator-info',\n title: 'Operator Information',\n get component() {\n return () => (\n \n )\n },\n children: [\n {\n key: 'contact-info',\n label: 'Contact information',\n route: '/settings/operator-info/contact-info',\n component: ContactInfo\n },\n {\n key: 'receipt-printing',\n label: 'Receipt',\n route: '/settings/operator-info/receipt-printing',\n component: ReceiptPrinting\n },\n {\n key: 'coin-atm-radar',\n label: 'Coin ATM Radar',\n route: '/settings/operator-info/coin-atm-radar',\n component: CoinAtmRadar\n },\n {\n key: 'terms-conditions',\n label: 'Terms & Conditions',\n route: '/settings/operator-info/terms-conditions',\n component: TermsConditions\n }\n ]\n }\n ]\n },\n {\n key: 'compliance',\n label: 'Compliance',\n route: '/compliance',\n get component() {\n return () => \n },\n children: [\n {\n key: 'triggers',\n label: 'Triggers',\n route: '/compliance/triggers',\n component: Triggers\n },\n {\n key: 'customers',\n label: 'Customers',\n route: '/compliance/customers',\n component: Customers\n },\n {\n key: 'blacklist',\n label: 'Blacklist',\n route: '/compliance/blacklist',\n component: Blacklist\n },\n {\n key: 'customer',\n route: '/compliance/customer/:id',\n component: CustomerProfile\n }\n ]\n }\n // {\n // key: 'system',\n // label: 'System',\n // route: '/system',\n // get component() {\n // return () => \n // },\n // children: [\n // {\n // key: 'token-management',\n // label: 'Token Management',\n // route: '/system/token-management',\n // component: TokenManagement\n // }\n // ]\n // }\n]\n\nconst map = R.map(R.when(R.has('children'), R.prop('children')))\nconst mappedRoutes = R.compose(R.flatten, map)(tree)\nconst parentRoutes = R.filter(R.has('children'))(mappedRoutes).concat(\n R.filter(R.has('children'))(tree)\n)\nconst leafRoutes = R.compose(R.flatten, map)(mappedRoutes)\n\nconst flattened = R.concat(leafRoutes, parentRoutes)\n\nconst hasSidebar = route =>\n R.any(r => r.route === route)(\n R.compose(\n R.flatten,\n R.map(R.prop('children')),\n R.filter(R.has('children'))\n )(mappedRoutes)\n )\n\nconst getParent = route =>\n R.find(\n R.propEq(\n 'route',\n R.dropLast(\n 1,\n R.dropLastWhile(x => x !== '/', route)\n )\n )\n )(flattened)\n\nconst Routes = () => {\n const classes = useStyles()\n\n const history = useHistory()\n const location = useLocation()\n\n const { wizardTested } = useContext(AppContext)\n\n const dontTriggerPages = ['/404', '/register', '/wizard']\n\n if (!wizardTested && !R.contains(location.pathname)(dontTriggerPages)) {\n history.push('/wizard')\n }\n\n const Transition = location.state ? Slide : Fade\n\n const transitionProps =\n Transition === Slide\n ? {\n direction:\n R.findIndex(R.propEq('route', location.state.prev))(leafRoutes) >\n R.findIndex(R.propEq('route', location.pathname))(leafRoutes)\n ? 'right'\n : 'left'\n }\n : { timeout: 400 }\n\n return (\n \n \n \n \n \n \n {flattened.map(({ route, component: Page, key }) => (\n \n \n \n
\n }\n />\n \n ))}\n \n \n \n \n \n )\n}\nexport { tree, getParent, hasSidebar, Routes }\n","import { mainWidth } from 'src/styling/variables'\n\nimport fonts from './fonts'\n\nconst fill = '100%'\n\nexport default {\n '@global': {\n ...fonts,\n '#root': {\n width: fill,\n minHeight: fill\n },\n html: {\n height: fill\n },\n body: {\n width: mainWidth,\n display: 'flex',\n minHeight: fill,\n '@media screen and (min-width: 1200px)': {\n width: 'auto'\n }\n },\n [`a::-moz-focus-inner,\n 'input[type=\"submit\"]::-moz-focus-inner,\n input[type=\"button\"]::-moz-focus-inner`]: {\n border: 0\n },\n [`a::-moz-focus-inner,\n input[type=\"submit\"]::-moz-focus-inner,\n input[type=\"button\"]::-moz-focus-inner`]: {\n border: 0\n },\n [`a,\n a:visited,\n a:focus,\n a:active,\n a:hover`]: {\n outline: '0 none'\n },\n 'button::-moz-focus-inner': {\n border: 0\n },\n // forcing styling onto inner container\n '.ReactVirtualized__Grid__innerScrollContainer': {\n overflow: 'inherit !important'\n }\n }\n}\n","export default {\n // /*!\n // * Web Fonts from Fontspring.com\n // *\n // * All OpenType features and all extended glyphs have been removed.\n // * Fully installable fonts can be purchased at http://www.fontspring.com\n // *\n // * The fonts included in this stylesheet are subject to the End User License you purchased\n // * from Fontspring. The fonts are protected under domestic and international trademark and\n // * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or\n // * distributing this font software.\n // *\n // * (c) 2010-2018 Fontspring\n // *\n // *\n // *\n // *\n // * The fonts included are copyrighted by the vendor listed below.\n // *\n // * Vendor: Fontfabric\n // * License URL: https://www.fontspring.com/licenses/fontfabric/webfont\n // *\n // *\n // */\n\n '@font-face': [\n {\n fontFamily: 'Mont',\n src: [\n 'url(\"/fonts/MontHeavy/mont-heavy-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MontHeavy/mont-heavy-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 900,\n fontStyle: 'normal'\n },\n {\n fontFamily: 'Mont',\n src: [\n 'url(\"/fonts/MontHeavy/mont-bold-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MontHeavy/mont-bold-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 700,\n fontStyle: 'normal'\n },\n // /*!\n // * Web Fonts from Fontspring.com\n // *\n // * All OpenType features and all extended glyphs have been removed.\n // * Fully installable fonts can be purchased at http://www.fontspring.com\n // *\n // * The fonts included in this stylesheet are subject to the End User License you purchased\n // * from Fontspring. The fonts are protected under domestic and international trademark and\n // * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or\n // * distributing this font software.\n // *\n // * (c) 2010-2018 Fontspring\n // *\n // *\n // *\n // *\n // * The fonts included are copyrighted by the vendor listed below.\n // *\n // * Vendor: exljbris Font Foundry\n // * License URL: https://www.fontspring.com/licenses/exljbris/webfont\n // *\n // *\n // */\n {\n fontFamily: 'MuseoSans',\n src: [\n 'url(\"/fonts/MuseoSans/MuseoSans_500-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MuseoSans/MuseoSans_500-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 500,\n fontStyle: 'normal'\n },\n {\n fontFamily: 'MuseoSans',\n src: [\n 'url(\"/fonts/MuseoSans/MuseoSans_700-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MuseoSans/MuseoSans_700-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 700,\n fontStyle: 'normal'\n },\n\n // // BP-mono Freely distributed at http://backpacker.gr/fonts/5\n {\n fontFamily: 'BPmono',\n src: 'url(\"/fonts/BPmono/BPmono.ttf\") format(\"truetype\")',\n fontWeight: 500,\n fontStyle: 'normal'\n }\n ]\n}\n","import CssBaseline from '@material-ui/core/CssBaseline'\nimport Grid from '@material-ui/core/Grid'\nimport {\n StylesProvider,\n jssPreset,\n MuiThemeProvider,\n makeStyles\n} from '@material-ui/core/styles'\nimport { create } from 'jss'\nimport extendJss from 'jss-plugin-extend'\nimport React, { createContext, useContext, useState } from 'react'\nimport {\n useLocation,\n useHistory,\n BrowserRouter as Router\n} from 'react-router-dom'\n\nimport Sidebar from 'src/components/layout/Sidebar'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport ApolloProvider from 'src/utils/apollo'\n\nimport Header from './components/layout/Header'\nimport { tree, hasSidebar, Routes, getParent } from './routing/routes'\nimport global from './styling/global'\nimport theme from './styling/theme'\nimport { backgroundColor, mainWidth } from './styling/variables'\n\nif (process.env.NODE_ENV !== 'production') {\n const whyDidYouRender = require('@welldone-software/why-did-you-render')\n whyDidYouRender(React)\n}\n\nconst jss = create({\n plugins: [extendJss(), ...jssPreset().plugins]\n})\n\nconst fill = '100%'\nconst flexDirection = 'column'\n\nconst useStyles = makeStyles({\n ...global,\n root: {\n backgroundColor,\n width: fill,\n minHeight: fill,\n display: 'flex',\n flexDirection\n },\n wrapper: {\n width: mainWidth,\n height: fill,\n margin: '0 auto',\n flex: 1,\n display: 'flex',\n flexDirection\n },\n grid: {\n flex: 1,\n height: '100%'\n },\n contentWithSidebar: {\n flex: 1,\n marginLeft: 48,\n paddingTop: 15\n },\n contentWithoutSidebar: {\n width: mainWidth\n }\n})\n\nconst AppContext = createContext()\n\nconst Main = () => {\n const classes = useStyles()\n const location = useLocation()\n const history = useHistory()\n const { wizardTested } = useContext(AppContext)\n\n const route = location.pathname\n\n const sidebar = hasSidebar(route)\n const parent = sidebar ? getParent(route) : {}\n\n const is404 = location.pathname === '/404'\n\n const isSelected = it => location.pathname === it.route\n\n const onClick = it => history.push(it.route)\n\n const contentClassName = sidebar\n ? classes.contentWithSidebar\n : classes.contentWithoutSidebar\n\n return (\n
\n {!is404 && wizardTested &&
}\n
\n {sidebar && !is404 && wizardTested && (\n \n )}\n\n \n {sidebar && !is404 && wizardTested && (\n it.label}\n onClick={onClick}\n />\n )}\n
\n \n
\n
\n
\n
\n )\n}\n\nconst App = () => {\n const [wizardTested, setWizardTested] = useState(false)\n\n return (\n \n \n \n \n \n \n
\n \n \n \n \n \n )\n}\n\nexport default App\nexport { AppContext }\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n)\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config)\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n )\n })\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n if (installingWorker == null) {\n return\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n )\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration)\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration)\n }\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config)\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister()\n })\n }\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\nimport * as serviceWorker from './serviceWorker'\n\nReactDOM.render(, document.getElementById('root'))\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n"],"sourceRoot":""} \ No newline at end of file diff --git a/public/static/js/main.c5b482a9.chunk.js b/public/static/js/main.c5b482a9.chunk.js new file mode 100644 index 000000000..604ad5618 --- /dev/null +++ b/public/static/js/main.c5b482a9.chunk.js @@ -0,0 +1,2 @@ +(this["webpackJsonplamassu-admin"]=this["webpackJsonplamassu-admin"]||[]).push([[0],{449:function(e,t,n){"use strict";n.r(t);var a=n(0),r=n.n(a),l=n(38),i=n.n(l),o=n(3),c=n(23),s=n(346),u=n(543),d=n(512),m=n(545),f=n(487),p=n(568),h=n(542),b=n(308),g=n(309),v=n(123),y=n(73),E=n(1),O=n(5),w=n.n(O);function x(){return(x=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var C=a.createElement("desc",null,"Created with Sketch."),k=a.createElement("g",{id:"icon/stage/zodiac/complete",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval",stroke:"#1B2559",transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}),a.createElement("path",{d:"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12",id:"Path",fill:"#1B2559"}));function S(e,t){var n=e.title,r=e.titleId,l=j(e,["title","titleId"]);return a.createElement("svg",x({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,C,k)}var N=a.forwardRef(S);n.p;function I(){return(I=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var B=a.createElement("desc",null,"Created with Sketch."),P=a.createElement("g",{id:"icon/stage/zodiac/current",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-2-Copy",fill:"#1B2559",cx:9,cy:9,r:4}),a.createElement("circle",{id:"Oval-Copy-5",stroke:"#1B2559",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function F(e,t){var n=e.title,r=e.titleId,l=L(e,["title","titleId"]);return a.createElement("svg",I({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,B,P)}var D=a.forwardRef(F);n.p;function T(){return(T=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var R=a.createElement("desc",null,"Created with Sketch."),A=a.createElement("g",{id:"icon/stage/zodiac/empty",stroke:"none",strokeWidth:2,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-Copy-6",stroke:"#5F668A",transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function z(e,t){var n=e.title,r=e.titleId,l=W(e,["title","titleId"]);return a.createElement("svg",T({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,R,A)}var M=a.forwardRef(z),q=(n.p,"#5f668a"),$="#44e188",H="#ecfbef",V="#3fd07e",Y="#ebefff",G="#dbdfed",Z="#ffffff",_="#ff584a",U="#ffeceb",J="#1b2559",K="#48f694",Q=$,X=V,ee="#fafbff",te=Y,ne=G,ae="#dddddd",re="#f2f2f2",le=J,ie=q,oe="#72799d",ce=q,se=_,ue=1200,de=K,me="Mont",fe="MuseoSans",pe=24,he=20,be=16,ge=14,ve=13;var ye=ve,Ee=ge,Oe=be,we=pe,xe=fe,je=32,Ce=48;var ke,Se=2*je,Ne=J,Ie=U,Le={lineHeight:"120%",color:le},Be={h1:{extend:Le,fontSize:pe,fontFamily:me,fontWeight:900},h2:{extend:Le,fontSize:he,fontFamily:me,fontWeight:900},h3:{extend:Le,fontSize:ge,fontFamily:me,fontWeight:900},h4:{extend:Le,fontSize:ge,fontFamily:me,fontWeight:700},h5:{extend:Le,fontSize:be,fontFamily:me,fontWeight:700},p:{extend:Le,fontSize:ge,fontFamily:fe,fontWeight:500},tl1:{extend:Le,fontSize:he,fontFamily:fe,fontWeight:700},tl2:{extend:Le,fontSize:ge,fontFamily:fe,fontWeight:700},info1:{extend:Le,fontSize:pe,fontFamily:fe,fontWeight:700},info2:{extend:Le,fontSize:be,fontFamily:fe,fontWeight:700},info3:{extend:Le,fontSize:be,fontFamily:fe,fontWeight:500},mono:{extend:Le,fontSize:ge,fontFamily:"BPmono",fontWeight:500},monoBold:{fontWeight:700},monoSmall:{fontSize:ve},inputFont:{fontSize:he,fontFamily:fe,fontWeight:500,lineHeight:"110%",color:le},regularLabel:{fontSize:ge,fontFamily:fe,fontWeight:500,lineHeight:"110%"},label1:{fontSize:ve,fontFamily:fe,fontWeight:500,color:le},label2:{fontSize:ve,fontFamily:fe,fontWeight:700,color:le},label3:{fontSize:ge,fontFamily:fe,fontWeight:500,color:le},inline:{display:"inline"},noMargin:{margin:0}},Pe=function(e){switch(e){case"sm":return{fontSize:Ee};case"lg":return{fontSize:we,fontWeight:700};default:return{fontSize:Oe}}},Fe={fontWeight:700},De=Be.tl2,Te=Be.p,We=Y,Re={sidebar:Object(E.a)({display:"flex",backgroundColor:We,width:520,marginLeft:-300,boxShadow:"-500px 0px 0px 0px ".concat(We),borderRadius:"0 20px 0 0",alignItems:"flex-end",padding:24,flexDirection:"column"},(ke=1440,"@media only screen and (max-width: ".concat(ke,")")),{width:"auto",marginLeft:0,minWidth:250,boxShadow:"-200px 0px 0px 0px ".concat(We)}),link:{extend:Te,position:"relative",color:ce,margin:"12px 24px 12px 0",cursor:"pointer","&:hover::after":{height:"140%"},"&:after":{content:'""',display:"block",background:J,width:4,height:0,left:"100%",marginLeft:20,bottom:-2,position:"absolute",borderRadius:1e3,transition:"all 0.2s cubic-bezier(0.95, 0.1, 0.45, 0.94)"}},activeLink:{extend:De,color:J,"&::after":{height:"140%"}},customRenderLink:{"&:hover::after":{height:"100%"},"&:after":{bottom:0}},customRenderActiveLink:{"&::after":{height:"100%"}},item:{position:"relative",margin:"12px 0 12px 0",display:"flex"},itemText:{extend:Te,color:ce,marginRight:24},itemTextActive:{extend:De,color:J},itemTextPast:{color:J},stepperPath:{position:"absolute",height:25,width:1,border:[[1,"solid",ce]],right:8,top:18},stepperPast:{border:[[1,"solid",J]]}},Ae=Object(f.a)(Re),ze=function(e){var t=e.data,n=e.displayName,a=e.isSelected,l=e.onClick,i=e.children,o=e.itemRender,c=Ae();return r.a.createElement("div",{className:c.sidebar},t&&t.map((function(e,t){var i;return r.a.createElement("div",{key:t,className:w()((i={},Object(E.a)(i,c.activeLink,a(e)),Object(E.a)(i,c.customRenderActiveLink,o&&a(e)),Object(E.a)(i,c.customRenderLink,o),Object(E.a)(i,c.link,!0),i)),onClick:function(){return l(e)}},o?o(e,a(e)):n(e))})),i)},Me=function(e){var t,n,a=e.step,l=e.it,i=e.idx,o=e.steps,c=Ae(),s=a===i,u=ia;return r.a.createElement("div",{className:c.item},r.a.createElement("span",{className:w()((t={},Object(E.a)(t,c.itemText,!0),Object(E.a)(t,c.itemTextActive,s),Object(E.a)(t,c.itemTextPast,u),t))},l.label),s&&r.a.createElement(D,null),u&&r.a.createElement(N,null),d&&r.a.createElement(M,null),i=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ye=a.createElement("desc",null,"Created with Sketch."),Ge=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/warning-icon/tomato"},a.createElement("rect",{id:"Rectangle",stroke:"#FF584A",strokeWidth:2,x:1,y:1,width:22,height:22,rx:11}),a.createElement("path",{d:"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z",id:"!",fill:"#FF584A",fillRule:"nonzero"})));function Ze(e,t){var n=e.title,r=e.titleId,l=Ve(e,["title","titleId"]);return a.createElement("svg",He({width:"24px",height:"24px",viewBox:"0 0 24 24",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ye,Ge)}var _e=a.forwardRef(Ze),Ue=(n.p,Object(f.a)(Be));function Je(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h1,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h1",Object.assign({className:w()(c)},i),n)}function Ke(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h2,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h2",Object.assign({className:w()(c)},i),n)}function Qe(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h3,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h3",Object.assign({className:w()(c)},i),n)}function Xe(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h4,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h4",Object.assign({className:w()(c)},i),n)}function et(e){var t,n=e.children,a=e.noMargin,l=e.className,i=Object($e.a)(e,["children","noMargin","className"]),o=Ue(),c=(t={},Object(E.a)(t,o.h5,!0),Object(E.a)(t,o.noMargin,a),Object(E.a)(t,l,!!l),t);return r.a.createElement("h5",Object.assign({className:w()(c)},i),n)}var tt=dt("p"),nt=dt("info1"),at=dt("info2"),rt=dt("info3"),lt=dt("mono"),it=dt("tl1"),ot=dt("tl2"),ct=dt("label1"),st=dt("label2"),ut=dt("label3");function dt(e){return function(t){var n,a=t.inline,l=t.noMargin,i=t.className,o=t.children,c=Object($e.a)(t,["inline","noMargin","className","children"]),s=Ue(),u=(n={},Object(E.a)(n,i,!!i),Object(E.a)(n,s[e],e),Object(E.a)(n,s.inline,a),Object(E.a)(n,s.noMargin,l),n);return r.a.createElement("p",Object.assign({className:w()(u)},c),o)}}var mt={wrapper:{display:"flex",alignItems:"center","& > svg":{marginRight:10}},message:{display:"flex",alignItems:"center",color:se,margin:0,whiteSpace:"break-spaces"}},ft=Object(f.a)(mt),pt=function(e){var t=e.className,n=e.children,a=(Object($e.a)(e,["className","children"]),ft());return r.a.createElement("div",{className:w()(a.wrapper,t)},r.a.createElement(_e,null),r.a.createElement(rt,{className:a.message},n))},ht=Object(f.a)({title:{marginTop:24,marginBottom:24}}),bt=Object(a.memo)((function(e){var t=e.children,n=ht();return r.a.createElement(Je,{className:n.title},t)})),gt=Object(f.a)({titleWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"row"},titleAndButtonsContainer:{display:"flex"},error:{marginLeft:12},icon:{marginRight:6},label:{marginRight:24}}),vt=function(e){var t=e.className,n=e.title,a=e.error,l=e.labels,i=e.children,o=gt();return r.a.createElement("div",{className:w()(o.titleWrapper,t)},r.a.createElement("div",{className:o.titleAndButtonsContainer},r.a.createElement(bt,null,n),a&&r.a.createElement(pt,{className:o.error},"Failed to save")),r.a.createElement(qe.a,{display:"flex",flexDirection:"row"},(null!==l&&void 0!==l?l:[]).map((function(e,t){var n=e.icon,a=e.label;return r.a.createElement(qe.a,{key:t,display:"flex",alignItems:"center"},r.a.createElement("div",{className:o.icon},n),r.a.createElement(ct,{className:o.label},a))}))),i)},yt=n(62),Et=n(347),Ot=n(124),wt=n(66),xt=n(313),jt=n(348),Ct="",kt=function(e){var t=e.children,n=function(e,t){return new Ot.a({link:wt.a.from([Object(xt.a)((function(n){var a=n.graphQLErrors,r=n.networkError;a&&a.forEach((function(n){var a=n.message,r=n.locations,l=n.path,i=n.extensions;"UNAUTHENTICATED"===(null===i||void 0===i?void 0:i.code)&&"/404"!==t.pathname&&e.push("/404"),console.log("[GraphQL error]: Message: ".concat(a,", Location: ").concat(r,", Path: ").concat(l))})),r&&console.log("[Network error]: ".concat(r))})),new jt.a({credentials:"include",uri:"".concat(Ct,"/graphql")})]),cache:new Et.a,defaultOptions:{watchQuery:{fetchPolicy:"no-cache",errorPolicy:"ignore"},query:{fetchPolicy:"no-cache",errorPolicy:"all"},mutate:{errorPolicy:"all"}}})}(Object(v.h)(),Object(v.i)());return r.a.createElement(yt.a,{client:n},t)},St=function(e,t,n){return{backgroundColor:e,"&:hover":{backgroundColor:t},"&:active":{backgroundColor:n}}},Nt={actionButton:{extend:Be.p,cursor:"pointer",border:"none",height:28,outline:0,borderRadius:6,padding:"0 8px",display:"flex",alignItems:"center"},primary:{extend:St(te,ne,ie),"&:active":{color:Z,"& $actionButtonIcon":{display:"none"},"& $actionButtonIconActive":{display:"flex"}},"& $actionButtonIconActive":{display:"none"}},secondary:{extend:St(ie,oe,Z),color:Z,"&:active":{color:le,"& $actionButtonIcon":{display:"flex"},"& $actionButtonIconActive":{display:"none"}},"& $actionButtonIcon":{display:"none"},"& $actionButtonIconActive":{display:"flex"}},actionButtonIcon:{display:"flex",paddingRight:7,"@global":{svg:{width:14,height:14}}},actionButtonIconActive:{}},It=Object(f.a)(Nt),Lt=Object(a.memo)((function(e){var t,n=e.className,a=e.Icon,l=e.InverseIcon,i=e.color,o=e.children,c=Object($e.a)(e,["className","Icon","InverseIcon","color","children"]),s=It(),u=(t={},Object(E.a)(t,s.actionButton,!0),Object(E.a)(t,s.primary,"primary"===i),Object(E.a)(t,s.secondary,"secondary"===i),t);return r.a.createElement("button",Object.assign({className:w()(u,n)},c),a&&r.a.createElement("div",{className:s.actionButtonIcon},r.a.createElement(a,null)),l&&r.a.createElement("div",{className:w()(s.actionButtonIcon,s.actionButtonIconActive)},r.a.createElement(l,null)),o&&r.a.createElement("div",null,o))})),Bt=n(13),Pt=n(12),Ft=n(500),Dt=n(501),Tt=n(452),Wt=n(220),Rt=n(18),At=n(14),zt=n.n(At),Mt=n(214),qt=n.n(Mt),$t=n(345),Ht=n(498),Vt=n(499),Yt=n(4);function Gt(){return(Gt=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var _t=a.createElement("desc",null,"Created with Sketch."),Ut=a.createElement("g",{id:"icon/button/add/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z",id:"Stroke-1",stroke:"#1B2559"}),a.createElement("line",{x1:6,y1:3.69230769,x2:6,y2:8.30769231,id:"Stroke-3",stroke:"#1B2559"}),a.createElement("line",{x1:3.69230769,y1:6,x2:8.30769231,y2:6,id:"Stroke-5",stroke:"#1B2559"}));function Jt(e,t){var n=e.title,r=e.titleId,l=Zt(e,["title","titleId"]);return a.createElement("svg",Gt({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,_t,Ut)}var Kt=a.forwardRef(Jt),Qt=(n.p,{button:{extend:Be.p,border:"none",backgroundColor:Y,cursor:"pointer",outline:0,display:"flex",justifyContent:"center",alignItems:"center",width:167,height:48,color:le,"&:hover":{backgroundColor:G},"&:active":{backgroundColor:q,color:Z,"& svg g *":{stroke:Z}},"& svg":{marginRight:8}}}),Xt=Object(f.a)(Qt),en=Object(a.memo)((function(e){var t=e.className,n=e.children,a=Object($e.a)(e,["className","children"]),l=Xt();return r.a.createElement("button",Object.assign({className:w()(l.button,t)},a),r.a.createElement(Kt,null),n)})),tn=Be.h1,nn=Be.h3,an=function(e){switch(e){case"xl":return 61;case"sm":return 32;case"lg":default:return 40}},rn={wrapper:function(e){var t=e.size,n=an(t);return{height:n+n/12/2}},button:function(e){var t=e.size,n=an(t),a="xl"===t?3:n/12;return{extend:"xl"===t?tn:nn,border:"none",color:Z,cursor:"pointer",fontWeight:900,outline:0,backgroundColor:K,"&:disabled":{backgroundColor:ae,boxShadow:"none","&:hover":{backgroundColor:ae,boxShadow:"none"},"&:active":{marginTop:0}},shadowSize:a,height:n,padding:"0 ".concat("xl"===t?20:n/2,"px"),borderRadius:n/4,boxShadow:"0 ".concat(a,"px ").concat(Q),"&:hover":{backgroundColor:Q,boxShadow:"0 ".concat(a,"px ").concat(X)},"&:active":{marginTop:a/2,backgroundColor:Q,boxShadow:"0 ".concat(a/2,"px ").concat(X)}}}},ln=Object(f.a)(rn),on=Object(a.memo)((function(e){var t=e.size,n=void 0===t?"lg":t,a=e.children,l=e.className,i=Object($e.a)(e,["size","children","className"]),o=ln({size:n});return r.a.createElement("div",{className:w()(l,o.wrapper)},r.a.createElement("button",Object.assign({className:o.button},i),a))})),cn=function(e,t,n){return{backgroundColor:e,"&:hover":{backgroundColor:t},"&:active":{backgroundColor:n}}},sn={baseButton:{extend:cn(te,ne,ie),cursor:"pointer",border:"none",outline:0,height:32,color:le,"&:active":{color:Z}},primary:{extend:cn(te,ne,ie),"&:active":{color:Z,"& $buttonIcon":{display:"none"},"& $buttonIconActive":{display:"block"}},"& $buttonIconActive":{display:"none"}},secondary:{extend:cn(ie,oe,Z),color:Z,"&:active":{color:le,"& $buttonIcon":{display:"flex"},"& $buttonIconActive":{display:"none"}},"& $buttonIcon":{display:"none"},"& $buttonIconActive":{display:"flex"}}},un=sn.baseButton,dn=sn.primary,mn={featureButton:{extend:un,width:un.height,borderRadius:un.height/2,display:"flex",padding:0},primary:dn,buttonIcon:{margin:"auto","& svg":{width:16,height:16,overflow:"visible","& g":{strokeWidth:1.8}}},buttonIconActive:{}},fn=Object(f.a)(mn),pn=Object(a.memo)((function(e){var t,n=e.className,a=e.Icon,l=e.InverseIcon,i=e.children,o=Object($e.a)(e,["className","Icon","InverseIcon","children"]),c=fn(),s=(t={},Object(E.a)(t,c.featureButton,!0),Object(E.a)(t,c.primary,!0),t);return r.a.createElement("button",Object.assign({className:w()(s,n)},o),a&&r.a.createElement("div",{className:c.buttonIcon},r.a.createElement(a,null)),l&&r.a.createElement("div",{className:w()(c.buttonIcon,c.buttonIconActive)},r.a.createElement(l,null)),i)})),hn=n(490),bn=n(271),gn=n(489),vn=function(e){var t,n=e.children,l=e.bgColor,i=void 0===l?Z:l,c=e.arrowSize,s=void 0===c?6:c,u=e.className,d=Object($e.a)(e,["children","bgColor","arrowSize","className"]),m=Object(a.useState)(null),p=Object(o.a)(m,2),h=p[0],b=p[1],g={popover:{zIndex:3e3,backgroundColor:i,borderRadius:4},arrow:{position:"absolute",fontSize:s,width:"3em",height:"3em"},arrowBottom:{top:0,width:0,height:0,borderLeft:[["2em","solid","transparent"]],borderRight:[["2em","solid","transparent"]],borderBottom:[["2em","solid",i]],marginTop:"-1.9em","&:after":{zIndex:-10,content:'""',position:"absolute",width:3*s,height:3*s,marginLeft:0,bottom:0,top:"calc(50% - 0px)",left:0,border:"5px solid #fff",borderColor:"transparent transparent #fff #fff",transformOrigin:"0 0",transform:"rotate(45deg)",boxShadow:"0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"}},arrowTop:{bottom:0,width:0,height:0,borderLeft:[["2em","solid","transparent"]],borderRight:[["2em","solid","transparent"]],borderTop:[["2em","solid",i]],marginBottom:"-1.9em","&:after":{zIndex:-10,content:'""',position:"absolute",width:3*s,height:3*s,marginLeft:0,bottom:0,top:-(4*s+2),left:0,border:"5px solid #fff",borderColor:"transparent transparent #fff #fff",transformOrigin:"0 0",transform:"rotate(45deg)",boxShadow:"0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)"}},arrowRight:{left:0,width:0,height:0,borderTop:[["2em","solid","transparent"]],borderBottom:[["2em","solid","transparent"]],borderRight:[["2em","solid",i]],marginLeft:"-1.9em"},arrowLeft:{right:0,width:0,height:0,borderTop:[["2em","solid","transparent"]],borderBottom:[["2em","solid","transparent"]],borderLeft:[["2em","solid",i]],marginRight:"-1.9em"},root:{backgroundColor:i}},v=Object(f.a)(g)(),y=(t={},Object(E.a)(t,v.arrow,!0),Object(E.a)(t,v.arrowBottom,"bottom"===d.placement),Object(E.a)(t,v.arrowTop,"top"===d.placement),Object(E.a)(t,v.arrowRight,"right"===d.placement),Object(E.a)(t,v.arrowLeft,"left"===d.placement),t),O=gn.a(d.modifiers,{flip:{enabled:!1},preventOverflow:{enabled:!0,boundariesElement:"scrollParent"},offset:{enabled:!0,offset:"0, 10"},arrow:{enabled:!0,element:h},computeStyle:{gpuAcceleration:!1}});return r.a.createElement(r.a.Fragment,null,r.a.createElement(hn.a,Object.assign({disablePortal:!1,modifiers:O,className:v.popover},d),r.a.createElement(bn.a,{className:w()(v.root,u)},r.a.createElement("span",{className:w()(y),ref:b}),n)))},yn=Be.info2,En=function(e,t,n){return{backgroundColor:e,"&:hover":{backgroundColor:t},"&:active":{backgroundColor:n}}},On={idButton:{width:34,height:28,display:"flex",borderRadius:4,padding:0,border:"none",cursor:"pointer"},buttonIcon:{margin:"auto",lineHeight:1,"& svg":{overflow:"visible"}},closed:{extend:En(te,ne,ie)},open:{extend:En(ie,ie,ie)},popoverContent:{extend:yn,padding:8,display:"flex",justifyContent:"center",alignItems:"center",borderRadius:4,"& img":{maxHeight:145}}},wn=Object(f.a)(On),xn=Object(a.memo)((function(e){var t,n=e.name,l=e.className,i=e.Icon,c=e.InverseIcon,s=(e.popoverWidth,e.children),u=e.popoverClassname,d=Object($e.a)(e,["name","className","Icon","InverseIcon","popoverWidth","children","popoverClassname"]),m=Object(a.useState)(null),f=Object(o.a)(m,2),p=f[0],h=f[1],b=wn(),g=Boolean(p),v=g?"simple-popper-".concat(n):void 0,y=(t={},Object(E.a)(t,b.idButton,!0),Object(E.a)(t,b.primary,!0),Object(E.a)(t,b.open,g),Object(E.a)(t,b.closed,!g),t),O=Object(E.a)({},b.buttonIcon,!0);return r.a.createElement(r.a.Fragment,null,r.a.createElement("button",Object.assign({"aria-describedby":v,onClick:function(e){h(p?null:e.currentTarget)},className:w()(y,l)},d),i&&!g&&r.a.createElement("div",{className:w()(O)},r.a.createElement(i,null)),c&&g&&r.a.createElement("div",{className:w()(O)},r.a.createElement(c,null))),r.a.createElement(vn,{className:u,id:v,open:g,anchorEl:p,onClose:function(){h(null)},arrowSize:3,placement:"top"},r.a.createElement("div",{className:b.popoverContent},r.a.createElement("div",null,s))))})),jn={label:function(e){var t=e.size;return{width:t,height:t}},root:{"& svg":{flex:1},"&:hover":{backgroundColor:"inherit"},"&:hover rect":{stroke:q},"&:hover polygon":{stroke:q},"&:hover path":{stroke:q}}},Cn=Object(f.a)(jn),kn=function(e){var t=e.size,n=e.children,a=e.onClick,l=Object($e.a)(e,["size","children","onClick"]),i=Cn({size:t});return r.a.createElement(Tt.a,Object.assign({},l,{size:"small",classes:{root:i.root,label:i.label},disableRipple:!0,onClick:a}),n)},Sn=n(179),Nn=function(e){return{boxShadow:"inset 0 -4px 0 0 ".concat(Object(Sn.fade)(e,.8)),"&:hover":{boxShadow:"none",backgroundColor:Object(Sn.fade)(e,.8)}}},In={link:{extend:Be.h4,textDecoration:"none",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:"0",height:"100%"},primary:{extend:Nn(de)},secondary:{extend:Nn("#ff584a"),"&:hover":{color:Z}},noColor:{extend:Nn(Z)},action:{extend:Nn(de),color:Y}},Ln=Object(f.a)(In),Bn=Object(a.memo)((function(e){var t,n=e.submit,a=e.className,l=e.children,i=e.color,o=void 0===i?"primary":i,c=Object($e.a)(e,["submit","className","children","color"]),s=Ln(),u=(t={},Object(E.a)(t,s.link,!0),Object(E.a)(t,s.primary,"primary"===o),Object(E.a)(t,s.secondary,"secondary"===o),Object(E.a)(t,s.noColor,"noColor"===o),Object(E.a)(t,s.action,"action"===o),t);return r.a.createElement("button",Object.assign({type:n?"submit":"button",className:w()(u,a)},c),l)})),Pn=sn.baseButton,Fn=sn.primary,Dn={button:{extend:Pn,borderRadius:Pn.height/2,outline:0,padding:"0 20px"},primary:Fn,buttonIcon:{marginTop:4,marginRight:4,"& svg":{width:20,height:20,overflow:"visible"}},buttonIconActive:{}};Object(f.a)(Dn);function Tn(){return(Tn=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Rn=a.createElement("desc",null,"Created with Sketch."),An=a.createElement("g",{id:"icon/button/cancel/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",transform:"translate(1.000000, 1.000000)",stroke:"#FFFFFF"},a.createElement("line",{x1:10,y1:0,x2:0,y2:10,id:"Stroke-1"}),a.createElement("line",{x1:0,y1:0,x2:10,y2:10,id:"Stroke-3"})));function zn(e,t){var n=e.title,r=e.titleId,l=Wn(e,["title","titleId"]);return a.createElement("svg",Tn({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Rn,An)}var Mn=a.forwardRef(zn),qn=(n.p,sn.baseButton),$n={button:{extend:qn,padding:0,color:Z,borderRadius:qn.height/2},normalButton:{width:qn.height},activeButton:{display:"flex",flexDirection:"row",alignItems:"center",backgroundColor:ie,fontWeight:"bold",padding:"0 5px","&:hover":{backgroundColor:ie}},buttonIcon:{"& svg":{width:16,height:16,overflow:"visible","& g":{strokeWidth:1.8}}},buttonIconActiveLeft:{marginRight:12},buttonIconActiveRight:{marginRight:5,marginLeft:20}},Hn=Object(f.a)($n),Vn=Object(a.memo)((function(e){var t,n=e.className,l=e.Icon,i=e.InverseIcon,c=e.toggle,s=e.children,u=Object(a.useState)(!1),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Hn(),h=(t={},Object(E.a)(t,p.button,!0),Object(E.a)(t,p.normalButton,!m),Object(E.a)(t,p.activeButton,m),t),b=r.a.createElement(l,{className:p.buttonIcon}),g=r.a.createElement(r.a.Fragment,null,r.a.createElement(i,{className:w()(p.buttonIcon,p.buttonIconActiveLeft)}),s,r.a.createElement(Mn,{className:w()(p.buttonIcon,p.buttonIconActiveRight)}));return r.a.createElement("button",{className:w()(h,n),onClick:function(){var e=!m;c(e),f(e)}},m?g:b)}));function Yn(){return(Yn=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zn=a.createElement("desc",null,"Created with Sketch."),_n=a.createElement("g",{id:"icon/action/external-link/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("polyline",{id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2,points:"20 12.1113 20 21.0003 0 21.0003 0 1.0003 8.889 1.0003"}),a.createElement("polyline",{id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2,points:"14.4443 1 20.0003 1 20.0003 6.556"}),a.createElement("line",{x1:10,y1:11,x2:20,y2:1,id:"Stroke-5",stroke:"#FFFFFF",strokeWidth:2}));function Un(e,t){var n=e.title,r=e.titleId,l=Gn(e,["title","titleId"]);return a.createElement("svg",Yn({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zn,_n)}var Jn=a.forwardRef(Un);n.p;function Kn(){return(Kn=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Xn=a.createElement("desc",null,"Created with Sketch."),ea=a.createElement("g",{id:"icon/action/external-link/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-7",transform:"translate(0.000000, 1.000000)",stroke:"#1B2559",strokeWidth:2},a.createElement("polyline",{id:"Stroke-1",points:"20 11.1113 20 20.0003 0 20.0003 0 0.0003 8.889 0.0003"}),a.createElement("polyline",{id:"Stroke-3",points:"14.4443 0 20.0003 0 20.0003 5.556"}),a.createElement("line",{x1:10,y1:10,x2:20,y2:0,id:"Stroke-5"})));function ta(e,t){var n=e.title,r=e.titleId,l=Qn(e,["title","titleId"]);return a.createElement("svg",Kn({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Xn,ea)}var na=a.forwardRef(ta),aa=(n.p,Object(f.a)({actionButton:{marginBottom:32},actionButtonLink:{textDecoration:"none",color:J}})),ra=function(e){var t=e.link,n=e.label,a=aa();return r.a.createElement("a",{className:a.actionButtonLink,target:"_blank",rel:"noopener noreferrer",href:t},r.a.createElement(Lt,{className:a.actionButton,color:"primary",Icon:na,InverseIcon:Jn},n))},la=n(267),ia=n(547),oa=n(350),ca=n(558),sa=n(493),ua=n(325),da=n(162),ma=n(492),fa=n(494),pa=n(557),ha=n(326),ba=n(495),ga=n(544),va={size:function(e){var t=e.size;return Object(c.a)({marginTop:"lg"===t?0:2},Pe(t))},bold:Fe,root:function(e){return{width:e.width,"& input":{textAlign:e.textAlign}}},underline:{"&:before":{borderBottomColor:K},"&:hover:not(.Mui-disabled)::before":{borderBottomColor:K}}},ya=Object(f.a)(va),Ea=Object(a.memo)((function(e){var t=e.name,n=e.onChange,a=e.onBlur,l=e.value,i=e.error,o=(e.suffix,e.textAlign),s=e.width,u=e.size,d=e.bold,m=e.className,f=e.InputProps,p=Object($e.a)(e,["name","onChange","onBlur","value","error","suffix","textAlign","width","size","bold","className","InputProps"]),h=ya({textAlign:o,width:s,size:u}),b=!i&&!ma.a(l)&&!pa.a(l),g=Object(E.a)({},h.bold,d);return r.a.createElement(ga.a,Object.assign({id:t,onChange:n,onBlur:a,error:i,value:l,classes:{root:h.root},className:m,InputProps:Object(c.a)({className:w()(g),classes:{root:h.size,underline:b?h.underline:null}},f)},p))})),Oa=function(e){e.optionsLimit;var t=e.limit,n=e.options,a=e.label,l=e.valueProp,i=e.multiple,o=e.onChange,c=e.getLabel,s=e.value,u=e.error,d=e.fullWidth,m=e.textAlign,f=e.size,p=e.autoFocus,h=Object($e.a)(e,["optionsLimit","limit","options","label","valueProp","multiple","onChange","getLabel","value","error","fullWidth","textAlign","size","autoFocus"]),b=function(e){return function(t){return ca.a(sa.a(l,t))(e)}},g=ua.a(l),v=l?(i?da.a(b(n)):b(n))(s):s,y=function(){return ma.a(v)?[]:i?v:[v]};return r.a.createElement(ia.a,Object.assign({options:n,multiple:i,value:v,onChange:function(e,t){if(!l)return o(e,t);var n=i?da.a(g)(t):g(t);o(e,n)},getOptionLabel:c,forcePopupIcon:!1,filterOptions:function(e,n){var a=n.inputValue;return fa.a(pa.a(a)?y():[],function(e,t){return Object(oa.a)(e,t,{keys:["code","display"]})}(e,a)).slice(0,ha.a(void 0)(t)&&Math.max(t,pa.a(a)?y().length:0))},openOnFocus:!0,autoHighlight:!0,disableClearable:!0,ChipProps:{onDelete:null},clearOnEscape:!0,getOptionSelected:ba.a(l)},h,{renderInput:function(e){return r.a.createElement(Ea,Object.assign({},e,{autoFocus:p,label:a,value:s,error:u,size:f,fullWidth:d,textAlign:m}))}}))},wa=(n(551),n(329),n(328),Object(f.a)({root:{color:K,"&$checked":{color:K}},checked:{}}),n(330)),xa=Object(a.memo)((function(e){var t=e.name,n=e.onChange,a=e.onBlur,l=e.value,i=e.error,o=e.suffix,c=e.textAlign,s=e.width,u=e.size,d=e.bold,m=e.className,f=e.decimalPlaces,p=(e.InputProps,Object($e.a)(e,["name","onChange","onBlur","value","error","suffix","textAlign","width","size","bold","className","decimalPlaces","InputProps"]));return r.a.createElement(wa.a,Object.assign({name:t,onChange:n,onBlur:a,value:l,error:i,suffix:o,textAlign:c,width:s,size:u,bold:d,className:m,customInput:Ea,decimalScale:f,onValueChange:function(e){n({target:{id:t,value:e.floatValue}})}},p))})),ja=n(570),Ca=n(496),ka=n(550),Sa=Object(f.a)({label:{height:16,lineHeight:"16px",margin:[[0,0,4,0]],paddingLeft:3}}),Na=function(e){var t=e.name,n=e.label,a=e.value,l=e.options,i=e.onChange,o=e.className,c=e.labelClassName,s=e.radioClassName,u=Sa();return r.a.createElement(r.a.Fragment,null,n&&r.a.createElement(ct,{className:u.label},n),r.a.createElement(ja.a,{name:t,value:a,onChange:i,className:w()(o)},l.map((function(e,t){return r.a.createElement(Ca.a,{key:t,value:e.code,control:r.a.createElement(ka.a,{className:s}),label:e.display,className:w()(c)})}))))},Ia=Object(a.memo)((function(e){var t=e.value,n=e.onFocus,l=e.onBlur,i=Object($e.a)(e,["value","onFocus","onBlur"]),c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],d=s[1],m=!!t,f=m?"":t;return r.a.createElement(Ea,Object.assign({},i,{type:"password",onFocus:function(e){d(!0),n&&n(e)},onBlur:function(e){d(!1),l&&l(e)},value:t,InputProps:{value:u?t:f},InputLabelProps:{shrink:m||u},placeholder:m?"\u26ac \u26ac \u26ac This field is set \u26ac \u26ac \u26ac":""}))})),La=n(497),Ba=Object(f.a)((function(e){return{root:{width:32,height:20,padding:0,margin:e.spacing(1)},switchBase:{padding:2,"&$disabled":{color:re,"& + $track":{backgroundColor:ae,opacity:1}},"&$checked":{transform:"translateX(58%)",color:e.palette.common.white,"&$disabled":{color:re},"& + $track":{backgroundColor:K,opacity:1,border:"none"}},"&$focusVisible $thumb":{border:"6px solid #fff"}},thumb:{width:16,height:16},track:{borderRadius:17,border:"none",backgroundColor:ie,opacity:1,transition:e.transitions.create(["background-color","border"])},disabled:{},checked:{},focusVisible:{}}})),Pa=Object(a.memo)((function(e){var t=Object.assign({},e),n=Ba();return r.a.createElement(La.a,Object.assign({focusVisibleClassName:n.focusVisible,disableRipple:!0,classes:{root:n.root,switchBase:n.switchBase,thumb:n.thumb,track:n.track,checked:n.checked,disabled:n.disabled}},t))})),Fa=function(e){var t=e.options,n=e.onChange,l=Object($e.a)(e,["options","onChange"]),i=Object(a.useState)(!1),c=Object(o.a)(i,2),s=c[0],u=c[1],d=l.field,m=d.name,f=d.onBlur,p=d.value,h=l.form,b=h.touched,g=h.errors,v=h.setFieldValue,y=h.setFieldTouched,E=!(!b[m]||!g[m]),O=Object(Rt.e)(),w=O.initialValues,x=O.values,j="Function"===la.a(t)?t(w,x):t,C=function(e){return v(m,e)};return r.a.createElement(Oa,Object.assign({name:m,onChange:function(e,t){if(n)return n(p,t,C);v(m,t)},onBlur:function(e){m&&y(m,!0),f&&f(e)},value:p,error:E,open:s,options:j,onOpen:function(){if(!l.multiple)return u(!0);u((null===p||void 0===p?void 0:p.length)!==l.limit)},onClose:function(){return u(!1)}},l))},Da=Object(a.memo)((function(e){var t=e.decimalPlaces,n=Object($e.a)(e,["decimalPlaces"]),a=n.field,l=a.name,i=a.onChange,o=a.onBlur,c=a.value,s=n.form,u=s.touched,d=s.errors,m=!(!u[l]||!d[l]);return r.a.createElement(xa,Object.assign({name:l,onChange:i,onBlur:o,value:c,error:m,decimalPlaces:t},n))})),Ta=Object(a.memo)((function(e){var t=e.label,n=Object($e.a)(e,["label"]),a=n.field,l=a.name,i=a.onChange,o=a.value;return r.a.createElement(Na,Object.assign({name:l,label:t,value:o,options:n.options,ariaLabel:l,onChange:function(e){i(e),n.resetError&&n.resetError()},className:n.className},n))})),Wa=Object(a.memo)((function(e){var t=Object.assign({},e),n=t.field,a=n.name,l=n.onChange,i=n.onBlur,o=n.value,c=t.form,s=c.touched,u=c.errors,d=!(!s[a]||!u[a]);return r.a.createElement(Ia,Object.assign({name:a,onChange:l,onBlur:i,value:o,error:d},t))})),Ra=Object(a.memo)((function(e){var t=Object.assign({},e),n=t.field,a=n.name,l=n.onChange,i=n.onBlur,o=n.value,c=t.form,s=c.touched,u=c.errors,d=!(!s[a]||!u[a]);return r.a.createElement(Ea,Object.assign({name:a,onChange:l,onBlur:i,value:o,error:d},t))}));function Aa(){return(Aa=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ma=a.createElement("style",{type:"text/css"},"\n\t.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#1B2559;}\n"),qa=a.createElement("desc",null,"Created with Sketch."),$a=a.createElement("g",{id:"color_x2F_primary_x2F_zodiac",transform:"translate(-0.000000, 0.000000)"},a.createElement("g",{id:"Mask"},a.createElement("path",{id:"path-1_1_",className:"st0",d:"M11.1,9l6.5,6.5c0.6,0.6,0.6,1.5,0,2.1c-0.3,0.3-0.7,0.4-1.1,0.4c-0.4,0-0.8-0.2-1.1-0.4 L9,11.1l-6.5,6.5C2.3,17.8,1.9,18,1.5,18c-0.4,0-0.8-0.2-1.1-0.4c-0.6-0.6-0.6-1.5,0-2.1L6.9,9L0.4,2.5C-0.1,2-0.1,1,0.4,0.4 C1-0.1,2-0.1,2.5,0.4L9,6.9l6.5-6.5c0.6-0.6,1.5-0.6,2.1,0c0.6,0.6,0.6,1.5,0,2.1L11.1,9z"})));function Ha(e,t){var n=e.title,r=e.titleId,l=za(e,["title","titleId"]);return a.createElement("svg",Aa({id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 18 18",style:{enableBackground:"new 0 0 18 18"},xmlSpace:"preserve",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ma,qa,$a)}var Va=a.forwardRef(Ha);n.p;function Ya(){return(Ya=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Za=a.createElement("desc",null,"Created with Sketch."),_a=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/warning-icon/comet"},a.createElement("rect",{id:"Rectangle",stroke:"#5F668A",strokeWidth:2,x:1,y:1,width:22,height:22,rx:11}),a.createElement("path",{d:"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z",id:"!",fill:"#5F668A",fillRule:"nonzero"})));function Ua(e,t){var n=e.title,r=e.titleId,l=Ga(e,["title","titleId"]);return a.createElement("svg",Ya({width:"24px",height:"24px",viewBox:"0 0 24 24",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Za,_a)}var Ja=a.forwardRef(Ua),Ka=(n.p,"100%"),Qa="column",Xa={dialog:{backgroundColor:ee,width:Ka,minHeight:Ka,display:"flex",flexDirection:Qa,padding:0},wrapper:{width:ue,height:Ka,margin:"0 auto",flex:1,display:"flex",flexDirection:Qa},contentDiv:{display:"flex",flex:1,flexDirection:"row"},headerDiv:{display:"flex",justifyContent:"space-between",alignItems:"center"},contentWrapper:{marginLeft:48},button:{marginTop:64},nameTitle:{marginTop:16,marginBottom:25},qrTitle:{marginTop:12,marginBottom:40},qrCodeWrapper:{display:"flex"},qrTextWrapper:{width:381,marginLeft:80,display:"flex",flexDirection:"column",alignItems:"center"},qrTextIcon:{marginRight:16},qrText:{marginTop:0},item:{position:"relative",margin:"12px 0 12px 0",display:"flex"},itemText:{extend:Be.p,color:ce,marginRight:24},itemTextActive:{extend:Be.tl2,color:J},itemTextPast:{color:J},stepperPath:{position:"absolute",height:25,width:1,border:[[1,"solid",ce]],right:8,top:18},stepperPast:{border:[[1,"solid",J]]}};function er(){var e=Object(Bt.a)(["\n {\n machines {\n name\n deviceId\n }\n }\n"]);return er=function(){return e},e}function tr(){var e=Object(Bt.a)(["\n mutation createPairingTotem($name: String!) {\n createPairingTotem(name: $name)\n }\n"]);return tr=function(){return e},e}var nr=zt()(tr()),ar=zt()(er()),rr=Object(f.a)(Xa),lr=$t.a(Ht.a,Vt.a([],["machines"])),ir={name:""},or=Yt.d().shape({name:Yt.e().required().max(50)}),cr=[{label:"Machine name",component:function(e){var t=e.nextStep,n=e.classes,a=e.setQrCode,l=e.setName,i=Object(Pt.b)(nr,{onCompleted:function(e){var n=e.createPairingTotem;a(n),t()},onError:function(e){return console.log(e)}}),c=Object(o.a)(i,1)[0];return r.a.createElement(r.a.Fragment,null,r.a.createElement(at,{className:n.nameTitle},"Machine Name (ex: Coffee shop 01)"),r.a.createElement(Rt.d,{initialValues:ir,validationSchema:or,onSubmit:function(e){var t=e.name;l(t),c({variables:{name:t}})}},r.a.createElement(Rt.c,{className:n.form},r.a.createElement("div",null,r.a.createElement(Rt.a,{name:"name",label:"Enter machine name",component:Ra})),r.a.createElement("div",{className:n.button},r.a.createElement(on,{type:"submit"},"Submit")))))}},{label:"Scan QR code",component:function(e){var t,n=e.classes,a=e.qrCode,l=e.name,i=e.count,o=e.onPaired,c=Object(Pt.c)(ar,{pollInterval:1e4}).data,s=null===c||void 0===c||null===(t=c.machines)||void 0===t?void 0:t.find((function(e){return e.name===l}));return lr(c)>i&&s&&o(s),r.a.createElement(r.a.Fragment,null,r.a.createElement(at,{className:n.qrTitle},"Scan QR code with your new cryptomat"),r.a.createElement("div",{className:n.qrCodeWrapper},r.a.createElement("div",null,r.a.createElement(qt.a,{size:240,fgColor:J,value:a})),r.a.createElement("div",{className:n.qrTextWrapper},r.a.createElement("div",{className:n.qrCodeWrapper},r.a.createElement("div",{className:n.qrTextIcon},r.a.createElement(Ja,null)),r.a.createElement(tt,{className:n.qrText},"To pair the machine you need scan the QR code with your machine. To do this either snap a picture of this QR code or download it through the button above and scan it with the scanning bay on your machine.")))))}}],sr=Object(a.memo)((function(e){var t=e.close,n=e.onPaired,l=rr(),i=Object(Pt.c)(ar).data,c=Object(a.useState)(""),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(""),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(a.useState)(0),g=Object(o.a)(b,2),v=g[0],y=g[1],O=lr(i),x=cr[v].component;return r.a.createElement("div",null,r.a.createElement(Ft.a,{fullScreen:!0,className:l.dialog,open:!0,"aria-labelledby":"form-dialog-title"},r.a.createElement(Dt.a,{className:l.dialog},r.a.createElement("div",{className:l.wrapper},r.a.createElement("div",{className:l.headerDiv},r.a.createElement(bt,null,"Add Machine"),r.a.createElement(Tt.a,{disableRipple:!0,onClick:t},r.a.createElement(Wt.a,{color:"error"},r.a.createElement(Va,null)))),r.a.createElement("div",{className:l.contentDiv},r.a.createElement(ze,null,cr.map((function(e,t){return function(e,t,n,a){var l,i,o=e===n,c=ne;return r.a.createElement("div",{className:a.item},r.a.createElement("span",{className:w()((l={},Object(E.a)(l,a.itemText,!0),Object(E.a)(l,a.itemTextActive,o),Object(E.a)(l,a.itemTextPast,c),l))},t.label),o&&r.a.createElement(D,null),c&&r.a.createElement(N,null),s&&r.a.createElement(M,null),n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var mr=a.createElement("desc",null,"Created with Sketch."),fr=a.createElement("g",{id:"icon/button/add/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z",id:"Stroke-1",stroke:"#FFFFFF"}),a.createElement("line",{x1:6,y1:3.69230769,x2:6,y2:8.30769231,id:"Stroke-3",stroke:"#FFFFFF"}),a.createElement("line",{x1:3.69230769,y1:6,x2:8.30769231,y2:6,id:"Stroke-5",stroke:"#FFFFFF"}));function pr(e,t){var n=e.title,r=e.titleId,l=dr(e,["title","titleId"]);return a.createElement("svg",ur({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,mr,fr)}var hr=a.forwardRef(pr);n.p;function br(){return(br=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var vr=a.createElement("desc",null,"Created with Sketch."),yr=a.createElement("defs",null,a.createElement("path",{d:"M17.8413132,12.8764646 C17.8413132,12.8764646 16.6555879,12.5091919 15.661533,12.2855556 C15.661533,12.2855556 15.3477198,10.3246465 14.8939121,8.23646465 C14.8939121,8.23646465 15.1560495,8.21373737 15.3383242,8.8710101 L16.0223242,12.0219192 C16.0223242,12.0219192 17.2343571,12.2991919 18.1795549,12.6537374 L17.8413132,12.8764646 Z M15.2603407,6.10282828 L15.5328132,5.80555556 C16.0627253,5.87828283 16.3483516,6.02828283 16.3483516,6.02828283 L16.291978,6.11191919 L16.3972088,6.9310101 C16.2440604,6.93646465 16.0091703,7.05919192 16.0091703,7.05919192 L15.8315934,6.95010101 L15.8315934,6.38282828 C15.3026209,6.29919192 15.2556429,6.21828283 15.2556429,6.21828283 L15.2603407,6.10282828 Z M12.4557527,18.2873737 C11.2831813,18.4964646 9.84565385,18.2237374 9.84565385,18.2237374 L9.89732967,17.9991919 C9.89732967,17.9991919 11.6496099,18.1955556 12.6248736,17.8973737 C12.5553462,18.0628283 12.5356154,18.1137374 12.4557527,18.2873737 L12.4557527,18.2873737 Z M9.18984066,14.5464646 C8.379,15.1364646 7.56064286,15.6791919 7.00442308,16.1091919 C6.9705989,16.6955556 6.91516484,17.6464646 6.91516484,17.6464646 L5.46448352,18.5182828 L5.22207692,18.3737374 C5.27845055,17.9219192 5.34891758,17.5882828 5.34891758,17.5882828 L5.55186264,17.4410101 C5.50676374,17.7282828 5.48515385,18.1346465 5.48515385,18.1346465 L6.5928956,17.440101 C6.63705495,16.7019192 6.72443407,15.960101 6.72443407,15.960101 C6.9705989,15.7373737 8.73697253,14.5237374 10.0100803,13.6864646 C10.0100803,13.6864646 10.018533,13.9437374 9.18984066,14.5464646 L9.18984066,14.5464646 Z M14.977533,0.195555556 C15.2612802,0.167373737 15.5065055,0.184646465 15.7103901,0.228282828 L15.7103901,0.228282828 L15.8813901,0.697373737 L16.1003077,0.361919192 C16.2694286,0.447373737 16.3746593,0.547373737 16.4056648,0.624646465 C16.4056648,0.624646465 16.3615055,0.909191919 16.4319725,1.36464646 C16.5005604,1.80373737 16.6988077,2.78191919 16.6988077,2.78191919 C16.9740989,3.00646465 17.2850934,3.51282828 17.2850934,3.51282828 C17.4758242,4.41737374 17.4645495,5.04919192 17.4636099,5.1210101 C16.6734396,4.68646465 15.6173736,4.58555556 15.6173736,4.58555556 L15.6173736,4.58555556 L15.2481264,4.90828283 C15.9753462,5.00828283 16.8792033,5.26555556 17.1122143,5.44555556 C17.2484505,5.74737374 17.3386484,6.22828283 17.3386484,6.22828283 L17.3386484,6.22828283 L17.0445659,6.58919192 L17.3198571,6.8810101 C17.3386484,7.22464646 17.2183846,7.56919192 17.2183846,7.56919192 C17.7905769,7.93010101 17.9512418,8.79373737 18.3101538,10.250101 C18.6700055,11.7064646 18.9903956,12.9055556 18.9903956,12.9055556 L18.9903956,12.9055556 L18.4567253,13.2019192 C19.1623352,15.7282828 18.444511,17.7391919 17.5378352,19.0664646 C16.6320989,20.3946465 16.0862143,21.7137374 16.1031264,22.8910101 L16.1031264,22.8910101 L16.5475385,23.2346465 L16.7749121,23.9491919 L14.3048077,23.9491919 L14.293533,23.2728283 C14.2925934,21.5619192 14.9230385,20.1328283 14.9230385,20.1328283 C15.2857088,20.0473737 15.6596538,19.7628283 15.6596538,19.7628283 C15.0733681,19.8828283 14.3414505,19.7964646 14.3414505,19.7964646 C14.8676044,18.8537374 15.0292088,18.1773737 15.0292088,18.1773737 L15.0292088,18.1773737 L14.7811648,18.1228283 C14.6956648,18.310101 14.6073462,18.4937374 14.5133901,18.6710101 C13.8754286,19.8864646 13.1735769,20.6628283 12.7554725,22.4055556 L12.7554725,22.4055556 L13.1933077,22.7455556 L13.6987912,23.9491919 L10.8509835,23.9491919 C10.8340714,21.8246465 11.495522,20.2273737 11.7341703,19.7628283 C10.2233571,19.9264646 8.42128022,19.1782828 6.99314835,19.4664646 C6.60041209,21.9473737 4.59257143,22.4355556 3.65019231,22.300101 L3.65019231,22.300101 L2.97652747,23.4146465 L3.58724176,23.9491919 L1.33135714,23.9491919 C1.32008242,23.8546465 1.2918956,23.7537374 1.22988462,23.6591919 C1.22988462,23.6591919 1.97401648,22.5882828 2.48231868,21.150101 C2.89008791,21.3255556 3.75166484,20.9928283 3.78736813,20.1055556 C3.82401099,19.2191919 3.67086264,17.8419192 4.46854945,16.7891919 C5.2652967,15.7355556 6.12687363,15.1655556 7.25152747,14.3328283 C7.98250549,13.7910101 9.22084615,12.8755556 9.99974176,12.3010101 L9.99974176,12.3010101 L9.61546154,12.3864646 L6.81087363,14.6491919 L5.82997253,14.6491919 L8.66368681,12.1164646 L8.29725824,12.1091919 L5.33576374,14.6491919 L4.34170879,14.6491919 L7.27313736,11.720101 L6.9208022,11.7173737 L3.88038462,14.6491919 L2.86565934,14.6491919 L5.8093022,11.3037374 L5.46918132,11.3055556 L2.43534066,14.6491919 L1.36706044,14.6491919 L4.22614286,10.8528283 L3.89635714,10.8573737 L0.963989011,14.6491919 L0,14.6491919 C0,14.6491919 4.11809341,8.22464646 4.92893407,7.00737374 C5.73883516,5.79010101 6.6192033,4.62282828 8.06894505,4.38464646 C9.53465934,4.14282828 10.5343516,4.46646465 11.2502967,5.63373737 C11.636456,6.2610101 12.1034176,6.97828283 12.4698462,7.55919192 C12.0968407,8.1510101 11.6298791,8.6110101 11.5857198,9.32282828 C11.534044,10.1419192 12.0921429,10.6373737 12.6558791,10.6773737 C12.2321374,10.5282828 11.8976538,10.0337374 12.0489231,9.37646465 C12.2058297,8.69737374 12.7554725,8.35191919 13.1726374,7.80282828 C13.5315495,7.32828283 13.5371868,6.63282828 13.5108791,6.4010101 C13.4836319,6.16919192 13.2167967,5.98828283 13.2167967,5.98828283 C13.2167967,5.98828283 13.2252527,5.52373737 13.2167967,5.01646465 C13.2083407,4.51010101 13.4300769,4.21828283 13.4300769,4.21828283 C13.4300769,4.21828283 13.4216209,3.4610101 13.3943736,2.57646465 C13.3671264,1.72555556 13.2863242,1.46828283 13.205522,1.35464646 C13.205522,1.35464646 13.2694121,1.10919192 13.5099396,0.844646465 L13.5099396,0.844646465 L13.7542253,1.06282828 L13.8284505,0.571919192 C13.9825385,0.469191919 14.1723297,0.375555556 14.4072198,0.307373737 C14.4325879,0.30010101 14.4570165,0.294646465 14.4823846,0.288282828 L14.4823846,0.288282828 L14.7896209,0.644646465 Z M7.71628243,19.8937938 C8.32897736,19.8402566 9.02386307,19.9393405 9.75797621,20.0432188 L9.75797621,20.0432188 L9.86538462,20.058401 C9.7449004,20.8103202 9.02106112,21.7691969 7.79193531,22.0896215 L7.79193531,22.0896215 L9.01358923,23.5151515 L7.36136769,23.5151515 C7.15589073,23.2226941 6.50396838,22.32135 6.16586538,21.9681638 C6.72065317,21.6525335 7.42954868,21.0388524 7.71628243,19.8937938 Z",id:"path-1"})),Er=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"nav-/-primary-/-1440",transform:"translate(-128.000000, -14.000000)"},a.createElement("g",{id:"icon/lamassu-logo",transform:"translate(128.000000, 14.000000)"},a.createElement("g",{id:"color/amaz/default"},a.createElement("mask",{id:"mask-2",fill:"white"},a.createElement("use",{xlinkHref:"#path-1"})),a.createElement("use",{id:"Mask",fill:"#16D6D3",xlinkHref:"#path-1"})))));function Or(e,t){var n=e.title,r=e.titleId,l=gr(e,["title","titleId"]);return a.createElement("svg",br({width:"19px",height:"24px",viewBox:"0 0 19 24",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,vr,yr,Er)}var wr=a.forwardRef(Or),xr=(n.p,Be.tl2),jr=Be.p,Cr=56,kr=40;var Sr={header:{backgroundColor:J,color:Z,height:Cr,display:"flex"},content:{maxWidth:ue,flex:1,display:"flex",alignItems:"center",margin:"0 auto"},nav:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between"},ul:{display:"flex",paddingLeft:36,height:56,margin:0},li:{listStyle:"none",color:Z,margin:[[20,20,0,20]],"&:hover":{color:Z},"&:hover::after":{width:"50%",marginLeft:"-25%"},position:"relative","&:after":{content:'""',display:"block",background:Z,width:0,height:4,left:"50%",marginLeft:0,bottom:-8,position:"absolute",borderRadius:1e3,transition:[["all","0.2s","cubic-bezier(0.95, 0.1, 0.45, 0.94)"]]}},link:{extend:jr,textDecoration:"none",border:"none",color:Z,backgroundColor:"transparent"},forceSize:{display:"inline-block",textAlign:"center","&:after":{display:"block",content:"attr(forcesize)",fontWeight:700,height:0,overflow:"hidden",visibility:"hidden"}},activeLink:{color:Z,"& li::after":{width:"50%",marginLeft:"-25%"}},addMachine:{marginLeft:"auto"},subheader:{backgroundColor:te,color:Z,height:kr,display:"flex"},subheaderUl:{display:"flex",paddingLeft:0},subheaderLi:{extend:xr,display:"flex",alignItems:"center",height:24,listStyle:"none",padding:[[0,20]],"&:first-child":{paddingLeft:0}},subheaderLink:{extend:jr,textDecoration:"none",border:"none",color:ce},activeSubheaderLink:{extend:xr,color:le},white:{color:Z},logo:{display:"flex",alignItems:"center","& > svg":{marginRight:16}}},Nr=Object(f.a)(Sr),Ir=function(e){var t=e.item,n=e.classes,l=Object(a.useState)(null),i=Object(o.a)(l,2),c=i[0],s=i[1];return r.a.createElement("div",{className:n.subheader},r.a.createElement("div",{className:n.content},r.a.createElement("nav",null,r.a.createElement("ul",{className:n.subheaderUl},t.children.map((function(e,t){return r.a.createElement("li",{key:t,className:n.subheaderLi},r.a.createElement(y.b,{to:{pathname:e.route,state:{prev:c}},className:n.subheaderLink,activeClassName:n.activeSubheaderLink,isActive:function(t){return!!t&&(s(e.route),!0)}},e.label))}))))))},Lr=Object(a.memo)((function(e){var t=e.tree,n=Object(a.useState)(!1),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)(),u=Object(o.a)(s,2),d=u[0],m=u[1],f=Object(v.h)(),p=Nr();return r.a.createElement("header",null,r.a.createElement("div",{className:p.header},r.a.createElement("div",{className:p.content},r.a.createElement("div",{className:p.logo},r.a.createElement(wr,null),r.a.createElement(Xe,{className:p.white},"Lamassu Admin")),r.a.createElement("nav",{className:p.nav},r.a.createElement("ul",{className:p.ul},t.map((function(e,t){return r.a.createElement(y.b,{key:t,to:e.route||e.children[0].route,isActive:function(t){return!!t&&(m(e),!0)},className:w()(p.link,p.whiteLink),activeClassName:p.activeLink},r.a.createElement("li",{className:p.li},r.a.createElement("span",{className:p.forceSize,forcesize:e.label},e.label)))}))),r.a.createElement(Lt,{color:"secondary",Icon:Kt,InverseIcon:hr,onClick:function(){return c(!0)}},"Add machine")))),d&&d.children&&r.a.createElement(Ir,{item:d,classes:p}),i&&r.a.createElement(sr,{close:function(){return c(!1)},onPaired:function(e){c(!1),f.push("/maintenance/machine-status",{id:e.deviceId})}}))})),Br=n(351),Pr=n(454),Fr=n(541),Dr=n(559),Tr=n(562),Wr=n(236),Rr=n(531),Ar=n(567),zr=n(553),Mr=n(554),qr=n(525),$r=n(560),Hr=n(331),Vr=n.n(Hr),Yr=function(){var e=Object(v.h)(),t=new URLSearchParams(Object(v.i)().search);return Vr()({url:"".concat("","/api/register?otp=").concat(t.get("otp")),method:"GET",options:{withCredentials:!0},trigger:[],customHandler:function(t,n){t||n&&e.push("/wizard",{fromAuthRegister:!0})}}),r.a.createElement("span",null,"registering...")},Gr=n(48),Zr=n.n(Gr),_r=n(69),Ur=n(552),Jr=n(223),Kr=n(502);function Qr(){return(Qr=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var el=a.createElement("desc",null,"Created with Sketch."),tl=a.createElement("g",{id:"icon/action/help/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M20.0004,11 C20.0004,6.03028475 15.9701153,2 11.0004,2 C6.03004556,2 2.0004,6.02992391 2.0004,11 C2.0004,15.9700761 6.03004556,20 11.0004,20 C15.9701153,20 20.0004,15.9697153 20.0004,11 Z M22.0004,11 C22.0004,17.0742847 17.0746847,22 11.0004,22 C4.92544514,22 0.000400000001,17.0746147 0.000400000001,11 C0.000400000001,4.92538534 4.92544514,0 11.0004,0 C17.0746847,0 22.0004,4.92571525 22.0004,11 Z",id:"Stroke-1",fill:"#1B2559",fillRule:"nonzero"}),a.createElement("path",{d:"M9.9164,8.9063 C9.9164,9.45858475 9.46868475,9.9063 8.9164,9.9063 C8.36411525,9.9063 7.9164,9.45858475 7.9164,8.9063 C7.9164,6.89094438 9.72972438,5.35290249 11.7463843,5.7072003 C13.0663562,5.93764844 14.1348314,7.00654285 14.3652323,8.32479116 C14.6130182,9.7312185 13.941375,11.0876584 12.732214,11.7545735 C12.370484,11.9534687 12.1664,12.2664153 12.1664,12.5913 L12.1664,12.6563 C12.1664,13.2085847 11.7186847,13.6563 11.1664,13.6563 C10.6141153,13.6563 10.1664,13.2085847 10.1664,12.6563 L10.1664,12.5913 C10.1664,11.5009567 10.7946963,10.5375141 11.7674377,10.0026589 C12.2360927,9.74417086 12.493064,9.22519581 12.3953326,8.67046887 C12.3098185,8.1811985 11.8915858,7.76280177 11.4013649,7.67721566 C10.6126181,7.53864454 9.9164,8.1291691 9.9164,8.9063 Z",id:"Stroke-3",fill:"#1B2559",fillRule:"nonzero"}),a.createElement("path",{d:"M10.1039,15.2188 C10.1039,14.6318 10.5799,14.1568 11.1659,14.1568 C11.7529,14.1568 12.2289,14.6318 12.2289,15.2188 C12.2289,15.8058 11.7529,16.2808 11.1659,16.2808 C10.5799,16.2808 10.1039,15.8058 10.1039,15.2188",id:"Fill-5",fill:"#1B2559"}));function nl(e,t){var n=e.title,r=e.titleId,l=Xr(e,["title","titleId"]);return a.createElement("svg",Qr({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,el,tl)}var al=a.forwardRef(nl),rl=(n.p,Object(f.a)({transparentButton:{border:"none",backgroundColor:"transparent",marginTop:4,outline:"none",cursor:"pointer"},popoverContent:function(e){return{width:e.width,padding:[[10,15]]}}})),ll=Object(a.memo)((function(e){var t=e.children,n=e.width,l=e.Icon,i=void 0===l?al:l,c=rl({width:n}),s=Object(a.useState)(null),u=Object(o.a)(s,2),d=u[0],m=u[1],f=Boolean(d);return r.a.createElement(Kr.a,{onClickAway:function(){m(null)}},r.a.createElement("div",null,r.a.createElement("button",{className:c.transparentButton,onClick:function(e){m(d?null:e.currentTarget)}},r.a.createElement(i,null)),r.a.createElement(vn,{open:f,anchorEl:d,placement:"bottom"},r.a.createElement("div",{className:c.popoverContent},t))))})),il=n(344);function ol(){return(ol=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var sl=a.createElement("desc",null,"Created with Sketch."),ul=a.createElement("defs",null,a.createElement("path",{id:"arrow-path",d:"M5.3501239,7.53208616 L0.473798314,2.73082122 C-0.158421727,2.1051411 -0.158421727,1.0952488 0.476737158,0.466675069 C1.11220338,-0.155816755 2.1378971,-0.155816755 2.77494316,0.468226909 L6.49990857,4.13723769 L10.2264532,0.466675069 C10.8619195,-0.155816755 11.8876132,-0.155816755 12.5260183,0.469568675 C13.1582383,1.0952488 13.1582383,2.1051411 12.5245507,2.73226987 L7.64673876,7.53497972 C7.33802629,7.83583835 6.92590837,8 6.49990828,8 C6.0739082,8 5.66179027,7.83583835 5.3501239,7.53208616 Z"})),dl=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fillRule:"evenodd"},a.createElement("g",{id:"icon/action/arrow/regular"},a.createElement("mask",{id:"mask-2",fill:"white"},a.createElement("use",{xlinkHref:"#path-1"})),a.createElement("use",{id:"Mask",fillRule:"nonzero",xlinkHref:"#arrow-path"})));function ml(e,t){var n=e.title,r=e.titleId,l=cl(e,["title","titleId"]);return a.createElement("svg",ol({width:"13px",height:"8px",viewBox:"0 0 13 8",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,sl,ul,dl)}var fl=a.forwardRef(ml),pl=(n.p,n(332)),hl=n(503),bl=n(228),gl=bl.create({checkTypes:!1,env:bl.env}),vl=gl.compose(gl.joinWith(""))(pl.a(0,gl.toLower)),yl=gl.compose(gl.joinWith(""))(pl.a(0,gl.toUpper)),El=gl.compose(yl)(gl.toLower),Ol=$t.a(gl.splitOn(" "),hl.a(/([A-Z])/g," $1"),vl),wl=$t.a(gl.joinWith(" "),gl.map(El),Ol),xl=Be.p,jl=152,Cl={selectedItem:{width:111,display:"block",whiteSpace:"nowrap",overflow:"hidden"},select:{width:jl,zIndex:2,"& label":{extend:Be.label1,color:ie,paddingLeft:10},"& button":{extend:xl,position:"relative",border:0,backgroundColor:te,width:jl,padding:[[6,0,6,12]],borderRadius:20,lineHeight:"1.14",textAlign:"left",color:ie,cursor:"pointer",outline:"0 none"},"& ul":{maxHeight:"200px",width:jl,overflowY:"auto",position:"absolute",margin:0,borderTop:0,padding:0,borderRadius:[[0,0,8,8]],backgroundColor:te,outline:"0 none","& li":{extend:xl,listStyleType:"none",padding:[[6,12]],cursor:"pointer","& span":{width:"100%",display:"block",overflow:"hidden",whiteSpace:"nowrap"}},"& li:hover":{backgroundColor:ie,color:Z}},"& svg":{position:"absolute",top:12,right:14,fill:ie}},selectFiltered:{"& button":{backgroundColor:ie,color:Z},"& ul":{"& li":{backgroundColor:ie,color:Z},"& li:hover":{backgroundColor:te,color:ie}},"& svg":{fill:[[Z],"!important"]}},open:{"& button":{borderRadius:[[8,8,0,0]]}}},kl=Object(f.a)(Cl);var Sl=function(e){var t,n=e.label,a=e.items,l=Object($e.a)(e,["label","items"]),i=kl(),o=Object(il.a)({items:a,selectedItem:l.selectedItem,onSelectedItemChange:function(e){l.onSelectedItemChange(e.selectedItem)}}),c=o.isOpen,s=o.selectedItem,u=o.getToggleButtonProps,d=o.getLabelProps,m=o.getMenuProps,f=o.getItemProps,p=(t={},Object(E.a)(t,i.select,!0),Object(E.a)(t,i.selectFiltered,s!==l.default),Object(E.a)(t,i.open,c),t);return r.a.createElement("div",{className:w()(p)},r.a.createElement("label",d(),wl(n)),r.a.createElement("button",u(),r.a.createElement("span",{className:i.selectedItem},wl(s)),r.a.createElement(fl,null)),r.a.createElement("ul",m(),c&&a.map((function(e,t){return r.a.createElement("li",Object.assign({key:"".concat(e).concat(t)},f({item:e,index:t})),r.a.createElement("span",null,wl(e)))}))))},Nl=n(569),Il=n(16),Ll=Object(a.memo)((function(e){var t=e.classes,n=Object($e.a)(e,["classes"]);return r.a.createElement(Nl.a,Object.assign({size:"small",classes:t},n))})),Bl=Object(Il.a)((function(e){return{root:{backgroundColor:te,borderRadius:4,margin:e.spacing(.5,.25),height:18},label:{fontSize:ye,color:le,fontWeight:500,fontFamily:xe,paddingRight:4,paddingLeft:4}}}))(Ll),Pl={cashOut:{empty:_,full:J},cashIn:{empty:J,full:_}},Fl=function(e){var t=e.percent,n=e.cashOut;return Pl[n?"cashOut":"cashIn"][t>=50?"full":"empty"]},Dl={cashbox:{borderColor:Fl,backgroundColor:Fl,height:118,width:80,border:"2px solid",textAlign:"end",display:"inline-block"},emptyPart:{backgroundColor:"white",height:function(e){var t=e.percent;return"".concat(100-t,"%")},position:"relative","& > p":{color:Fl,display:"inline-block",position:"absolute",margin:0,bottom:0,right:0}},fullPart:{backgroundColor:Fl,"& > p":{color:"white",display:"inline"}}},Tl={row:{display:"flex",justifyContent:"space-between"},innerRow:{display:"flex",justifyContent:"flex-start"},col2:{marginLeft:16},noMarginText:{marginTop:0,marginBottom:0},link:{marginTop:8},chip:{margin:[[0,0,0,7]]}},Wl=Object(f.a)(Dl),Rl=Object(f.a)(Tl),Al=function(e){var t=e.percent,n=void 0===t?0:t,a=e.cashOut,l=void 0!==a&&a,i=e.className,o=Wl({percent:n,cashOut:l});return r.a.createElement("div",{className:w()(i,o.cashbox)},r.a.createElement("div",{className:o.emptyPart},n<=51&&r.a.createElement(st,null,n.toFixed(0),"%")),r.a.createElement("div",{className:o.fullPart},n>51&&r.a.createElement(st,null,n.toFixed(0),"%")))},zl=function(e){var t=e.capacity,n=void 0===t?500:t,a=e.denomination,l=void 0===a?0:a,i=e.currency,o=e.notes,c=e.className,s=100*o/n,u=Rl();return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:u.row},r.a.createElement("div",{className:u.col},r.a.createElement(Al,{className:c,percent:s,cashOut:!0})),r.a.createElement("div",{className:u.col2},r.a.createElement("div",{className:u.innerRow},r.a.createElement(at,{className:u.noMarginText},o),r.a.createElement(Bl,{className:u.chip,label:"".concat(l," ").concat(i.code)})),r.a.createElement("div",{className:u.innerRow},r.a.createElement(ct,{className:u.noMarginText},o*l," ",i.code)))))},Ml=n(504),ql=n(505),$l=n(506),Hl=n(507),Vl="cashOut",Yl="wallets",Gl="operatorInfo",Zl="notifications",_l="locale",Ul="commissions",Jl="receipt",Kl="coinAtmRadar",Ql="termsConditions",Xl=Ml.a((function(e,t){return ql.a(da.a(pl.a(0,e),$l.a(t)))})),ei=Ml.a((function(e,t){return ql.a(Wr.a((function(t){return e(t[0])}),$l.a(t)))})),ti=Ml.a((function(e,t){return Hl.a(e,t)?t.slice(e.length):t})),ni=Ml.a((function(e,t){return $t.a(function(e){return Xl(ti("".concat(e,"_")))}(e),function(e){return ei(Hl.a("".concat(e,"_")))}(e))(t)})),ai=Ml.a((function(e,t){return Xl((function(t){return"".concat(e,"_").concat(t)}))(t)})),ri={grid:{flex:1,height:"100%"},content:{display:"flex",flexDirection:"column",flex:1,marginLeft:48},footer:{margin:[["auto",0,24,"auto"]]},modalTitle:{lineHeight:"120%",color:J,fontSize:14,fontFamily:me,fontWeight:900},subtitle:{display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"row"},white:{color:Z},deleteButton:{paddingLeft:13},addressRow:{marginLeft:8},error:{color:se}},li=n(508),ii=n(353),oi=Object(f.a)({modal:{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center"},wrapper:function(e){var t=e.width,n=e.height;return{width:t,height:n,display:"flex",flexDirection:"column",minHeight:null!==n&&void 0!==n?n:400,maxHeight:"90vh",overflowY:"auto",borderRadius:8,outline:0}},infoPanelWrapper:function(e){var t=e.width,n=e.infoPanelHeight;return{width:t,height:n,marginTop:16,display:"flex",flexDirection:"column",minHeight:null!==n&&void 0!==n?n:200,maxHeight:"90vh",overflowY:"auto",borderRadius:8,outline:0}},panelContent:{width:"100%",display:"flex",flexDirection:"column",flex:1,padding:[[0,24]]},content:function(e){var t=e.small;return{width:"100%",display:"flex",flexDirection:"column",flex:1,padding:e.xl?[[0,88]]:t?[[0,16]]:[[0,32]]}},button:function(e){var t=e.small,n=e.xl;return{padding:[[0,0,n?26:0,0]],margin:n?[[0,0,"auto","auto"]]:t?[[12,12,"auto","auto"]]:[[16,16,"auto","auto"]]}},header:{display:"flex"},title:function(e){return{margin:e.small?[[20,0,8,16]]:[[28,0,8,32]]}}}),ci=function(e){var t=e.width,n=e.height,a=e.infoPanelHeight,l=e.title,i=e.small,o=e.xl,c=e.infoPanel,s=e.handleClose,u=e.children,d=(e.secondaryModal,e.className),m=e.closeOnEscape,f=e.closeOnBackdropClick,p=Object($e.a)(e,["width","height","infoPanelHeight","title","small","xl","infoPanel","handleClose","children","secondaryModal","className","closeOnEscape","closeOnBackdropClick"]),h=oi({width:t,height:n,small:i,infoPanelHeight:a,xl:o}),b=i?Xe:Je,g=o?28:i?16:20;return r.a.createElement(ii.a,Object.assign({onClose:function(e,t){(f||"backdropClick"!==t)&&(m||"escapeKeyDown"!==t)&&s()},className:h.modal},p),r.a.createElement(r.a.Fragment,null,r.a.createElement(bn.a,{className:w()(h.wrapper,d)},r.a.createElement("div",{className:h.header},l&&r.a.createElement(b,{className:h.title},l),r.a.createElement(kn,{size:g,className:h.button,onClick:function(){return s()}},r.a.createElement(Va,null))),r.a.createElement("div",{className:h.content},u)),c&&r.a.createElement(bn.a,{className:w()(h.infoPanelWrapper,d)},r.a.createElement("div",{className:h.panelContent},c))))},si=Object(f.a)(ri),ui=function(e){var t=e.onClose,n=e.selectedCoin,a=e.addToBlacklist,l=e.errorMsg,i=si();return r.a.createElement(ci,{closeOnBackdropClick:!0,width:676,height:200,handleClose:t,open:!0},r.a.createElement(Rt.d,{initialValues:{address:""},validationSchema:Yt.d({address:Yt.e().trim().required("An address is required")}),onSubmit:function(e,t){var r=e.address,l=t.resetForm;!function(e){"BCH"!==n.code||e.startsWith("bitcoincash:")||(e="bitcoincash:"+e),a(n.code,e)}(r.trim()),l()}},r.a.createElement(Rt.c,{id:"address-form"},r.a.createElement(Qe,null,n.display?"Blacklist ".concat(li.a(n.display)," address"):""),r.a.createElement("span",{className:i.error},l),r.a.createElement(Rt.b,{name:"address",fullWidth:!0,autoComplete:"off",label:"Paste new address to blacklist here",placeholder:"ex: ".concat({BTC:"1ADwinnimZKGgQ3dpyfoUZvJh4p1UWSSpD",ETH:"0x71C7656EC7ab88b098defB751B7401B5f6d8976F",LTC:"LPKvbjwV1Kaksktzkr7TMK3FQtQEEe6Wqa",DASH:"XqQ7gU8eM76rEfey726cJpT2RGKyJyBrcn",ZEC:"t1KGyyv24eL354C9gjveBGEe8Xz9UoPKvHR",BCH:"qrd6za97wm03lfyg82w0c9vqgc727rhemg5yd9k3dm"}[n.code]),component:Ra}))),r.a.createElement("div",{className:i.footer},r.a.createElement(Bn,{type:"submit",form:"address-form"},"Blacklist address")))},di=n(83),mi=n(511),fi=n(183),pi=n(509),hi=n(510),bi=Be.tl2,gi=Be.label1,vi={size:function(e){var t=e.size;return Pe(t)},bold:Fe,header:{extend:bi,backgroundColor:Ne,height:je,textAlign:"left",color:Z,display:"flex",alignItems:"center"},doubleHeader:{extend:bi,backgroundColor:Ne,height:Se,color:Z,display:"table-row"},thDoubleLevel:function(e){return{width:e.width,display:"table-cell","& > :first-child":{margin:[[0,10]],extend:gi,fontWeight:700,display:"flex",justifyContent:"center",alignItems:"center",backgroundColor:ie,color:Z,borderRadius:[[0,0,8,8]],height:28},"& > :last-child":{padding:[[0,11]],display:"table-cell",verticalAlign:"middle",height:Se-28}}},cellDoubleLevel:{display:"flex",padding:[[0,16]]},td:function(e){var t=e.textAlign;return{width:e.width,padding:[[1,24,0,24]],textAlign:t}},tdHeader:{verticalAlign:"middle",display:"table-cell",padding:[[0,24]]},trError:{backgroundColor:Ie},mainContent:function(e){return{display:"flex",alignItems:"center",minHeight:"lg"===e.size?68:48}},cardContentRoot:{margin:0,padding:0,"&:last-child":{padding:0}},card:{extend:Be.p,"&:before":{height:0},margin:[[4,0,0,0]],width:"100%",boxShadow:[[0,0,4,0,"rgba(0, 0, 0, 0.08)"]]},actionCol:{marginLeft:"auto"},errorContent:{padding:[[12,0,12,24]],color:se}},yi=Object(f.a)(vi),Ei=function(e){var t=e.children,n=e.className,a=Object($e.a)(e,["children","className"]);return r.a.createElement("div",Object.assign({className:w()(n)},a),t)},Oi=function(e){var t=e.children,n=e.className,a=yi();return r.a.createElement("div",{className:w()(n,a.header)},t)},wi=function(e){var t=e.children,n=e.className,a=yi();return r.a.createElement("div",{className:w()(n,a.doubleHeader)},t)},xi=function(e){var t=e.children,n=e.className;return r.a.createElement("div",{className:w()(n)},t)},ji=function(e){var t,n=e.children,a=e.header,l=e.className,i=e.width,o=void 0===i?100:i,c=e.size,s=e.bold,u=e.textAlign,d=e.action,m=yi({textAlign:u,width:o,size:c}),f=(t={},Object(E.a)(t,m.td,!0),Object(E.a)(t,m.tdHeader,a),Object(E.a)(t,m.actionCol,d),Object(E.a)(t,m.size,!a),Object(E.a)(t,m.bold,!a&&s),t);return r.a.createElement("div",{className:w()(l,f)},n)},Ci=function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement(ji,Object.assign({header:!0},n),t)},ki=function(e){var t=e.title,n=e.children,a=e.className,l=e.width,i=yi({width:l});return r.a.createElement("div",{className:w()(a,i.thDoubleLevel)},r.a.createElement("div",null,t),r.a.createElement("div",null,n))},Si=function(e){var t,n=e.onClick,a=e.error,l=e.errorMessage,i=e.children,o=e.className,c=e.size,s=yi({size:c}),u={root:s.cardContentRoot},d=(t={},Object(E.a)(t,s.tr,!0),Object(E.a)(t,s.trError,a),Object(E.a)(t,s.card,!0),Object(E.a)(t,"className",o),t);return r.a.createElement(r.a.Fragment,null,r.a.createElement(pi.a,{className:w()(d,o),onClick:n},r.a.createElement(hi.a,{classes:u},r.a.createElement("div",{className:s.mainContent},i),a&&r.a.createElement("div",{className:s.errorContent},l))))};function Ni(){return(Ni=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Li=a.createElement("desc",null,"Created with Sketch."),Bi=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/action/expand/closed",transform:"translate(1.000000, 1.000000)",stroke:"#1B2559",strokeWidth:1.5},a.createElement("circle",{id:"Oval-4",cx:14,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy",cx:8,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy-2",cx:2,cy:2,r:2})));function Pi(e,t){var n=e.title,r=e.titleId,l=Ii(e,["title","titleId"]);return a.createElement("svg",Ni({width:"18px",height:"6px",viewBox:"0 0 18 6",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Li,Bi)}var Fi=a.forwardRef(Pi);n.p;function Di(){return(Di=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Wi=a.createElement("desc",null,"Created with Sketch."),Ri=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/action/expand/open",transform:"translate(1.000000, 1.000000)",fill:"#1B2559",stroke:"#1B2559",strokeWidth:1.5},a.createElement("circle",{id:"Oval-4",cx:14,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy",cx:8,cy:2,r:2}),a.createElement("circle",{id:"Oval-4-Copy-2",cx:2,cy:2,r:2})));function Ai(e,t){var n=e.title,r=e.titleId,l=Ti(e,["title","titleId"]);return a.createElement("svg",Di({width:"18px",height:"6px",viewBox:"0 0 18 6",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Wi,Ri)}var zi=a.forwardRef(Ai),Mi=(n.p,{expandButton:{outline:"none",border:"none",backgroundColor:"transparent",cursor:"pointer",padding:4},rowWrapper:{padding:1},row:{border:[[2,"solid","transparent"]],borderRadius:0},expanded:{border:[[2,"solid",Y]],boxShadow:"0 0 8px 0 rgba(0,0,0,0.08)"},before:{paddingTop:12},after:{paddingBottom:12},pointer:{cursor:"pointer"},body:{flex:[[1,1,"auto"]]},table:function(e){return{marginBottom:30,minHeight:200,width:e.width,flex:1,display:"flex",flexDirection:"column"}}}),qi=Object(f.a)(Mi),$i=function(e){var t,n=e.id,a=e.elements,l=e.data,i=e.width,o=e.Details,c=e.expanded,s=e.expandRow,u=e.expWidth,d=e.expandable,m=e.onClick,f=qi(),p=m||d,h=(t={},Object(E.a)(t,f.pointer,p),Object(E.a)(t,f.row,!0),Object(E.a)(t,f.expanded,c),t);return r.a.createElement("div",{className:f.rowWrapper},r.a.createElement("div",{className:w()(Object(E.a)({},f.before,c&&0!==n))},r.a.createElement(Si,{className:w()(h),onClick:function(){d&&s(n),m&&m(l)},error:l.error,errorMessage:l.errorMessage},a.map((function(e,t){var n=e.view,a=void 0===n?function(e){return null===e||void 0===e?void 0:e.toString()}:n,i=Object($e.a)(e,["view"]);return r.a.createElement(ji,Object.assign({key:t},i),a(l))})),d&&r.a.createElement(ji,{width:u,textAlign:"center"},r.a.createElement("button",{onClick:function(){return s(n)},className:f.expandButton},c&&r.a.createElement(zi,null),!c&&r.a.createElement(Fi,null))))),d&&c&&r.a.createElement("div",{className:f.after},r.a.createElement(Si,{className:w()(Object(E.a)({},f.expanded,c))},r.a.createElement(ji,{width:i},r.a.createElement(o,{it:l})))))},Hi=function(e){var t=e.elements,n=void 0===t?[]:t,l=e.data,i=void 0===l?[]:l,c=e.Details,s=(e.className,e.expandable),u=e.initialExpanded,d=e.onClick,m=e.loading,f=e.emptyText,p=Object($e.a)(e,["elements","data","Details","className","expandable","initialExpanded","onClick","loading","emptyText"]),h=Object(a.useState)(u),b=Object(o.a)(h,2),g=b[0],v=b[1];Object(a.useEffect)((function(){return v(u)}),[u]);var y=$t.a(mi.a,da.a(ua.a("width")))(n),E=1200-y,O=y+(s?E:0),w=qi({width:O}),x=function(e){v(e===g?null:e)},j=new fi.c({defaultHeight:62,fixedWidth:!0});function C(e){var t=e.index,a=e.key,l=e.parent,o=e.style;return r.a.createElement(fi.b,{cache:j,columnIndex:0,key:a,parent:l,rowIndex:t},r.a.createElement("div",{style:o},r.a.createElement($i,{width:O,id:t,expWidth:E,elements:n,data:i[t],Details:c,expanded:t===g,expandRow:x,expandable:s,onClick:d})))}return r.a.createElement(qe.a,{display:"flex",flex:"1",flexDirection:"column"},r.a.createElement(Ei,{className:w.table},r.a.createElement(Oi,null,n.map((function(e,t){var n=e.width,a=e.className,l=e.textAlign,i=e.header;return r.a.createElement(Ci,{key:t,width:n,className:a,textAlign:l},i)})),s&&r.a.createElement(Ci,{width:E})),r.a.createElement(xi,{className:w.body},m&&r.a.createElement(Xe,null,"Loading..."),!m&&pa.a(i)&&r.a.createElement(Xe,null,f),r.a.createElement(fi.a,{disableWidth:!0},(function(e){var t=e.height;return r.a.createElement(fi.d,Object.assign({style:{overflow:"inherit",outline:"none"}},p,{height:m?0:t,width:O,rowCount:i.length,rowHeight:j.rowHeight,rowRenderer:C,overscanRowCount:50,deferredMeasurementCache:j}))})))))},Vi=n(338);function Yi(){return(Yi=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zi=a.createElement("desc",null,"Created with Sketch."),_i=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinejoin:"round"},a.createElement("g",{id:"icon/action/copy",transform:"translate(1.000000, 1.000000)",stroke:"#1B2559"},a.createElement("g",{id:"Group-5-Copy-2"},a.createElement("polyline",{id:"Stroke-1",strokeWidth:2,points:"6 1.2 6 -0.00024 16 -0.00024 16 13.06376 12 13.06376"}),a.createElement("polygon",{id:"Stroke-3",strokeWidth:2,strokeLinecap:"round",points:"0 15.9368 10 15.9368 10 2.9368 0 2.9368"}))));function Ui(e,t){var n=e.title,r=e.titleId,l=Gi(e,["title","titleId"]);return a.createElement("svg",Yi({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zi,_i)}var Ji=a.forwardRef(Ui),Ki=(n.p,{titleWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center",flexDirection:"row"},wrapper:{flex:1,display:"flex",flexDirection:"row",height:"100%"},tableWrapper:{flex:1,marginLeft:40,display:"block",overflowX:"auto",width:"100%",maxWidth:"78%",maxHeight:"70vh"},table:{whiteSpace:"nowrap",display:"block","& th":{position:"sticky",top:0}},dateColumn:{minWidth:160},levelColumn:{minWidth:100},fillColumn:{width:"100%"},shareButton:{margin:8,display:"flex",alignItems:"center",fontSize:ve,padding:[[0,12]]},shareIcon:{marginRight:6},button:{margin:8},titleAndButtonsContainer:{display:"flex"},buttonsWrapper:{display:"flex",marginLeft:16,"& > *":{margin:"auto 6px"}}}),Qi=Be.label1,Xi={wrapper:{extend:Be.mono,display:"flex",alignItems:"center",height:32},address:{lineBreak:"anywhere"},buttonWrapper:{"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},popoverContent:{extend:Qi,display:"flex",justifyContent:"center",alignItems:"center",color:Z,borderRadius:4,padding:[[5,9]]}},eo={idCardDataCard:{extend:Be.p,display:"flex",padding:[[11,8]],"& > div":{display:"flex",flexDirection:"column","& > div":{width:144,height:37,marginBottom:15,"&:last-child":{marginBottom:0}}}}},to={label:{extend:Qi,color:ie,marginBottom:4}},no={titleWrapper:Ki.titleWrapper,titleAndButtonsContainer:Ki.titleAndButtonsContainer,buttonsWrapper:Ki.buttonsWrapper,headerLabels:{display:"flex",flexDirection:"row","& div":{display:"flex",alignItems:"center"},"& > div:first-child":{marginRight:24},"& span":{extend:Qi,marginLeft:6}},overflowTd:{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}},ao=Object(f.a)(Xi),ro=function(e){var t=e.className,n=e.buttonClassname,l=e.children,i=(Object($e.a)(e,["className","buttonClassname","children"]),Object(a.useState)(null)),c=Object(o.a)(i,2),s=c[0],u=c[1];Object(a.useEffect)((function(){s&&setTimeout((function(){return u(null)}),3e3)}),[s]);var d=ao(),m=Boolean(s),f=m?"simple-popper":void 0;return r.a.createElement("div",{className:d.wrapper},l&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:w()(d.address,t)},l),r.a.createElement("div",{className:w()(d.buttonWrapper,n)},r.a.createElement(Vi.CopyToClipboard,{text:hl.a(/\s/g,"")(l)},r.a.createElement("button",{"aria-describedby":f,onClick:function(e){return function(e){u(s?null:e.currentTarget)}(e)}},r.a.createElement(Ji,null)))),r.a.createElement(vn,{id:f,open:m,anchorEl:s,onClose:function(){u(null)},arrowSize:3,bgColor:q,placement:"top"},r.a.createElement("div",{className:d.popoverContent},r.a.createElement("div",null,"Copied to clipboard!")))))};function lo(){return(lo=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var oo=a.createElement("desc",null,"Created with Sketch."),co=a.createElement("g",{id:"icon/action/delete/enabled",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round"},a.createElement("line",{x1:9,y1:9,x2:9,y2:18,id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:13,y1:9,x2:13,y2:18,id:"Stroke-2",stroke:"#1B2559",strokeWidth:2}),a.createElement("polyline",{id:"Stroke-3",stroke:"#1B2559",strokeWidth:2,strokeLinejoin:"round",points:"3 6 5 21 17 21 19 6"}),a.createElement("line",{x1:1,y1:5,x2:21,y2:5,id:"Stroke-5",stroke:"#1B2559",strokeWidth:2}),a.createElement("path",{d:"M14,4 C14,2.343 12.657,1 11,1 C9.343,1 8,2.343 8,4",id:"Stroke-7",stroke:"#1B2559",strokeWidth:2}));function so(e,t){var n=e.title,r=e.titleId,l=io(e,["title","titleId"]);return a.createElement("svg",lo({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,oo,co)}var uo=a.forwardRef(so),mo=(n.p,Object(f.a)(ri)),fo=function(e){var t=e.data,n=e.selectedCoin,a=e.handleDeleteEntry,l=mo(),i=[{name:"address",header:r.a.createElement(ct,{className:l.white},"Addresses"),width:800,textAlign:"left",size:"sm",view:function(e){return r.a.createElement("div",{className:l.addressRow},r.a.createElement(ro,null,Jr.a(["address"],e)))}},{name:"deleteButton",header:r.a.createElement(ct,{className:l.white},"Delete"),width:130,textAlign:"center",size:"sm",view:function(e){return r.a.createElement(kn,{className:l.deleteButton,onClick:function(){return a(Jr.a(["cryptoCode"],e),Jr.a(["address"],e))}},r.a.createElement(uo,null))}}],o=n?t[n.code]:t[di.a(t)[0]];return r.a.createElement(Hi,{data:o,elements:i,name:"blacklistTable"})};function po(){var e=Object(Bt.a)(["\n mutation InsertBlacklistRow($cryptoCode: String!, $address: String!) {\n insertBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n"]);return po=function(){return e},e}function ho(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return ho=function(){return e},e}function bo(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return bo=function(){return e},e}function go(){var e=Object(Bt.a)(["\n query getBlacklistData {\n blacklist {\n cryptoCode\n address\n }\n cryptoCurrencies {\n display\n code\n }\n }\n"]);return go=function(){return e},e}function vo(){var e=Object(Bt.a)(["\n mutation DeleteBlacklistRow($cryptoCode: String!, $address: String!) {\n deleteBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n"]);return vo=function(){return e},e}var yo=Object(f.a)(ri),Eo=Ur.a((function(e){return e.cryptoCode})),Oo=zt()(vo()),wo=zt()(go()),xo=zt()(bo()),jo=zt()(ho()),Co=zt()(po()),ko=function(){var e,t,n,l=Object(Pt.c)(wo).data,i=Object(Pt.c)(jo).data,c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],m=s[1],f=Object(a.useState)({code:"BTC",display:"Bitcoin"}),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Object(a.useState)(null),v=Object(o.a)(g,2),y=v[0],E=v[1],O=Object(Pt.b)(Oo,{onError:function(){return console.error("Error while deleting row")},refetchQueries:function(){return["getBlacklistData"]}}),w=Object(o.a)(O,1)[0],x=Object(Pt.b)(Co,{onError:function(){return console.log("Error while adding row")},refetchQueries:function(){return["getBlacklistData"]}}),j=Object(o.a)(x,1)[0],C=Object(Pt.b)(xo,{refetchQueries:function(){return["getData"]}}),k=Object(o.a)(C,1)[0],S=yo(),N=null!==(e=Jr.a(["blacklist"])(l))&&void 0!==e?e:[],I=null!==(t=Jr.a(["cryptoCurrencies"],l))&&void 0!==t?t:[],L=Eo(N),B=(null===i||void 0===i?void 0:i.config)&&ni("compliance")(i.config),P=null!==(n=null===B||void 0===B?void 0:B.rejectAddressReuse)&&void 0!==n&&n,F=function(){var e=Object(_r.a)(Zr.a.mark((function e(t,n){var a,r;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return E(null),e.next=3,j({variables:{cryptoCode:t,address:n}});case 3:if((a=e.sent).errors){e.next=6;break}return e.abrupt("return",m(!1));case 6:r=a.errors.some((function(e){return e.message.includes("duplicate")})),E(r?"This address is already being blocked":"Server error");case 8:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Blacklisted addresses"},r.a.createElement("div",null,r.a.createElement(Bn,{onClick:function(){return m(!0)}},"Blacklist new addresses"))),r.a.createElement(d.a,{container:!0,className:S.grid},r.a.createElement(ze,{data:I,isSelected:sa.a("code",h.code),displayName:function(e){return e.display},onClick:function(e){b({code:e.code,display:e.display})}}),r.a.createElement("div",{className:S.content},r.a.createElement(qe.a,{display:"flex",justifyContent:"space-between",mb:3},r.a.createElement(Xe,{noMargin:!0,className:S.subtitle},h.display?"".concat(h.display," blacklisted addresses"):""," "),r.a.createElement(qe.a,{display:"flex",alignItems:"center",justifyContent:"end",mr:"-5px"},r.a.createElement(tt,null,"Reject reused addresses"),r.a.createElement(Pa,{checked:P,onChange:function(e){!function(e){var t=ai("compliance")(e);k({variables:{config:t}})}({rejectAddressReuse:e.target.checked})},value:P}),r.a.createElement(st,null,P?"On":"Off"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,'The "Reject reused addresses" option means that all addresses that are used once will be automatically rejected if there\'s an attempt to use them again on a new transaction.')))),r.a.createElement(fo,{data:L,selectedCoin:h,handleDeleteEntry:function(e,t){w({variables:{cryptoCode:e,address:t}})}}))),u&&r.a.createElement(ui,{onClose:function(){E(null),m(!1)},errorMsg:y,selectedCoin:h,addToBlacklist:F}))},So=n(339),No=n(519),Io=n(156),Lo=n(337),Bo=n(561),Po=n(517),Fo=n(97),Do=n(238),To=n(518),Wo=n(556),Ro=function(e){var t=e.message,n=void 0===t?"You have unsaved changes on this page. Are you sure you want to leave?":t,a=Object(Rt.e)();return r.a.createElement(v.a,{when:a.dirty&&0===a.submitCount,message:n})},Ao=r.a.createContext(),zo=n(549),Mo=n(513),qo=n(514),$o=function(){var e=Object(a.useContext)(Ao),t=e.elements,n=e.enableEdit,l=e.editWidth,i=e.enableDelete,c=e.deleteWidth,s=e.enableToggle,u=e.toggleWidth,d=e.DEFAULT_COL_SIZE,m=function(e,t){var n=e.name,a=e.width,l=void 0===a?d:a,i=e.header,o=e.textAlign;return r.a.createElement(ji,{header:!0,key:t,width:l,textAlign:o},i||wl(n))},f=function(e){var t=zo.a(Dr.a("doubleHeader"))(e),n=Object(o.a)(t,2),a=n[0],r=n[1];if(!a.length)return[e,Oi];var l=Mo.a(a[0],e),i=$t.a(mi.a,da.a(Jr.a(["width"])))(a);return[qo.a(l,{width:i,elements:a,name:a[0].doubleHeader},r),wi]}(t),p=Object(o.a)(f,2),h=p[0],b=p[1];return r.a.createElement(b,null,h.map((function(e,t){var n=e.width,a=e.elements,l=e.name;return a&&a.length?r.a.createElement(ki,{key:t,width:n,title:l},a.map(m)):m(e,t)})),n&&r.a.createElement(ji,{header:!0,width:l,textAlign:"center"},"Edit"),i&&r.a.createElement(ji,{header:!0,width:c,textAlign:"center"},"Delete"),s&&r.a.createElement(ji,{header:!0,width:u,textAlign:"center"},"Enable"))},Ho=n(515),Vo=n(516);function Yo(){return(Yo=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zo=a.createElement("defs",null,a.createElement("path",{id:"a",d:"M0 0h22v22H0z"})),_o=a.createElement("g",{fill:"none",fillRule:"evenodd"},a.createElement("mask",{id:"b",fill:"#fff"},a.createElement("use",{xlinkHref:"#a"})),a.createElement("path",{stroke:"#9B9B9B",strokeWidth:2,strokeLinecap:"round",mask:"url(#b)",d:"M9 9v9M13 9v9"}),a.createElement("g",{mask:"url(#b)",stroke:"#9B9B9B",strokeLinecap:"round",strokeWidth:2},a.createElement("path",{strokeLinejoin:"round",d:"M3 6l2 15h12l2-15"}),a.createElement("path",{d:"M1 5h20M14 4a3 3 0 10-6 0"})));function Uo(e,t){var n=e.title,r=e.titleId,l=Go(e,["title","titleId"]);return a.createElement("svg",Yo({width:22,height:22,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zo,_o)}var Jo=a.forwardRef(Uo);n.p;function Ko(){return(Ko=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Xo=a.createElement("desc",null,"Created with Sketch."),ec=a.createElement("g",{id:"icon/action/edit/disabled",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18",id:"Stroke-1",stroke:"#9B9B9B",strokeWidth:2}),a.createElement("polygon",{id:"Stroke-3",stroke:"#9B9B9B",strokeWidth:2,points:"6 12 17 1 21 5 10 16 6 16"}));function tc(e,t){var n=e.title,r=e.titleId,l=Qo(e,["title","titleId"]);return a.createElement("svg",Ko({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Xo,ec)}var nc=a.forwardRef(tc);n.p;function ac(){return(ac=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var lc=a.createElement("desc",null,"Created with Sketch."),ic=a.createElement("g",{id:"icon/action/edit/enabled",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18",id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("polygon",{id:"Stroke-3",stroke:"#1B2559",strokeWidth:2,points:"6 12 17 1 21 5 10 16 6 16"}));function oc(e,t){var n=e.title,r=e.titleId,l=rc(e,["title","titleId"]);return a.createElement("svg",ac({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,lc,ic)}var cc=a.forwardRef(oc);n.p;function sc(){return(sc=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var dc=a.createElement("defs",null,a.createElement("pattern",{id:"pattern_68JiZ",patternUnits:"userSpaceOnUse",width:5.5,height:5.5,patternTransform:"rotate(45)"},a.createElement("line",{x1:0,y:0,x2:0,y2:5.5,stroke:"#DBDFED",strokeWidth:3}))),mc=a.createElement("rect",{width:"100%",height:"100%",fill:"url(#pattern_68JiZ)",opacity:1});function fc(e,t){var n=e.title,r=e.titleId,l=uc(e,["title","titleId"]);return a.createElement("svg",sc({width:"100%",height:"36px",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,dc,"{' '}\n ",mc)}var pc=a.forwardRef(fc),hc=(n.p,{saveButton:{marginRight:20},lastOfGroup:{marginBottom:24},extraPadding:{paddingLeft:35,paddingRight:30},extraPaddingRight:{paddingRight:39},withSuffix:function(e){var t=e.textAlign;return{display:"flex",alignItems:"baseline",justifyContent:"right"===t?"end":t}},suffix:{marginLeft:7},size:function(e){var t=e.size;return Pe(t)},bold:Fe}),bc=Object(f.a)(hc),gc=function(e){var t=e.disabled,n=e.editing,l=bc(),i=Object(Rt.e)(),o=i.values,c=i.submitForm,s=i.resetForm,u=Object(a.useContext)(Ao),d=u.editWidth,m=u.onEdit,f=u.enableEdit,p=u.enableDelete,h=u.disableRowEdit,b=u.onDelete,g=u.deleteWidth,v=u.enableToggle,y=u.onToggle,E=u.toggleWidth,O=u.forceAdd,w=u.clearError,x=u.actionColSize,j=t||h&&h(o);return r.a.createElement(r.a.Fragment,null,n&&r.a.createElement(ji,{textAlign:"center",width:x},r.a.createElement(Bn,{className:l.saveButton,type:"submit",color:"primary",onClick:c},"Save"),!O&&r.a.createElement(Bn,{color:"secondary",onClick:function(){w(),s()}},"Cancel")),!n&&f&&r.a.createElement(ji,{textAlign:"center",width:d},r.a.createElement(kn,{disabled:j,className:l.editButton,onClick:function(){return m&&m(o.id)}},j?r.a.createElement(nc,null):r.a.createElement(cc,null))),!n&&p&&r.a.createElement(ji,{textAlign:"center",width:g},r.a.createElement(kn,{disabled:t,onClick:function(){return b(o.id)}},t?r.a.createElement(Jo,null):r.a.createElement(uo,null))),!n&&v&&r.a.createElement(ji,{textAlign:"center",width:E},r.a.createElement(Pa,{checked:!!o.active,value:!!o.active,disabled:t,onChange:function(){return y(o.id)}})))},vc=function(e){var t,n=e.editing,a=e.focus,l=e.config,i=e.extraPaddingRight,o=e.extraPadding,s=l.name,u=l.bypassField,d=l.input,m=l.editable,f=void 0===m||m,p=l.size,h=l.bold,b=l.width,g=l.textAlign,v=l.suffix,y=l.SuffixComponent,O=void 0===y?ot:y,w=l.view,x=void 0===w?function(e){return null===e||void 0===e?void 0:e.toString()}:w,j=l.inputProps,C=void 0===j?{}:j,k=Object(Rt.e)().values,S=bc({textAlign:g,size:p}),N=Object(c.a)({fullWidth:!0,autoFocus:a,size:p,bold:h,textAlign:g},C);N.options&&!N.getLabel&&(N.getLabel=x);var I=n&&f,L=!u;return r.a.createElement(ji,{className:(t={},Object(E.a)(t,S.extraPaddingRight,i),Object(E.a)(t,S.extraPadding,o),Object(E.a)(t,S.withSuffix,v),t),width:b,size:p,bold:h,textAlign:g},I&&L&&r.a.createElement(Rt.b,Object.assign({name:s,component:d},N)),I&&!L&&r.a.createElement(l.input,{name:s}),!I&&k&&r.a.createElement(r.a.Fragment,null,x(k[s],k)),v&&r.a.createElement(O,{className:S.suffix},v))},yc=function(e){var t=e.editing,n=e.disabled,l=e.lastOfGroup,i=Object(Rt.e)(),c=i.touched,s=i.errors,u=i.values,d=Object(a.useContext)(Ao),m=d.elements,f=d.enableEdit,p=d.enableDelete,h=d.error,b=d.enableToggle,g=d.rowSize,v=d.stripeWhen,y=bc(),O=v&&v(u)&&!t?function(e){var t=zo.a(Dr.a("stripe"))(e),n=Object(o.a)(t,2),a=n[0],l=n[1];if(!a.length)return e;var i=Mo.a(a[0],e),c=$t.a(mi.a,da.a(Jr.a(["width"])))(a);return qo.a(i,{width:c,editable:!1,view:function(){return r.a.createElement(pc,null)}},l)}(m):m,x=zo.a(Dr.a("doubleHeader"))(m),j=Object(o.a)(x,1)[0],C=(null===j||void 0===j?void 0:j.length)?Mo.a(j[0],m):-1,k=(null===j||void 0===j?void 0:j.length)?Mo.a(j[j.length-1],m):-1,S=O.findIndex((function(e){return void 0===e.editable||e.editable})),N=Object(E.a)({},y.lastOfGroup,l),I=Ho.a(di.a(c),s),L=I&&di.a(I).length>0||!!h,B=h||I&&Vo.a(I).join(", ");return r.a.createElement(Si,{className:w()(N),size:g,error:t&&L,errorMessage:B},O.map((function(e,n){return r.a.createElement(vc,{key:n,config:e,editing:t,focus:n===S&&t,extraPaddingRight:k===n,extraPadding:C===n})})),(f||p||b)&&r.a.createElement(gc,{disabled:n,editing:t}))},Ec={wrapper:function(e){return{width:e.width}},addLink:{marginLeft:"auto"},title:{margin:0,color:ie},outerHeader:{minHeight:16,marginBottom:24,display:"flex",justifyContent:"space-between",alignItems:"center"}},Oc=Object(f.a)(Ec),wc=$t.a(Io.a(Lo.a)(0),da.a((function(e){var t;return null!==(t=e.width)&&void 0!==t?t:100}))),xc=function(e){var t,n,l,i=e.name,s=e.title,u=e.titleLg,d=e.elements,m=void 0===d?[]:d,f=e.data,p=void 0===f?[]:f,h=e.save,b=e.error,g=e.rowSize,v=void 0===g?"md":g,y=e.validationSchema,O=e.enableCreate,w=e.enableEdit,x=e.editWidth,j=e.enableDelete,C=e.deleteWidth,k=void 0===C?87:C,S=e.enableToggle,N=e.toggleWidth,I=void 0===N?87:N,L=e.onToggle,B=e.forceDisable,P=e.disableAdd,F=e.initialValues,D=e.setEditing,T=e.shouldOverrideEdit,W=e.editOverride,R=e.stripeWhen,A=e.disableRowEdit,z=e.groupBy,M=e.sortBy,q=e.createText,$=void 0===q?"Add override":q,H=e.forceAdd,V=void 0!==H&&H,Y=Object(a.useState)(null),G=Object(o.a)(Y,2),Z=G[0],_=G[1],U=Object(a.useState)(!1),J=Object(o.a)(U,2),K=J[0],Q=J[1],X=Object(a.useState)(!1),ee=Object(o.a)(X,2),te=ee[0],ne=ee[1],ae=Object(a.useState)(null),re=Object(o.a)(ae,2),le=re[0],ie=re[1];Object(a.useEffect)((function(){return ie(b)}),[b]),Object(a.useEffect)((function(){ie(null),Q(V)}),[V]);var oe=function(){var e=Object(_r.a)(Zr.a.mark((function e(t){var n,a,r;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!te){e.next=2;break}return e.abrupt("return");case 2:if(ne(!0),n=y.cast(t),a=$r.a(sa.a("id",n.id))(p),r=-1!==a?Bo.a(a,n,p):Po.a(n,p),Fo.a(p[a],n)){e.next=16;break}return e.prev=7,e.next=10,h(Object(E.a)({},i,r),n);case 10:e.next=16;break;case 12:return e.prev=12,e.t0=e.catch(7),ne(!1),e.abrupt("return");case 16:Q(!1),_(null),D&&D(!1),ne(!1);case 20:case"end":return e.stop()}}),e,null,[[7,12]])})));return function(t){return e.apply(this,arguments)}}(),ce=function(){Q(!1),_(null),D&&D(!1)},se=function(){Q(!0),ie(null),D&&D(!0,!0)},ue=j||S?87:174,de=ha.a(ue)(x),me=(null!==(t=j&&k)&&void 0!==t?t:0)+(null!==(n=w&&de)&&void 0!==n?n:0)+(null!==(l=S&&I)&&void 0!==l?l:0),fe=wc(m)+me,pe=Oc({width:fe}),he=!p.length&&O&&!K,be=!B&&!Z&&!P&&!K,ge=K||0!==p.length,ve=M?To.a(M)(p):p,ye={elements:m,enableEdit:w,onEdit:function(e){if(T&&T(e))return W(e);_(e),ie(null),D&&D(e,!0)},clearError:function(){return ie(null)},error:le,disableRowEdit:A,editWidth:de,enableDelete:j,onDelete:function(e){var t=Do.a((function(t){return t.id===e}),p);return h(Object(E.a)({},i,t))},deleteWidth:k,enableToggle:S,rowSize:v,onToggle:L,toggleWidth:I,actionColSize:me,stripeWhen:R,forceAdd:V,DEFAULT_COL_SIZE:100};return r.a.createElement(Ao.Provider,{value:ye},r.a.createElement("div",{className:pe.wrapper},he&&be&&r.a.createElement(en,{onClick:se},$),ge&&r.a.createElement(r.a.Fragment,null,(s||O)&&r.a.createElement("div",{className:pe.outerHeader},s&&u&&r.a.createElement(it,{className:pe.title},s),s&&!u&&r.a.createElement(at,{className:pe.title},s),O&&be&&r.a.createElement(Bn,{className:pe.addLink,onClick:se},$)),r.a.createElement(Ei,null,r.a.createElement($o,null),r.a.createElement(xi,null,K&&r.a.createElement(Rt.d,{initialValues:Object(c.a)({id:Object(Wo.a)()},F),onReset:ce,validationSchema:y,onSubmit:oe},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),r.a.createElement(yc,{editing:!0,disabled:B}))),ve.map((function(e,t){var n,a=ve[t+1],l=!!z&&a,i="Function"===la.a(z)?z:ua.a(z),o=l&&i(e)!==i(a);return r.a.createElement(Rt.d,{key:null!==(n=e.id)&&void 0!==n?n:t,enableReinitialize:!0,initialValues:e,onReset:ce,validationSchema:y,onSubmit:oe},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),r.a.createElement(yc,{lastOfGroup:o,editing:Z===e.id,disabled:B||Z&&Z!==e.id||K})))})))))))},jc=function(e){var t=e.name,n=e.save,a=e.data,l=void 0===a?{}:a,i=e.namespaces,o=void 0===i?[]:i,s=Object($e.a)(e,["name","save","data","namespaces"]),u=da.a((function(e){return Object(c.a)({id:e},ni(e)(l))}))(o);return r.a.createElement(xc,Object.assign({name:t,data:u,save:function(){for(var e=arguments.length,t=new Array(e),a=0;a=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Nc=a.createElement("desc",null,"Created with Sketch."),Ic=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/direction/cash-out",transform:"translate(-1.000000, 0.000000)",fill:"#5A67FF"},a.createElement("path",{d:"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z",id:"Path-3",transform:"translate(6.000000, 6.000000) scale(-1, 1) translate(-6.000000, -6.000000) "})));function Lc(e,t){var n=e.title,r=e.titleId,l=Sc(e,["title","titleId"]);return a.createElement("svg",kc({width:"10px",height:"12px",viewBox:"0 0 10 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Nc,Ic)}var Bc=a.forwardRef(Lc),Pc=(n.p,{logo:{maxHeight:80,maxWidth:200},subtitle:{margin:0,marginBottom:42,textAlign:"center"},text:{margin:0},button:{margin:[[0,"auto"]]},modalContent:{display:"flex",flexDirection:"column",justifyContent:"space-between",flex:1,padding:[[0,34,107,34]]},innerContent:{paddingBottom:72},title:{color:"#5a67ff",marginBottom:12,marginTop:30,textAlign:"center"},titleDecorator:{verticalAlign:"bottom",marginRight:12,width:24,height:26}}),Fc=Object(f.a)(Pc),Dc=function(e){var t=e.name,n=e.onContinue,a=Fc();return r.a.createElement("div",{className:a.modalContent},r.a.createElement("div",{className:a.innerContent},r.a.createElement(Je,{className:a.title},r.a.createElement(Bc,{className:a.titleDecorator}),r.a.createElement("span",null,"Enable cash-out")),r.a.createElement(at,{className:a.subtitle},t),r.a.createElement(tt,null,"You are about to activate cash-out functionality on your ",t," ","machine which will allow your customers to sell crypto to you."),r.a.createElement(tt,null,"In order to activate cash-out for this machine, please enter the denominations for the machine.")),r.a.createElement(on,{className:a.button,onClick:n},"Start configuration"))},Tc=n(520);function Wc(){return(Wc=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ac=a.createElement("desc",null,"Created with Sketch."),zc=a.createElement("g",{id:"icon/stage/spring/complete",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval",stroke:"#48F694",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}),a.createElement("path",{d:"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12",id:"Path",fill:"#48F694"}));function Mc(e,t){var n=e.title,r=e.titleId,l=Rc(e,["title","titleId"]);return a.createElement("svg",Wc({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ac,zc)}var qc=a.forwardRef(Mc);n.p;function $c(){return($c=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Vc=a.createElement("desc",null,"Created with Sketch."),Yc=a.createElement("g",{id:"icon/stage/spring/current",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-2-Copy",fill:"#48F694",cx:9,cy:9,r:4}),a.createElement("circle",{id:"Oval-Copy-5",stroke:"#48F694",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function Gc(e,t){var n=e.title,r=e.titleId,l=Hc(e,["title","titleId"]);return a.createElement("svg",$c({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Vc,Yc)}var Zc=a.forwardRef(Gc);n.p;function _c(){return(_c=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Jc=a.createElement("desc",null,"Created with Sketch."),Kc=a.createElement("g",{id:"icon/stage/spring/empty",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval-Copy-6",stroke:"#DDDDDD",strokeWidth:2,transform:"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) ",cx:9,cy:9,r:8}));function Qc(e,t){var n=e.title,r=e.titleId,l=Uc(e,["title","titleId"]);return a.createElement("svg",_c({width:"18px",height:"18px",viewBox:"0 0 18 18",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Jc,Kc)}var Xc=a.forwardRef(Qc),es=(n.p,{stages:{display:"flex",alignItems:"center"},wrapper:{display:"flex",alignItems:"center",margin:0},stage:{display:"flex",height:28,width:28,zIndex:2,"& > svg":{height:"100%",width:"100%",overflow:"visible"}},separator:{width:28,height:2,border:[[2,"solid"]],zIndex:1},separatorSpring:{borderColor:K},separatorZodiac:{borderColor:J},separatorSpringEmpty:{borderColor:ae},separatorZodiacEmpty:{borderColor:ie}}),ts=Object(f.a)(es),ns=Object(a.memo)((function(e){var t,n,a=e.steps,l=e.currentStep,i=e.color,o=void 0===i?"spring":i,c=e.className;if(l<1||l>a)throw Error("Value of currentStage is invalid");if(a<1)throw Error("Value of stages is invalid");var s=ts(),u=(t={},Object(E.a)(t,s.separator,!0),Object(E.a)(t,s.separatorSpring,"spring"===o),Object(E.a)(t,s.separatorZodiac,"zodiac"===o),t),d=(n={},Object(E.a)(n,s.separator,!0),Object(E.a)(n,s.separatorSpringEmpty,"spring"===o),Object(E.a)(n,s.separatorZodiacEmpty,"zodiac"===o),n);return r.a.createElement("div",{className:w()(c,s.stages)},Tc.a(1,l).map((function(e){return r.a.createElement("div",{key:e,className:s.wrapper},e>1&&r.a.createElement("div",{className:w()(u)}),r.a.createElement("div",{className:s.stage},"spring"===o&&r.a.createElement(qc,null),"zodiac"===o&&r.a.createElement(N,null)))})),r.a.createElement("div",{className:s.wrapper},l>1&&r.a.createElement("div",{className:w()(u)}),r.a.createElement("div",{className:s.stage},"spring"===o&&r.a.createElement(Zc,null),"zodiac"===o&&r.a.createElement(D,null))),Tc.a(l+1,a+1).map((function(e){return r.a.createElement("div",{key:e,className:s.wrapper},r.a.createElement("div",{className:w()(d)}),r.a.createElement("div",{className:s.stage},"spring"===o&&r.a.createElement(Xc,null),"zodiac"===o&&r.a.createElement(M,null)))})))})),as=n.p+"static/media/cashout-cassette-1.fac6c691.svg",rs=n.p+"static/media/cashout-cassette-2.34a98cfa.svg",ls={title:{margin:[[0,0,12,0]]},titleDiv:{paddingBottom:32},subtitle:{margin:[[32,0,21,0]]},edit:{margin:[[0,0,0,0]]},error:{color:se},bill:{width:131,display:"flex",alignItems:"center",justifyContent:"end"},billInput:{width:"100%"},suffix:{paddingLeft:16},button:{marginLeft:"auto"},submit:{float:"right"},picker:{width:150},header:{display:"flex",paddingBottom:95},thirdStepHeader:{display:"flex",paddingBottom:188},step:{flex:1},stepImage:{position:"relative",top:-20,right:14},content:{display:"flex",flexDirection:"column",justifyContent:"space-between",flex:1,paddingBottom:32},disclaimer:{display:"flex",flex:1,flexDirection:"column",justifyContent:"space-between"},disclaimerIcon:{float:"left",margin:[[-4,16,48,0]]}},is=Object(f.a)(ls),os=function(e){var t=e.name,n=e.step,a=e.schema,l=e.error,i=e.lastStep,o=e.onContinue,c=e.steps,s=e.fiatCurrency,u=e.options,d=is(),m=i?"Finish":"Next",f={1:as,2:rs};return r.a.createElement("div",{className:d.content},r.a.createElement("div",{className:d.titleDiv},r.a.createElement(at,{className:d.title},t),r.a.createElement(ns,{steps:4,currentStep:n})),n<=2&&r.a.createElement(Rt.d,{onSubmit:o,initialValues:{top:"",bottom:""},enableReinitialize:!0,validationSchema:a},r.a.createElement(Rt.c,null,r.a.createElement("div",{className:d.header},c.map((function(e,t){var a=e.type,l=e.display,i=e.component;return 1+t===n&&r.a.createElement("div",{key:t,className:d.step},r.a.createElement(Xe,{className:d.edit},"Edit ",l),r.a.createElement(ct,null,"Choose bill denomination"),r.a.createElement("div",{className:d.bill},r.a.createElement(Rt.b,{className:d.billInput,type:"text",size:"lg",autoFocus:1+t===n,component:(null===u||void 0===u?void 0:u.length)>0?i:Da,fullWidth:!0,decimalPlaces:0,name:a,options:u,valueProp:"code",getLabel:Jr.a(["display"])}),r.a.createElement(nt,{noMargin:!0,className:d.suffix},s)))})),r.a.createElement("img",{className:d.stepImage,alt:"cassette",width:"148",height:"196",src:f[n]})),r.a.createElement(on,{className:d.submit,type:"submit"},m))),3===n&&r.a.createElement(Rt.d,{onSubmit:o,initialValues:{zeroConfLimit:""},enableReinitialize:!0,validationSchema:c[n-1].schema},r.a.createElement(Rt.c,null,r.a.createElement("div",{className:d.thirdStepHeader},r.a.createElement("div",{className:d.step},r.a.createElement(Xe,{className:d.edit},"Edit 0-conf Limit"),r.a.createElement(ct,null,"Choose a limit"),r.a.createElement("div",{className:d.bill},r.a.createElement(Rt.b,{className:d.billInput,type:"text",size:"lg",autoFocus:!0,component:Da,fullWidth:!0,decimalPlaces:0,name:c[n-1].type}),r.a.createElement(nt,{noMargin:!0,className:d.suffix},s)))),r.a.createElement(on,{className:d.submit,type:"submit"},m))),i&&r.a.createElement("div",{className:d.disclaimer},r.a.createElement(at,{className:d.title},"Cash-out Bill Count"),r.a.createElement(tt,null,r.a.createElement(Ja,{className:d.disclaimerIcon}),"When enabling cash-out, your bill count will be automatically set to zero. Make sure you physically put cash inside the cash cassettes to allow the machine to dispense it to your users. If you already did, make sure you set the correct cash-out bill count for this machine on your Cash Cassettes tab under Maintenance."),r.a.createElement(at,{className:d.title},"Default Commissions"),r.a.createElement(tt,null,r.a.createElement(Ja,{className:d.disclaimerIcon}),"When enabling cash-out, default commissions will be set. To change commissions for this machine, please go to the Commissions tab under Settings where you can set exceptions for each of the available cryptocurrencies."),r.a.createElement("div",null,l&&r.a.createElement(pt,null,"Failed to save"),r.a.createElement(on,{className:d.submit,onClick:function(){return o()}},m))))},cs=999999999,ss=Yt.d().shape({top:Yt.c().label("Cassette 1 (Top)").required().min(0).max(cs),bottom:Yt.c().label("Cassette 2 (Bottom)").required().min(0).max(cs),zeroConfLimit:Yt.c().label("0-conf Limit").required().min(0).max(cs)}),us=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.fiatCurrency;return[{name:"id",header:"Machine",width:200,view:function(t){return e.find((function(e){return e.deviceId===t})).name},size:"sm",editable:!1},{name:"top",header:"Cassette 1 (Top)",size:"sm",stripe:!0,width:200,textAlign:"right",input:Da,inputProps:{decimalPlaces:0},suffix:n},{name:"bottom",header:"Cassette 2 (Bottom)",size:"sm",stripe:!0,textAlign:"right",width:200,input:Da,inputProps:{decimalPlaces:0},suffix:n},{name:"zeroConfLimit",header:"0-conf Limit",size:"sm",stripe:!0,textAlign:"right",width:200,input:Da,inputProps:{decimalPlaces:0},suffix:n}]},ds=Ml.a((function(e,t){var n=ua.a("fiatCurrency")(e);return $t.a(da.a((function(e){return{code:e,display:e}})),di.a,Jr.a([n]))(t)})),ms=function(e){var t=e.machine,n=e.locale,l=e.onClose,i=e.save,c=e.error,s=Object(a.useState)({step:0,config:{active:!0}}),u=Object(o.a)(s,2),d=u[0],m=d.step,f=d.config,p=u[1],h=ds(n,Cc),b=4===m,g=function(){var e=Object(_r.a)(Zr.a.mark((function e(n){var a;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!b){e.next=2;break}return e.abrupt("return",i(ai(t.deviceId,ss.cast(f))));case 2:a=gn.a(f,n),p({step:m+1,config:a});case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),v=[{type:"top",display:"Cassette 1 (Top)",component:Fa},{type:"bottom",display:"Cassette 2",component:Fa},{type:"zeroConfLimit",display:"0-conf Limit",schema:Yt.d().shape({zeroConfLimit:Yt.c().required()})}];return r.a.createElement(ci,{title:0===m?null:"Enable cash-out",handleClose:l,width:554,height:520,open:!0},0===m&&r.a.createElement(Dc,{name:t.name,onContinue:function(){return g()}}),0!==m&&r.a.createElement(os,{step:m,name:t.name,error:c,lastStep:b,steps:v,fiatCurrency:n.fiatCurrency,options:h,schema:Yt.d().shape({top:Yt.c().required(),bottom:m>=2?Yt.c().required():Yt.c()}),onContinue:g}))};function fs(){var e=Object(Bt.a)(["\n query getData {\n machines {\n name\n deviceId\n cashbox\n cassette1\n cassette2\n }\n config\n }\n"]);return fs=function(){return e},e}function ps(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return ps=function(){return e},e}var hs=Object(f.a)({fudgeFactor:{display:"flex",alignItems:"center",marginRight:156},switchLabel:{margin:6,width:24}}),bs=zt()(ps()),gs=zt()(fs()),vs=function(e){var t,n,l=e.name,i=hs(),c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(Pt.c)(gs).data,f=Object(Pt.b)(bs,{onCompleted:function(){return d(!1)},refetchQueries:function(){return["getData"]}}),p=Object(o.a)(f,2),h=p[0],b=p[1].error,g=function(e,t){var n=ai(l)(e);return h({variables:{config:n,accounts:t}})},v=(null===m||void 0===m?void 0:m.config)&&ni(l)(m.config),y=null!==(t=null===v||void 0===v?void 0:v.fudgeFactorActive)&&void 0!==t&&t,E=(null===m||void 0===m?void 0:m.config)&&ni("locale")(m.config),O=null!==(n=null===m||void 0===m?void 0:m.machines)&&void 0!==n?n:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Cash-out"},r.a.createElement("div",{className:i.fudgeFactor},r.a.createElement(tt,null,"Transaction fudge factor"),r.a.createElement(Pa,{checked:y,onChange:function(e){g({fudgeFactorActive:e.target.checked})},value:y}),r.a.createElement(st,{className:i.switchLabel},y?"On":"Off"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,"Automatically accept customer deposits as complete if their received amount is 100 crypto atoms or less."),r.a.createElement(tt,null,"(Crypto atoms are the smallest unit in each cryptocurrency. E.g., satoshis in Bitcoin, or wei in Ethereum.)")))),r.a.createElement(jc,{namespaces:da.a(Jr.a(["deviceId"]))(O),data:v,stripeWhen:function(e){return!ss.isValidSync(e)},enableEdit:!0,editWidth:134,enableToggle:!0,toggleWidth:109,onToggle:function(e){var t=ni(e)(v);if(!ss.isValidSync(t))return d(e);g(ai(e,{active:!(null===t||void 0===t?void 0:t.active)}))},save:g,error:null===b||void 0===b?void 0:b.message,validationSchema:ss,disableRowEdit:$t.a(So.a,Jr.a(["active"])),elements:us(O,E)}),u&&r.a.createElement(ms,{machine:ca.a(sa.a("deviceId",u))(O),onClose:function(){return d(!1)},save:g,error:null===b||void 0===b?void 0:b.message,locale:E}))},ys=n(526),Es=n(564),Os=Object(f.a)({subtitle:{color:ie,marginTop:16,marginBottom:16},extraMarginTop:{marginTop:72}}),ws=Object(a.memo)((function(e){var t,n=e.children,a=e.className,l=e.extraMarginTop,i=Os(),o=(t={},Object(E.a)(t,i.subtitle,!0),Object(E.a)(t,i.extraMarginTop,l),t);return r.a.createElement(it,{className:w()(o,a)},n)})),xs=Object(f.a)({section:{marginBottom:72},sectionHeader:{display:"flex",alignItems:"center"},sectionTitle:{margin:[[16,20,23,0]]}}),js=function(e){var t=e.error,n=e.children,a=e.title,l=xs();return r.a.createElement("div",{className:l.section},(a||t)&&r.a.createElement("div",{className:l.sectionHeader},r.a.createElement(ws,{className:l.sectionTitle},a),t&&r.a.createElement(pt,null,"Failed to save changes")),n)},Cs=n(521),ks=n(522),Ss=n(523),Ns=n(235),Is=n(524),Ls=n(563);function Bs(){return(Bs=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Fs=a.createElement("desc",null,"Created with Sketch."),Ds=a.createElement("g",{id:"Styleguide",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"icon/direction/cash-in",transform:"translate(-1.000000, 0.000000)",fill:"#16D6D3"},a.createElement("path",{d:"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z",id:"Path-3"})));function Ts(e,t){var n=e.title,r=e.titleId,l=Ps(e,["title","titleId"]);return a.createElement("svg",Bs({width:"10px",height:"12px",viewBox:"0 0 10 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Fs,Ds)}var Ws=a.forwardRef(Ts),Rs=(n.p,{name:"All Machines",deviceId:"ALL_MACHINES"}),As={display:"All Coins",code:"ALL_COINS"},zs={marginLeft:6},Ms=r.a.createElement("div",null,r.a.createElement(Ws,null),r.a.createElement("span",{style:zs},"Cash-in")),qs=r.a.createElement("div",null,r.a.createElement(Bc,null),r.a.createElement("span",{style:zs},"Cash-out")),$s=function(e,t,n){return function(a){return e?$t.a(ua.a(t),ca.a(sa.a(null!==n&&void 0!==n?n:"code",a)))(e):""}},Hs=function(e){return function(t){return t?$t.a(Cs.a(", "),da.a($s(e,"display")))(t):t}},Vs=function(e,t,n){var a=ks.a(As.code)(t),r=ks.a(As.code)(e);return a&&r&&Ht.a(t)>1?n(Do.a(Fo.a(As.code))(t)):a&&!r?n([As.code]):void n(t)},Ys=function(e){return[{header:Ms,name:"cashIn",display:"Cash-in",width:169,size:"lg",input:Da,suffix:"%",inputProps:{decimalPlaces:3}},{header:qs,name:"cashOut",display:"Cash-out",width:169,size:"lg",input:Da,suffix:"%",inputProps:{decimalPlaces:3}},{name:"fixedFee",display:"Fixed fee",width:169,size:"lg",doubleHeader:"Cash-in only",textAlign:"center",input:Da,suffix:e,inputProps:{decimalPlaces:2}},{name:"minimumTx",display:"Minimun Tx",width:169,size:"lg",doubleHeader:"Cash-in only",textAlign:"center",input:Da,suffix:e,inputProps:{decimalPlaces:2}}]},Gs=function(e,t,n){return function(e,t,n){var a=[Rs].concat(e(["machines"])),r=e(["cryptoCurrencies"]),l=[As].concat(da.a((function(e){return{display:e.code,code:e.code}}))(null!==r&&void 0!==r?r:[]));return[{name:"machine",width:196,size:"sm",view:$s(a,"name","deviceId"),input:Fa,inputProps:{options:a,valueProp:"deviceId",getLabel:Jr.a(["name"])}},{name:"cryptoCurrencies",width:280,size:"sm",view:Hs(l),input:Fa,inputProps:{options:l,valueProp:"code",getLabel:Jr.a(["display"]),multiple:!0,onChange:Vs}},{header:Ms,name:"cashIn",display:"Cash-in",width:130,input:Da,textAlign:"right",suffix:"%",inputProps:{decimalPlaces:3}},{header:qs,name:"cashOut",display:"Cash-out",width:130,input:Da,textAlign:"right",suffix:"%",inputProps:{decimalPlaces:3}},{name:"fixedFee",display:"Fixed fee",width:144,input:Da,doubleHeader:"Cash-in only",textAlign:"right",suffix:t,inputProps:{decimalPlaces:2}},{name:"minimumTx",display:"Minimun Tx",width:144,input:Da,doubleHeader:"Cash-in only",textAlign:"right",suffix:t,inputProps:{decimalPlaces:2}}]}(Jr.a(Ss.a,e),t)},Zs=100,_s=9999999,Us=Yt.d().shape({cashIn:Yt.c().label("Cash-in").min(0).max(Zs).required(),cashOut:Yt.c().label("Cash-out").min(0).max(Zs).required(),fixedFee:Yt.c().label("Fixed Fee").min(0).max(_s).required(),minimumTx:Yt.c().label("Minimum Tx").min(0).max(_s).required()}),Js=function(e,t){var n=Jr.a(Ss.a,t),a=[Rs].concat(n(["machines"])),r=n(["cryptoCurrencies"]),l=[As].concat(da.a((function(e){return{display:e.code,code:e.code}}))(null!==r&&void 0!==r?r:[]));return Yt.d().shape({machine:Yt.e().nullable().label("Machine").required(),cryptoCurrencies:Yt.a().test({test:function(){var t=this.parent,n=t.id,r=t.machine,i=t.cryptoCurrencies,o=function(e,t,n){var a=ua.a("cryptoCurrencies"),r=ua.a("machine"),l=Wr.a(sa.a("machine",t))(n),i=ca.a(sa.a("id",e))(n),o=a(i),c=r(i),s=$t.a(Ns.a,Tr.a,da.a(a))(l);return t!==c?null!==s&&void 0!==s?s:[]:Is.a(s,o)}(n,r,e),c=r===Rs.deviceId,s=ks.a(As.code,i);if(c&&s)return this.createError({message:"All machines and all coins should be configured in the default setup table"});var u=Ls.a(o,i);if(!pa.a(u)){var d=Hs(l)(u),m=$s(a,"name","deviceId")(r),f="".concat(d," already overriden for machine: ").concat(m);return this.createError({message:f})}return!0}}).label("Crypto Currencies").required(),cashIn:Yt.c().label("Cash-in").min(0).max(Zs).required(),cashOut:Yt.c().label("Cash-out").min(0).max(Zs).required(),fixedFee:Yt.c().label("Fixed Fee").min(0).max(_s).required(),minimumTx:Yt.c().label("Minimum Tx").min(0).max(_s).required()})},Ks={cashIn:"",cashOut:"",fixedFee:"",minimumTx:""},Qs={machine:null,cryptoCurrencies:[],cashIn:"",cashOut:"",fixedFee:"",minimumTx:""},Xs=function(e){var t=e.machine,n=e.cryptoCurrencies,a=t===Rs.deviceId,r=qr.a(As.code,n);return a&&r?0:a?1:r?2:3};function eu(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return eu=function(){return e},e}function tu(){var e=Object(Bt.a)(["\n query getData {\n config\n cryptoCurrencies {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n"]);return tu=function(){return e},e}var nu=zt()(tu()),au=zt()(eu()),ru=function(e){var t,n=e.name,l=Object(a.useState)(!1),i=Object(o.a)(l,2),c=i[0],s=i[1],u=Object(a.useState)(!1),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(Pt.c)(nu).data,h=Object(Pt.b)(au,{refetchQueries:function(){return["getData"]}}),b=Object(o.a)(h,2),g=b[0],v=b[1].error,y=(null===p||void 0===p?void 0:p.config)&&ni(n)(p.config),E=Jr.a(["fiatCurrency"])(ni(_l)(null===p||void 0===p?void 0:p.config)),O=y&&!pa.a(y)?y:Ks,w=null!==(t=null===O||void 0===O?void 0:O.overrides)&&void 0!==t?t:[],x=To.a([ys.a(Xs),ys.a(ua.a("machine"))])(w);return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Commissions"}),r.a.createElement(js,null,r.a.createElement(xc,{error:null===v||void 0===v?void 0:v.message,title:"Default setup",rowSize:"lg",titleLg:!0,name:"commissions",enableEdit:!0,initialValues:O,save:function(e){var t=ai(n)(e.commissions[0]);return g({variables:{config:t}})},validationSchema:Us,data:Es.a(O),elements:Ys(E),setEditing:function(e,t){return s(t)},forceDisable:m})),r.a.createElement(js,null,r.a.createElement(xc,{error:null===v||void 0===v?void 0:v.message,title:"Overrides",titleLg:!0,name:"overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,groupBy:Xs,initialValues:Qs,save:function(e){var t=ai(n)(e);return g({variables:{config:t}})},validationSchema:Js(x,p),data:x,elements:Gs(p,E),setEditing:function(e,t){return f(t)},forceDisable:c})))},lu=n(555),iu=n(340),ou=n.n(iu),cu=n(527),su=n(528),uu={error:_,warning:"#ff7311",success:X,neutral:J},du={error:U,warning:"#fbf3ec",success:H,neutral:Y},mu=Object(f.a)({root:{borderRadius:4,marginTop:4,marginRight:2,marginBottom:4,marginLeft:2,height:24,backgroundColor:function(e){var t=e.type;return du[t]}},label:{fontSize:ye,fontWeight:500,fontFamily:xe,paddingRight:4,paddingLeft:4,color:function(e){var t=e.type;return uu[t]}}}),fu=function(e){var t=e.status,n=mu({type:t.type});return r.a.createElement(Nl.a,{type:t.type,label:t.label,classes:n})},pu=function(e){var t=e.statuses,n=t.find((function(e){return"error"===e.type}))||t.find((function(e){return"warning"===e.type}))||t[0],a={label:"+".concat(t.length-1),type:n.type};return r.a.createElement("div",null,r.a.createElement(fu,{status:n}),t.length>1&&r.a.createElement(fu,{status:a}))};function hu(){return(hu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var gu=a.createElement("desc",null,"Created with Sketch."),vu=a.createElement("g",{id:"icon/button/authorize/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("circle",{id:"Oval",stroke:"#FFFFFF",cx:6,cy:6,r:5}),a.createElement("polyline",{id:"Stroke-13",stroke:"#FFFFFF",strokeLinecap:"round",strokeLinejoin:"round",points:"4 6.66666667 5 8 8 4"}));function yu(e,t){var n=e.title,r=e.titleId,l=bu(e,["title","titleId"]);return a.createElement("svg",hu({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,gu,vu)}var Eu=a.forwardRef(yu);n.p;function Ou(){return(Ou=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var xu=a.createElement("desc",null,"Created with Sketch."),ju=a.createElement("g",{id:"icon/button/authorize/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"Group-9",stroke:"#1B2559"},a.createElement("circle",{id:"Oval",cx:6,cy:6,r:5})),a.createElement("polyline",{id:"Stroke-13",stroke:"#1B2559",strokeLinecap:"round",strokeLinejoin:"round",points:"4 6.66666667 5 8 8 4"}));function Cu(e,t){var n=e.title,r=e.titleId,l=wu(e,["title","titleId"]);return a.createElement("svg",Ou({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,xu,ju)}var ku=a.forwardRef(Cu);n.p;function Su(){return(Su=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Iu=a.createElement("desc",null,"Created with Sketch."),Lu=a.createElement("g",{id:"icon/button/cancel/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",stroke:"#1B2559",strokeWidth:1.2},a.createElement("line",{x1:12,y1:0,x2:0,y2:12,id:"Stroke-1"}),a.createElement("line",{x1:0,y1:0,x2:12,y2:12,id:"Stroke-3"})));function Bu(e,t){var n=e.title,r=e.titleId,l=Nu(e,["title","titleId"]);return a.createElement("svg",Su({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Iu,Lu)}var Pu=a.forwardRef(Bu),Fu=(n.p,{label1:{display:"flex",marginBottom:2,marginTop:"auto",width:85},label1Pending:{color:q},label1Rejected:{color:_},label1Accepted:{color:V},cardActionButton:{display:"flex",height:28,marginRight:"auto",marginLeft:12},propertyCardTopRow:{display:"flex",margin:[[0,10,5,0]]},propertyCardBottomRow:{display:"flex",flexDirection:"row",height:45},propertyCard:{display:"flex",flexDirection:"column",borderRadius:8,width:"100%",height:100,padding:[[20]],boxSizing:"border-box",boxShadow:"0 0 8px 0 rgba(0, 0, 0, 0.04)",border:"solid 0",backgroundColor:Z,margin:[[20,0,0,0]]},rowSpaceBetween:{display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyContent:"space-between"},columnSpaceBetween:{display:"flex",flexFlow:"column nowrap",alignItems:"center",justifyContent:"space-between",width:90},buttonsWrapper:{display:"flex",flexDirection:"row",justifyContent:"flex-end",marginLeft:"auto",marginTop:"auto"}}),Du=Object(f.a)(Fu),Tu="automatic",Wu="verified",Ru="blocked",Au=Object(a.memo)((function(e){var t,n=e.className,a=e.title,l=e.state,i=e.authorize,o=e.reject,c=e.children,s=Du(),u=(t={},Object(E.a)(t,s.label1,!0),Object(E.a)(t,s.label1Pending,l===Tu),Object(E.a)(t,s.label1Rejected,l===Ru),Object(E.a)(t,s.label1Accepted,l===Wu),t),d=l===Tu?{label:"Pending",type:"neutral"}:l===Ru?{label:"Rejected",type:"error"}:{label:"Accepted",type:"success"};return r.a.createElement(bn.a,{className:w()(s.propertyCard,n),elevation:0},r.a.createElement(Qe,{className:s.propertyCardTopRow},a),r.a.createElement("div",{className:s.propertyCardBottomRow},r.a.createElement("div",{className:w()(u)},r.a.createElement(pu,{statuses:[d]})),c,r.a.createElement("div",{className:s.buttonsWrapper},i&&l!==Wu&&r.a.createElement(Lt,{className:s.cardActionButton,color:"secondary",Icon:ku,InverseIcon:Eu,onClick:function(){return i()}},"Authorize"),o&&l!==Ru&&r.a.createElement(Lt,{className:s.cardActionButton,color:"secondary",Icon:Pu,InverseIcon:Mn,onClick:function(){return o()}},"Reject"))))}));function zu(){return(zu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var qu=a.createElement("desc",null,"Created with Sketch."),$u=a.createElement("g",{id:"icon/button/block/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",stroke:"#FFFFFF"},a.createElement("circle",{id:"Oval",cx:6,cy:6,r:5}),a.createElement("line",{x1:9,y1:3,x2:3,y2:9,id:"Stroke-3"})));function Hu(e,t){var n=e.title,r=e.titleId,l=Mu(e,["title","titleId"]);return a.createElement("svg",zu({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,qu,$u)}var Vu=a.forwardRef(Hu);n.p;function Yu(){return(Yu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Zu=a.createElement("desc",null,"Created with Sketch."),_u=a.createElement("g",{id:"icon/button/block/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",stroke:"#1B2559"},a.createElement("circle",{id:"Oval",cx:6,cy:6,r:5}),a.createElement("line",{x1:9,y1:3,x2:3,y2:9,id:"Stroke-3"})));function Uu(e,t){var n=e.title,r=e.titleId,l=Gu(e,["title","titleId"]);return a.createElement("svg",Yu({viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Zu,_u)}var Ju=a.forwardRef(Uu),Ku=(n.p,{labelLink:{cursor:"pointer",color:q},breadcrumbs:{margin:[[20,0]]},actionLabel:{color:q,margin:[[4,0]]},customerDetails:{marginBottom:18}});function Qu(){return(Qu=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var ed=a.createElement("desc",null,"Created with Sketch."),td=a.createElement("g",{id:"icon/sf-small/search/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z",id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:13.7035238,y1:13.7046667,x2:19.4844762,y2:19.485619,id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2,strokeLinecap:"round"}));function nd(e,t){var n=e.title,r=e.titleId,l=Xu(e,["title","titleId"]);return a.createElement("svg",Qu({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,ed,td)}var ad=a.forwardRef(nd);n.p;function rd(){return(rd=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var id=a.createElement("desc",null,"Created with Sketch."),od=a.createElement("g",{id:"icon/sf-small/search/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z",id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:13.7035238,y1:13.7046667,x2:19.4844762,y2:19.485619,id:"Stroke-3",stroke:"#1B2559",strokeWidth:2,strokeLinecap:"round"}));function cd(e,t){var n=e.title,r=e.titleId,l=ld(e,["title","titleId"]);return a.createElement("svg",rd({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,id,od)}var sd=a.forwardRef(cd),ud=(n.p,Object(f.a)({row:{display:"flex",flexDirection:"row"},image:function(e){return{objectFit:"cover",borderRadius:"8px 0px 0px 8px",width:e.width,height:e.height}},popupImage:function(e){return{objectFit:"cover",width:e.popupWidth,height:e.popupHeight}},button:function(e){return{borderRadius:"0px 8px 8px 0px",height:e.height}},popoverContent:{display:"block",padding:[[10,15]]}})),dd=Object(a.memo)((function(e){var t=e.className,n=e.width,l=e.height,i=e.popupWidth,c=e.popupHeight,s=e.src,u=ud({width:n,height:l,popupWidth:i,popupHeight:c}),d=Object(a.useState)(null),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Boolean(f),b=function(e){var t=e.className;return r.a.createElement("img",{className:w()(t),src:s,alt:""})};return r.a.createElement(Kr.a,{onClickAway:function(){p(null)}},r.a.createElement("div",{className:w()(u.row,t)},r.a.createElement(b,{className:u.image}),r.a.createElement(pn,{Icon:sd,InverseIcon:ad,className:u.button,onClick:function(e){p(f?null:e.currentTarget)}}),r.a.createElement(vn,{open:h,anchorEl:f,placement:"top"},r.a.createElement("div",{className:u.popoverContent},r.a.createElement(b,{className:u.popupImage})))))}));function md(){return(md=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var pd=a.createElement("desc",null,"Created with Sketch."),hd=a.createElement("g",{id:"icon/crossed-camera",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"crossed-camera"},a.createElement("g",{id:"Group-2"},a.createElement("g",{id:"icon/ID/cam/zodiac",transform:"translate(0.000000, 3.657143)",fill:"#1B2559",fillRule:"nonzero"},a.createElement("path",{d:"M16,19.1876029 C12.4482116,19.1876029 9.56809571,16.389776 9.56809571,12.9394673 C9.56809571,9.48915858 12.4482116,6.69133172 16,6.69133172 C19.5517884,6.69133172 22.4319043,9.48915858 22.4319043,12.9394673 C22.4319043,16.389776 19.5517884,19.1876029 16,19.1876029 Z M16,17.104891 C18.3677075,17.104891 20.2879362,15.239526 20.2879362,12.9394673 C20.2879362,10.6394086 18.3677075,8.77404358 16,8.77404358 C13.6322925,8.77404358 11.7120638,10.6394086 11.7120638,12.9394673 C11.7120638,15.239526 13.6322925,17.104891 16,17.104891 Z M22.7667469,3.30692494 L30.7397807,3.30692494 C31.3318211,3.30692494 31.8117647,3.77315587 31.8117647,4.34828087 L31.8117647,22.0513317 C31.8117647,22.6264567 31.3318211,23.0926877 30.7397807,23.0926877 L1.26021934,23.0926877 C0.6681789,23.0926877 0.188235294,22.6264567 0.188235294,22.0513317 L0.188235294,4.34828087 C0.188235294,3.77315587 0.6681789,3.30692494 1.26021934,3.30692494 L9.23325311,3.30692494 L12.0766705,0.494526627 C12.2782333,0.295162767 12.5538198,0.182857143 12.8414756,0.182857143 L19.1585244,0.182857143 C19.4461802,0.182857143 19.7217667,0.295162767 19.9233295,0.494526627 L22.7667469,3.30692494 Z M29.6677966,5.3896368 L22.3170489,5.3896368 C22.0293931,5.3896368 21.7538065,5.27733118 21.5522438,5.07796732 L18.7088264,2.26556901 L13.2911736,2.26556901 L10.4477562,5.07796732 C10.2461935,5.27733118 9.97060695,5.3896368 9.68295115,5.3896368 L2.33220339,5.3896368 L2.33220339,21.0099758 L29.6677966,21.0099758 L29.6677966,5.3896368 Z",id:"Stroke-1"})),a.createElement("line",{x1:32,y1:0,x2:0,y2:32,id:"Line",stroke:"#FF584A",strokeWidth:2,strokeLinecap:"square"}))));function bd(e,t){var n=e.title,r=e.titleId,l=fd(e,["title","titleId"]);return a.createElement("svg",md({width:"32px",height:"32px",viewBox:"0 0 32 32",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,pd,hd)}var gd=a.forwardRef(bd),vd=(n.p,Object(f.a)({field:{height:46},label:{color:q,margin:[[0,3]]},value:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",margin:0,paddingLeft:4}})),yd=Object(a.memo)((function(e){var t=e.label,n=e.display,a=e.size,l=e.className,i=vd();return r.a.createElement("div",{className:w()(i.field,l),style:{width:a}},r.a.createElement(ct,{className:i.label},t),r.a.createElement(rt,{className:i.value},n))})),Ed=Object(f.a)({complianceDetailsGrid:{display:"flex",flexDirection:"row"},firstColumn:{display:"flex",flexDirection:"column",width:"100%",marginRight:10},lastColumn:{display:"flex",flexDirection:"column",width:"100%",marginLeft:10},photoWrapper:function(e){return{display:"flex",justifyContent:"center",width:e.width}}}),Od=function(e){var t=e.show,n=e.src,a=Ed({width:165});return r.a.createElement(r.a.Fragment,null,t?r.a.createElement(dd,{src:n,width:165,height:45,popupWidth:360,popupHeight:240}):r.a.createElement("div",{className:a.photoWrapper},r.a.createElement(gd,null)))},wd=function(e){var t=e.customer,n=e.updateCustomer,a=Ed({width:165}),l=Jr.a(["sanctions"])(t),i=Jr.a(["sanctionsAt"])(t)?l?"Passed":"Failed":"Not checked yet";return r.a.createElement("div",null,r.a.createElement(Qe,null,"Compliance details"),r.a.createElement("div",null,r.a.createElement(Kd,{customerData:t,updateCustomer:n}),r.a.createElement(qe.a,{className:a.complianceDetailsGrid},r.a.createElement(qe.a,{className:a.firstColumn},r.a.createElement(Au,{title:"ID photo",state:Jr.a(["idCardPhotoOverride"])(t),authorize:function(){return n({idCardPhotoOverride:Wu})},reject:function(){return n({idCardPhotoOverride:Ru})}},r.a.createElement(Od,{show:t.idCardPhotoPath,src:"".concat(Ct,"/id-card-photo/").concat(Jr.a(["idCardPhotoPath"])(t))})),r.a.createElement(Au,{title:"Front facing camera",state:Jr.a(["frontCameraOverride"])(t),authorize:function(){return n({frontCameraOverride:Wu})},reject:function(){return n({frontCameraOverride:Ru})}},r.a.createElement(Od,{show:t.frontCameraPath,src:"".concat(Ct,"/front-camera-photo/").concat(Jr.a(["frontCameraPath"])(t))}))),r.a.createElement(qe.a,{className:a.lastColumn},r.a.createElement(Au,{title:"US SSN",state:Jr.a(["usSsnOverride"])(t),authorize:function(){return n({usSsnOverride:Wu})},reject:function(){return n({usSsnOverride:Ru})}},r.a.createElement(yd,{label:"US SSN",display:t.usSsn})),r.a.createElement(Au,{title:"Sanctions check",state:Jr.a(["sanctionsOverride"])(t),authorize:function(){return n({sanctionsOverride:Wu})},reject:function(){return n({sanctionsOverride:Ru})}},r.a.createElement(rt,null,i))))))};function xd(){return(xd=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Cd=a.createElement("desc",null,"Created with Sketch."),kd=a.createElement("g",{id:"icon/ID/card/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-2",stroke:"#1B2559",strokeWidth:1.6},a.createElement("g",{id:"id-copy"},a.createElement("polygon",{id:"Stroke-1",points:"0 16 22 16 22 0 0 0"}),a.createElement("line",{x1:11.7857143,y1:4,x2:18.8571429,y2:4,id:"Stroke-3"}),a.createElement("line",{x1:11.7857143,y1:7.2,x2:18.8571429,y2:7.2,id:"Stroke-4"}),a.createElement("polygon",{id:"Stroke-5",points:"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4"}))));function Sd(e,t){var n=e.title,r=e.titleId,l=jd(e,["title","titleId"]);return a.createElement("svg",xd({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Cd,kd)}var Nd=a.forwardRef(Sd);n.p;function Id(){return(Id=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Bd=a.createElement("g",{id:"icon/sf-small/law/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"bevel"},a.createElement("line",{x1:8.4141,y1:7.4648,x2:14.0711,y2:1.8078,id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:12.6568,y1:.3936,x2:15.4858,y2:3.2216,id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:7,y1:6.0498,x2:9.829,y2:8.8788,id:"Stroke-6",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:11.2427,y1:4.6357,x2:19.2427,y2:12.6357,id:"Stroke-7",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:3,y1:16.5,x2:10,y2:16.5,id:"Stroke-9",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("line",{x1:0,y1:19.5,x2:13,y2:19.5,id:"Stroke-10",stroke:"#FFFFFF",strokeWidth:2}));function Pd(e,t){var n=e.title,r=e.titleId,l=Ld(e,["title","titleId"]);return a.createElement("svg",Id({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),void 0===n?a.createElement("title",{id:r},"icon/sf-small/law/white"):n?a.createElement("title",{id:r},n):null,Bd)}var Fd=a.forwardRef(Pd);n.p;function Dd(){return(Dd=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Wd=a.createElement("g",{id:"icon/sf-small/law/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"bevel"},a.createElement("line",{x1:8.4141,y1:7.4648,x2:14.0711,y2:1.8078,id:"Stroke-1",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:12.6568,y1:.3936,x2:15.4858,y2:3.2216,id:"Stroke-3",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:7,y1:6.0498,x2:9.829,y2:8.8788,id:"Stroke-6",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:11.2427,y1:4.6357,x2:19.2427,y2:12.6357,id:"Stroke-7",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:3,y1:16.5,x2:10,y2:16.5,id:"Stroke-9",stroke:"#1B2559",strokeWidth:2}),a.createElement("line",{x1:0,y1:19.5,x2:13,y2:19.5,id:"Stroke-10",stroke:"#1B2559",strokeWidth:2}));function Rd(e,t){var n=e.title,r=e.titleId,l=Td(e,["title","titleId"]);return a.createElement("svg",Dd({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),void 0===n?a.createElement("title",{id:r},"icon/sf-small/law/zodiac"):n?a.createElement("title",{id:r},n):null,Wd)}var Ad=a.forwardRef(Rd),zd=(n.p,{titleWrapper:Ki.titleWrapper,titleAndButtonsContainer:Ki.titleAndButtonsContainer,row:{display:"flex",flexFlow:"row nowrap"},rowSpaceBetween:{display:"flex",flexFlow:"row nowrap",alignItems:"center",justifyContent:"space-between"},column:{display:"flex",flexFlow:"column nowrap",width:"100%",height:"100%",justifyContent:"space-between"},textInput:{width:144},p:{fontFamily:"MuseoSans",fontSize:ge,fontWeight:500,fontStretch:"normal",fontStyle:"normal",lineHeight:1.14,letterSpacing:"normal",color:J},txId:{fontFamily:"MuseoSans",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},txClassIconLeft:{marginRight:11},txClassIconRight:{marginLeft:11},headerLabels:{display:"flex",flexDirection:"row","& div":{display:"flex",alignItems:"center"},"& > div:first-child":{marginRight:24},"& span":{extend:Be.label1,marginLeft:6}},photo:{width:92,height:92,borderRadius:8,backgroundColor:Y,margin:[[0,28,0,0]],alignItems:"center",justifyContent:"center",display:"flex"},img:{width:80},customerName:{marginBottom:32},icon:{marginRight:11},name:{display:"flex",flexDirection:"row",alignItems:"center"},value:{height:16},label:{marginBottom:4,color:q},idIcon:{marginRight:10},subpageButton:{marginLeft:16}}),Md=n(342),qd=function(e){return"blocked"===e.authorizedOverride?{label:"Blocked",type:"error"}:e.daysSuspended>0?{label:"".concat(e.daysSuspended," day suspension"),type:"warning"}:{label:"Authorized",type:"success"}},$d=function(e,t){var n=e&&t?Object(Md.a)(e,t):null;return n?n.formatInternational():e},Hd=function(e){var t,n,a=Jr.a(["idCardData"])(e);return"".concat(null!==(t=Jr.a(["firstName"])(a))&&void 0!==t?t:""," ").concat(null!==(n=Jr.a(["lastName"])(a))&&void 0!==n?n:"").trim()},Vd=Object(f.a)(zd),Yd=Object(a.memo)((function(e){var t=e.frontCameraPath,n=Vd();return r.a.createElement(bn.a,{className:n.photo,elevation:0},t?r.a.createElement("img",{className:n.img,src:"".concat(Ct,"/front-camera-photo/").concat(t),alt:""}):r.a.createElement(gd,null))})),Gd=Object(f.a)(zd),Zd=Object(a.memo)((function(e){var t,n,a=e.customer,l=e.locale,i=e.setShowCompliance,o=Gd(),c=[{header:"Phone number",size:172,value:$d(a.phone,l.country)},{header:"ID number",size:172,value:null!==(t=Jr.a(["idCardData","documentNumber"])(a))&&void 0!==t?t:""},{header:"US SSN",size:127,value:null!==(n=Jr.a(["usSsn"])(a))&&void 0!==n?n:""}],s=Hd(a);return r.a.createElement(qe.a,{display:"flex"},r.a.createElement(Yd,{frontCameraPath:Jr.a(["frontCameraPath"])(a)}),r.a.createElement(qe.a,{display:"flex",flexDirection:"column"},r.a.createElement("div",{className:o.name},r.a.createElement(Nd,{className:o.idIcon}),r.a.createElement(Ke,{noMargin:!0},s.length?s:$d(Jr.a(["phone"])(a),l.country)),r.a.createElement(Vn,{className:o.subpageButton,Icon:Ad,InverseIcon:Fd,toggle:i},"Compliance details")),r.a.createElement(qe.a,{display:"flex",mt:"auto"},c.map((function(e,t){var n=e.size,a=e.header;return r.a.createElement(ct,{noMargin:!0,key:t,className:o.label,style:{width:n}},a)}))),r.a.createElement(qe.a,{display:"flex"},c.map((function(e,t){var n=e.size,a=e.value;return r.a.createElement(tt,{noMargin:!0,key:t,className:o.value,style:{width:n}},a)})))))})),_d=n(28),Ud=n.n(_d),Jd=function(e,t){return ma.a(e)?"":t},Kd=Object(a.memo)((function(e){var t=e.customerData,n=e.updateCustomer,a=Jr.a(["idCardData"])(t),l=Jr.a(["expirationDate"])(a),i=Jr.a(["country"])(a),o=Jr.a(["dateOfBirth"])(a),c=[{header:"Name",display:"".concat(Hd(t)),size:190},{header:"ID number",display:Jr.a(["documentNumber"])(a),size:160},{header:"Birth Date",display:Jd(o,Ud.a.utc(o).format("YYYY-MM-DD")),size:110},{header:"Age",display:Jd(o,Ud.a.utc().diff(Ud.a.utc(o).format("YYYY-MM-DD"),"years")),size:50},{header:"Gender",display:Jr.a(["gender"])(a),size:80},{header:"Canada"===i?"Province":"State",display:Jr.a(["state"])(a),size:120},{header:"Expiration Date",display:Jd(l,Ud.a.utc(l).format("YYYY-MM-DD"))}];return r.a.createElement(Au,{title:"ID data",state:Jr.a(["idCardDataOverride"])(t),authorize:function(){return n({idCardDataOverride:Wu})},reject:function(){return n({idCardDataOverride:Ru})}},r.a.createElement(qe.a,{display:"flex",alignItems:"center"},c.map((function(e,t){var n=e.header,a=e.display,l=e.size;return r.a.createElement(yd,{key:t,label:n,display:a,size:l})}))))})),Qd=n(85),Xd=n.n(Qd),em=[{cryptoCode:"BTC",display:"Bitcoin",code:"bitcoin",unitScale:8},{cryptoCode:"ETH",display:"Ethereum",code:"ethereum",unitScale:18},{cryptoCode:"LTC",display:"Litecoin",code:"litecoin",unitScale:8},{cryptoCode:"DASH",display:"Dash",code:"dash",unitScale:8},{cryptoCode:"ZEC",display:"Zcash",code:"zcash",unitScale:8},{cryptoCode:"BCH",display:"Bitcoin Cash",code:"bitcoincash",unitScale:8}];function tm(e,t){var n=function(e){var t=ca.a(sa.a("cryptoCode",e))(em);if(!t)throw new Error("Unsupported crypto: ".concat(e));return t}(t).unitScale;return e.shiftedBy(-n)}function nm(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return"BCH"===e?t.replace("bitcoincash:",""):t}var am=Object(f.a)(zd),rm=function(e){var t=e.customer,n=e.data,a=e.loading,l=am(),i="cashOut"===t.lastTxClass?Bc:Ws,o=!(pa.a(n)||ma.a(n)),c=[{header:"Transactions",size:127,value:Jd(t.totalTxs,"".concat(Number.parseInt(t.totalTxs)))},{header:"Transaction volume",size:167,value:Jd(t.totalSpent,"".concat(Number.parseFloat(t.totalSpent)," ").concat(t.lastTxFiatCode))},{header:"Last active",size:142,value:Jd(t.lastActive,Ud.a.utc(t.lastActive).format("YYYY-MM-D"))},{header:"Last transaction",size:198,value:Jd(t.lastTxFiat,r.a.createElement(r.a.Fragment,null,r.a.createElement(i,{className:l.icon}),"".concat(Number.parseFloat(t.lastTxFiat)," \n ").concat(t.lastTxFiatCode)))}],s=[{header:"Direction",width:207,view:function(e){return r.a.createElement(r.a.Fragment,null,"cashOut"===e.txClass?r.a.createElement(Bc,{className:l.txClassIconLeft}):r.a.createElement(Ws,{className:l.txClassIconLeft}),"cashOut"===e.txClass?"Cach-out":"Cash-in")}},{header:"Transaction ID",width:414,view:function(e){return r.a.createElement(ro,{className:l.txId},e.id)}},{header:"Cash",width:146,textAlign:"right",view:function(e){return r.a.createElement(r.a.Fragment,null,"".concat(Number.parseFloat(e.fiat)," "),r.a.createElement(st,{inline:!0},e.fiatCode))}},{header:"Crypto",width:142,textAlign:"right",view:function(e){return r.a.createElement(r.a.Fragment,null,"".concat(tm(new Xd.a(e.cryptoAtoms),e.cryptoCode).toFormat(5)," "),r.a.createElement(st,{inline:!0},e.cryptoCode))}},{header:"Date",width:157,view:function(e){return Ud.a.utc(e.created).format("YYYY-MM-D")}},{header:"Time (h:m:s)",width:134,view:function(e){return Ud.a.utc(e.created).format("hh:mm:ss")}}];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Qe,null,"Transactions"),r.a.createElement(qe.a,{display:"flex",flexDirection:"column"},r.a.createElement(qe.a,{display:"flex",mt:"auto"},c.map((function(e,t){var n=e.size,a=e.header;return r.a.createElement(ct,{noMargin:!0,key:t,className:l.label,style:{width:n}},a)}))),r.a.createElement(qe.a,{display:"flex"},c.map((function(e,t){var n=e.size,a=e.value;return r.a.createElement(tt,{noMargin:!0,key:t,className:l.value,style:{width:n}},a)})))),r.a.createElement("div",{className:l.titleWrapper},r.a.createElement("div",{className:l.titleAndButtonsContainer},r.a.createElement(Xe,null,a?"Loading":o?"All transactions from this customer":"No transactions so far"))),o&&r.a.createElement(Hi,{elements:s,data:n}))};function lm(){var e=Object(Bt.a)(["\n mutation setCustomer($customerId: ID!, $customerInput: CustomerInput) {\n setCustomer(customerId: $customerId, customerInput: $customerInput) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n }\n }\n"]);return lm=function(){return e},e}function im(){var e=Object(Bt.a)(["\n query customer($customerId: ID!) {\n config\n customer(customerId: $customerId) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n transactions {\n txClass\n id\n fiat\n fiatCode\n cryptoAtoms\n cryptoCode\n created\n errorMessage: error\n error: errorCode\n }\n }\n }\n"]);return im=function(){return e},e}var om=Object(f.a)(Ku),cm=zt()(im()),sm=zt()(lm()),um=Object(a.memo)((function(){var e,t,n,l=om(),i=Object(v.h)(),c=Object(a.useState)(!1),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(v.j)().id,f=Object(Pt.c)(cm,{variables:{customerId:m}}),p=f.data,h=f.refetch,b=f.loading,g=Object(Pt.b)(sm,{onCompleted:function(){return h()}}),y=Object(o.a)(g,1)[0],E=function(e){return y({variables:{customerId:m,customerInput:e}})},O=null!==(e=Jr.a(["config"])(p))&&void 0!==e?e:[],w=O&&ni(_l,O),x=null!==(t=Jr.a(["customer"])(p))&&void 0!==t?t:[],j=null!==(n=Jr.a(["transactions"])(x))&&void 0!==n?n:[],C=cu.a(su.a(ua.a("cryptoAtoms")))(j),k=Hd(x),S=Jr.a(["authorizedOverride"])(x)===Ru;return r.a.createElement(r.a.Fragment,null,r.a.createElement(lu.a,{classes:{root:l.breadcrumbs},separator:r.a.createElement(ou.a,{fontSize:"small"}),"aria-label":"breadcrumb"},r.a.createElement(ct,{noMargin:!0,className:l.labelLink,onClick:function(){return i.push("/compliance/customers")}},"Customers"),r.a.createElement(st,{noMargin:!0,className:l.labelLink},k.length?k:$d(Jr.a(["phone"])(x),w.country))),r.a.createElement("div",null,r.a.createElement(qe.a,{className:l.customerDetails,display:"flex",justifyContent:"space-between"},r.a.createElement(Zd,{customer:x,locale:w,setShowCompliance:function(){return d(!u)}}),r.a.createElement("div",null,r.a.createElement(ct,{className:l.actionLabel},"Actions"),r.a.createElement(Lt,{color:"primary",Icon:S?ku:Ju,InverseIcon:S?Eu:Vu,onClick:function(){return E({authorizedOverride:S?Wu:Ru})}},"".concat(S?"Authorize":"Block"," customer"))))),!u&&r.a.createElement(rm,{customer:x,data:C,loading:b}),u&&r.a.createElement(wd,{customer:x,updateCustomer:E}))})),dm=Object(f.a)(zd),mm=function(e){var t=e.data,n=e.locale,a=e.onClick,l=e.loading,i=dm(),o=[{header:"Phone",width:172,view:function(e){return $d(e.phone,n.country)}},{header:"Name",width:241,view:Hd},{header:"Total TXs",width:126,textAlign:"right",view:function(e){return"".concat(Number.parseInt(e.totalTxs))}},{header:"Total spent",width:152,textAlign:"right",view:function(e){var t;return"".concat(Number.parseFloat(e.totalSpent)," ").concat(null!==(t=e.lastTxFiatCode)&&void 0!==t?t:"")}},{header:"Last active",width:133,view:function(e){return Jd(e.lastActive,Ud.a.utc(e.lastActive).format("YYYY-MM-D"))}},{header:"Last transaction",width:161,textAlign:"right",view:function(e){var t,n=!ma.a(e.lastTxFiatCode),a="cashOut"===e.lastTxClass?Bc:Ws,l=r.a.createElement(a,{className:i.txClassIconRight});return r.a.createElement(r.a.Fragment,null,n&&"".concat(parseFloat(e.lastTxFiat)," ").concat(null!==(t=e.lastTxFiatCode)&&void 0!==t?t:""),n&&l)}},{header:"Status",width:188,view:function(e){return r.a.createElement(pu,{statuses:[qd(e)]})}}];return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Customers",labels:[{label:"Cash-in",icon:r.a.createElement(Ws,null)},{label:"Cash-out",icon:r.a.createElement(Bc,null)}]}),r.a.createElement(Hi,{loading:l,emptyText:"No customers so far",elements:o,data:t,onClick:a}))};function fm(){var e=Object(Bt.a)(["\n {\n config\n customers {\n id\n idCardData\n phone\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n authorizedOverride\n daysSuspended\n }\n }\n"]);return fm=function(){return e},e}var pm=zt()(fm()),hm=function(){var e,t,n=Object(v.h)(),a=Object(Pt.c)(pm),l=a.data,i=a.loading,o=null!==(e=Jr.a(["config"])(l))&&void 0!==e?e:[],c=o&&ni(_l,o),s=To.a([su.a(ua.a("lastActive"))])(null!==(t=Jr.a(["customers"])(l))&&void 0!==t?t:[]);return r.a.createElement(mm,{data:s,locale:c,onClick:function(e){return n.push("/compliance/customer/".concat(e.id))},loading:i})},bm=n(455),gm=Object(bm.a)({wrapper:{display:"flex",alignItems:"center"},colorIndicator:{borderRadius:3,height:12,width:12,marginRight:8}}),vm=function(e){var t=e.className,n=e.label,a=e.color,l=Object($e.a)(e,["className","label","color"]),i=gm();return r.a.createElement("div",Object.assign({className:w()(i.wrapper,t)},l),a&&r.a.createElement("div",{className:i.colorIndicator,style:{backgroundColor:a}}),r.a.createElement(ct,l,n))},ym=Be.label1,Em={wrapper:{display:"flex",flex:1,flexDirection:"row",height:"100%"},main:{display:"flex",flex:1},firstSide:{margin:"0 ".concat(64,"px 0 ").concat(48,"px")},secondSide:{marginTop:-29},error:{color:se},coinTotal:{margin:"".concat(12,"px 0")},leftSpacer:{marginLeft:8},topSpacer:{marginTop:40},addressWrapper:{display:"flex",flexDirection:"column",flex:1,backgroundColor:te},address:{width:375,margin:"".concat(12,"px ").concat(24,"px")},itemWrapper:{textAlign:"end"},item:{extend:ym,margin:2},inactiveItem:{color:q},firstItem:{fontWeight:700,margin:2},total:{marginTop:"auto",textAlign:"right",marginRight:24},totalPending:{marginTop:2},totalTitle:{color:ce,marginBottom:2},table:{marginTop:8,marginLeft:48},tableLabel:{justifyContent:"end",marginTop:-38},pending:{backgroundColor:re},copyToClipboard:{marginLeft:"auto",paddingTop:6,paddingLeft:15,marginRight:-11}};function Om(){var e=Object(Bt.a)(["\n {\n funding {\n cryptoCode\n errorMsg\n fundingAddress\n fundingAddressUrl\n confirmedBalance\n pending\n fiatConfirmedBalance\n fiatPending\n fiatCode\n display\n unitScale\n }\n }\n"]);return Om=function(){return e},e}var wm,xm=Object(f.a)(Em),jm=165,Cm=140,km=130,Sm=zt()(Om()),Nm=function(e,t){return e.plus(t)},Im=function(e){return new Xd.a(e).toFormat(2)},Lm=function(){var e,t,n=Object(a.useState)(null),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)(!1),u=Object(o.a)(s,1)[0],d=xm(),m=[{cryptoAmount:2,balance:10.23,fiatValue:1e3,date:new Date,performedBy:null,pending:!0},{cryptoAmount:10,balance:12.23,fiatValue:12e3,date:new Date,performedBy:null},{cryptoAmount:5,balance:5,fiatValue:5e4,date:new Date,performedBy:null}],f=Object(Pt.c)(Sm).data;(null===f||void 0===f||null===(e=f.funding)||void 0===e?void 0:e.length)&&!i&&c(null===f||void 0===f?void 0:f.funding[0]);var p,h=(p=(null===f||void 0===f?void 0:f.funding)||[],Im(p.filter((function(e){return!e.errorMsg})).map((function(e){return new Xd.a(e.fiatPending)})).reduce(Nm,new Xd.a(0)))),b=function(e){return e>=0?"+":""};return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",null,r.a.createElement(bt,null,"Funding")),r.a.createElement("div",{className:d.wrapper},r.a.createElement(ze,{data:null===f||void 0===f?void 0:f.funding,isSelected:function(e){return i&&i.cryptoCode===e.cryptoCode},onClick:c,displayName:function(e){return e.display},itemRender:function(e,t){var n,a,l=(n={},Object(E.a)(n,d.item,!0),Object(E.a)(n,d.inactiveItem,!t),n),i=(a={},Object(E.a)(a,d.itemWrapper,!0),Object(E.a)(a,d.error,e.errorMsg),a);return r.a.createElement("div",{className:w()(i)},r.a.createElement("div",{className:d.firstItem},e.display),!e.errorMsg&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:w()(l)},e.fiatConfirmedBalance," ",e.fiatCode),r.a.createElement("div",{className:w()(l)},e.confirmedBalance," ",e.cryptoCode)))}},(null===f||void 0===f?void 0:f.funding)&&(null===f||void 0===f||null===(t=f.funding)||void 0===t?void 0:t.length)&&r.a.createElement("div",{className:d.total},r.a.createElement(ct,{className:d.totalTitle},"Total Crypto Balance"),r.a.createElement(nt,{noMargin:!0},function(e){return Im(e.filter((function(e){return!e.errorMsg})).map((function(e){return new Xd.a(e.fiatConfirmedBalance)})).reduce(Nm,new Xd.a(0)))}(f.funding),f.funding[0].fiatCode),r.a.createElement(ct,{className:d.totalPending},"(",b(h)," ",h," pending)"))),i&&!u&&i.errorMsg&&r.a.createElement("div",{className:d.main},r.a.createElement("div",{className:d.firstSide},r.a.createElement(rt,{className:d.error},i.errorMsg))),i&&!u&&!i.errorMsg&&r.a.createElement("div",{className:d.main},r.a.createElement("div",{className:d.firstSide},r.a.createElement(Qe,null,"Balance (",i.display,")"),r.a.createElement("div",{className:d.coinTotal},r.a.createElement(nt,{inline:!0,noMargin:!0},"".concat(i.confirmedBalance," ").concat(i.cryptoCode)),r.a.createElement(at,{inline:!0,noMargin:!0,className:d.leftSpacer},"(".concat(b(i.pending)," ").concat(i.pending," pending)"))),r.a.createElement("div",{className:d.coinTotal},r.a.createElement(rt,{inline:!0,noMargin:!0},"= ".concat(Im(i.fiatConfirmedBalance)," ").concat(i.fiatCode)),r.a.createElement(ut,{inline:!0,noMargin:!0,className:d.leftSpacer},"(".concat(b(i.fiatPending)," ").concat(Im(i.fiatPending)," pending)"))),r.a.createElement(Qe,{className:d.topSpacer},"Address"),r.a.createElement("div",{className:d.addressWrapper},r.a.createElement(lt,{className:d.address},r.a.createElement("strong",null,r.a.createElement(ro,{buttonClassname:d.copyToClipboard},function(){return nm(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").replace(/(.{4})/g,"$1 ")}(i.cryptoCode,i.fundingAddress)))))),r.a.createElement("div",{className:d.secondSide},r.a.createElement(ct,null,"Scan to send ",i.display),r.a.createElement(qt.a,{size:240,fgColor:J,value:i.fundingAddressUrl}))),i&&u&&r.a.createElement("div",null,r.a.createElement(vm,{className:d.tableLabel,label:"Pending",color:"#cacaca"}),r.a.createElement(Ei,{className:d.table},r.a.createElement(Oi,null,r.a.createElement(ji,{header:!0,width:jm},"Amount Entered"),r.a.createElement(ji,{header:!0,width:jm},"Balance After"),r.a.createElement(ji,{header:!0,width:jm},"Cash Value"),r.a.createElement(ji,{header:!0,width:km},"Date"),r.a.createElement(ji,{header:!0,width:Cm},"Time (h:m:s)"),r.a.createElement(ji,{header:!0,width:jm},"Performed By")),r.a.createElement(xi,null,m.map((function(e,t){return r.a.createElement(Si,{key:t,className:w()(Object(E.a)({},d.pending,e.pending))},r.a.createElement(ji,{width:jm},e.cryptoAmount," ",i.cryptoCode),r.a.createElement(ji,{width:jm},e.balance," ",i.cryptoCode),r.a.createElement(ji,{width:jm},e.fiatValue," ",i.fiatCode),r.a.createElement(ji,{width:km},Ud()(e.date).format("YYYY-MM-DD")),r.a.createElement(ji,{width:Cm},Ud()(e.date).format("hh:mm:ss")),r.a.createElement(ji,{width:jm},"add"))})))))))},Bm=function(e){return e&&e.length},Pm={code:"bitgo",name:"BitGo",title:"BitGo (Wallet)",elements:[{code:"token",display:"API Token",component:Ra,face:!0,long:!0},{code:"environment",display:"Environment",component:Fa,inputProps:{options:["prod","test"]},face:!0},{code:"BTCWalletId",display:"BTC Wallet ID",component:Ra},{code:"BTCWalletPassphrase",display:"BTC Wallet Passphrase",component:Wa},{code:"LTCWalletId",display:"LTC Wallet ID",component:Ra},{code:"LTCWalletPassphrase",display:"LTC Wallet Passphrase",component:Wa},{code:"ZECWalletId",display:"ZEC Wallet ID",component:Ra},{code:"ZECWalletPassphrase",display:"ZEC Wallet Passphrase",component:Wa},{code:"BCHWalletId",display:"BCH Wallet ID",component:Ra},{code:"BCHWalletPassphrase",display:"BCH Wallet Passphrase",component:Wa},{code:"DASHWalletId",display:"DASH Wallet ID",component:Ra},{code:"DASHWalletPassphrase",display:"DASH Wallet Passphrase",component:Wa}],validationSchema:Yt.d().shape({token:Yt.e().max(100,"Too long").required(),BTCWalletId:Yt.e().max(100,"Too long"),BTCWalletPassphrase:Yt.e().max(100,"Too long").when("BTCWalletId",{is:Bm,then:Yt.e().required()}),LTCWalletId:Yt.e().max(100,"Too long"),LTCWalletPassphrase:Yt.e().max(100,"Too long").when("LTCWalletId",{is:Bm,then:Yt.e().required()}),ZECWalletId:Yt.e().max(100,"Too long"),ZECWalletPassphrase:Yt.e().max(100,"Too long").when("ZECWalletId",{is:Bm,then:Yt.e().required()}),BCHWalletId:Yt.e().max(100,"Too long"),BCHWalletPassphrase:Yt.e().max(100,"Too long").when("BCHWalletId",{is:Bm,then:Yt.e().required()}),DASHWalletId:Yt.e().max(100,"Too long"),DASHWalletPassphrase:Yt.e().max(100,"Too long").when("DASHWalletId",{is:Bm,then:Yt.e().required()}),environment:Yt.e().matches(/(prod|test)/).required()})},Fm={code:"bitstamp",name:"Bitstamp",title:"Bitstamp (Exchange)",elements:[{code:"clientId",display:"Client ID",component:Ra,face:!0,long:!0},{code:"key",display:"API Key",component:Ra,face:!0,long:!0},{code:"secret",display:"API Secret",component:Wa}],validationSchema:Yt.d().shape({clientId:Yt.e().max(100,"Too long").required(),key:Yt.e().max(100,"Too long").required(),secret:Yt.e().max(100,"Too long").required()})},Dm={code:"blockcypher",name:"Blockcypher",title:"Blockcypher (Payments)",elements:[{code:"token",display:"API Token",component:Ra,face:!0,long:!0},{code:"confidenceFactor",display:"Confidence Factor",component:Ra,face:!0}],validationSchema:Yt.d().shape({token:Yt.e().max(100,"Too long").required(),confidenceFactor:Yt.c().integer("Please input a positive integer").positive("Please input a positive integer").required()})},Tm={code:"infura",name:"Infura",title:"Infura (Wallet)",elements:[{code:"apiKey",display:"Project ID",component:Ra,face:!0,long:!0},{code:"apiSecret",display:"Project Secret",component:Wa},{code:"endpoint",display:"Endpoint",component:Ra,face:!0}],validationSchema:Yt.d().shape({apiKey:Yt.e().max(100,"Too long").required(),apiSecret:Yt.e().max(100,"Too long").required(),endpoint:Yt.e().max(100,"Too long").required()})},Wm={code:"itbit",name:"itBit",title:"itBit (Exchange)",elements:[{code:"userId",display:"User ID",component:Ra,face:!0,long:!0},{code:"walletId",display:"Wallet ID",component:Ra,face:!0,long:!0},{code:"clientKey",display:"Client Key",component:Ra},{code:"clientSecret",display:"Client Secret",component:Wa}],validationSchema:Yt.d().shape({userId:Yt.e().max(100,"Too long").required(),walletId:Yt.e().max(100,"Too long").required(),clientKey:Yt.e().max(100,"Too long").required(),clientSecret:Yt.e().max(100,"Too long").required()})},Rm={code:"kraken",name:"Kraken",title:"Kraken (Exchange)",elements:[{code:"apiKey",display:"API Key",component:Ra,face:!0,long:!0},{code:"privateKey",display:"Private Key",component:Wa}],validationSchema:Yt.d().shape({apiKey:Yt.e().max(100,"Too long").required(),privateKey:Yt.e().max(100,"Too long").required()})},Am={code:"mailgun",name:"Mailgun",title:"Mailgun (Email)",elements:[{code:"apiKey",display:"API Key",component:Ra},{code:"domain",display:"Domain",component:Ra},{code:"fromEmail",display:"From Email",component:Ra,face:!0},{code:"toEmail",display:"To Email",component:Ra,face:!0}],validationSchema:Yt.d().shape({apiKey:Yt.e().max(100,"Too long").required(),domain:Yt.e().max(100,"Too long").required(),fromEmail:Yt.e().max(100,"Too long").email("Please input a valid email address").required(),toEmail:Yt.e().max(100,"Too long").email("Please input a valid email address").required()})},zm={code:"twilio",name:"Twilio",title:"Twilio (SMS)",elements:[{code:"accountSid",display:"Account SID",component:Ra},{code:"authToken",display:"Auth Token",component:Wa},{code:"fromNumber",display:"Twilio Number (international format)",component:Ra,face:!0},{code:"toNumber",display:"Notifications Number (international format)",component:Ra,face:!0}],validationSchema:Yt.d().shape({accountSid:Yt.e().max(100,"Too long").required(),authToken:Yt.e().max(100,"Too long").required(),fromNumber:Yt.e().max(100,"Too long").required(),toNumber:Yt.e().max(100,"Too long").required()})},Mm=(wm={},Object(E.a)(wm,Pm.code,Pm),Object(E.a)(wm,Fm.code,Fm),Object(E.a)(wm,Dm.code,Dm),Object(E.a)(wm,Tm.code,Tm),Object(E.a)(wm,Wm.code,Wm),Object(E.a)(wm,Rm.code,Rm),Object(E.a)(wm,Am.code,Am),Object(E.a)(wm,zm.code,zm),wm);function qm(){return(qm=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Hm=a.createElement("circle",{cx:52,cy:32,r:32,fill:"#F7931A"}),Vm=a.createElement("path",{d:"m66.1 27.4c0.6-4.3-2.6-6.5-7-8.1l1.4-5.8-3.5-0.9-1.4 5.6c-0.9-0.2-1.9-0.4-2.8-0.7l1.4-5.7-3.5-0.9-1.4 5.8c-0.8-0.2-1.5-0.3-2.2-0.5l0 0-4.8-1.2-0.9 3.8s2.6 0.6 2.6 0.6c1.4 0.4 1.7 1.3 1.6 2l-1.6 6.6c0.1 0 0.2 0.1 0.4 0.1-0.1 0-0.2-0.1-0.4-0.1l-2.3 9.2c-0.2 0.4-0.6 1.1-1.6 0.8 0 0.1-2.6-0.6-2.6-0.6l-1.7 4 4.6 1.1c0.9 0.2 1.7 0.4 2.5 0.6l-1.5 5.8 3.5 0.9 1.4-5.8c1 0.3 1.9 0.5 2.8 0.7l-1.4 5.7 3.5 0.9 1.5-5.8c6 1.1 10.5 0.7 12.4-4.7 1.5-4.4-0.1-6.9-3.2-8.5 2.3-0.5 4-2 4.5-5.2zm-8 11.2c-1.1 4.4-8.4 2-10.8 1.4l1.9-7.7c2.4 0.6 10 1.8 8.9 6.3zm1.1-11.3c-1 4-7.1 2-9.1 1.5l1.7-7c2 0.5 8.4 1.4 7.3 5.6z",fill:"#FFF"});function Ym(e,t){var n=e.title,r=e.titleId,l=$m(e,["title","titleId"]);return a.createElement("svg",qm({width:104,height:64,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Hm,Vm)}var Gm=a.forwardRef(Ym);n.p;function Zm(){return(Zm=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Um=a.createElement("path",{fill:"#F7931A",d:"m0,0l29.7,0a39,39,0,0,0,0,64l-29.7,0zm52,0a32,32,0,0,0,0,64a32,32,0,0,0,0,-64m52,0l-29.7,0a39,39,0,0,1,0,64l29.7,0z"}),Jm=a.createElement("path",{fill:"#FFF",transform:"rotate(-28 52 32)",d:"m66.103,27.444c0.637-4.258-2.605-6.547-7.038-8.074l1.438-5.768-3.511-0.875-1.4,5.616c-0.923-0.23-1.871-0.447-2.813-0.662l1.41-5.653-3.509-0.875-1.439,5.766c-0.764-0.174-1.514-0.346-2.242-0.527l0.004-0.018-4.842-1.209-0.934,3.75s2.605,0.597,2.55,0.634c1.422,0.355,1.679,1.296,1.636,2.042l-1.638,6.571c0.098,0.025,0.225,0.061,0.365,0.117-0.117-0.029-0.242-0.061-0.371-0.092l-2.296,9.205c-0.174,0.432-0.615,1.08-1.609,0.834,0.035,0.051-2.552-0.637-2.552-0.637l-1.743,4.019,4.569,1.139c0.85,0.213,1.683,0.436,2.503,0.646l-1.453,5.834,3.507,0.875,1.439-5.772c0.958,0.26,1.888,0.5,2.798,0.726l-1.434,5.745,3.511,0.875,1.453-5.823c5.987,1.133,10.489,0.676,12.384-4.739,1.527-4.36-0.076-6.875-3.226-8.515,2.294-0.529,4.022-2.038,4.483-5.155zm-8.022,11.249c-1.085,4.36-8.426,2.003-10.806,1.412l1.928-7.729c2.38,0.594,10.012,1.77,8.878,6.317zm1.086-11.312c-0.99,3.966-7.1,1.951-9.082,1.457l1.748-7.01c1.982,0.494,8.365,1.416,7.334,5.553z"});function Km(e,t){var n=e.title,r=e.titleId,l=_m(e,["title","titleId"]);return a.createElement("svg",Zm({width:104,height:64,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Um,Jm)}var Qm=a.forwardRef(Km);n.p;function Xm(){return(Xm=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var tf=a.createElement("circle",{cx:1e3,cy:1e3,r:1e3,fill:"#2573c2"}),nf=a.createElement("g",{fill:"#fff"},a.createElement("path",{d:"M1652.6 736.8a143.65 143.65 0 0 0-19.2-63.6c-10-20-27.8-35.6-48.6-43.6a143.51 143.51 0 0 0-68.4-15H628.8l-63.6 190.6h804.2l-127 389.6h-804l-63.6 190.6h891.8a246.33 246.33 0 0 0 77.8-15c25-14.2 53.6-28.6 77.8-48.6a382.69 382.69 0 0 0 63.6-63.6 432.2 432.2 0 0 0 39.2-73.4l117.8-370.4a137.38 137.38 0 0 0 9.8-77.6z"}),a.createElement("path",{d:"M882.2 911.6H409l-63.6 176.2h478z"}));function af(e,t){var n=e.title,r=e.titleId,l=ef(e,["title","titleId"]);return a.createElement("svg",Xm({viewBox:"0 0 2000 2000",width:2500,height:2500,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,tf,nf)}var rf=a.forwardRef(af);n.p;function lf(){return(lf=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var cf=a.createElement("g",null,a.createElement("polygon",{fill:"#343434",points:"127.9611 0 125.1661 9.5 125.1661 285.168 127.9611 287.958 255.9231 212.32"}),a.createElement("polygon",{fill:"#8C8C8C",points:"127.962 0 0 212.32 127.962 287.959 127.962 154.158"}),a.createElement("polygon",{fill:"#3C3C3B",points:"127.9611 312.1866 126.3861 314.1066 126.3861 412.3056 127.9611 416.9066 255.9991 236.5866"}),a.createElement("polygon",{fill:"#8C8C8C",points:"127.962 416.9052 127.962 312.1852 0 236.5852"}),a.createElement("polygon",{fill:"#141414",points:"127.9611 287.9577 255.9211 212.3207 127.9611 154.1587"}),a.createElement("polygon",{fill:"#393939",points:"0.0009 212.3208 127.9609 287.9578 127.9609 154.1588"}));function sf(e,t){var n=e.title,r=e.titleId,l=of(e,["title","titleId"]);return a.createElement("svg",lf({width:"256px",height:"417px",viewBox:"0 0 256 417",preserveAspectRatio:"xMidYMid",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,cf)}var uf=a.forwardRef(sf);n.p;function df(){return(df=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var ff=a.createElement("circle",{fill:"#989898",cx:52,cy:32,r:32}),pf=a.createElement("path",{fill:"#FFF",d:"m46.92598,12.31703l-4.97801,18.8088l-3.42705,1.32711l-1.64691,6.17189l3.42705,-1.29514l-2.8461,10.76083l30.60893,0l2.09993,-7.98401l-18.42505,0l2.09993,-7.82412l3.3631,-1.26316l1.6469,-6.17188l-3.36309,1.29513l3.6509,-13.83611l-12.21053,0z"});function hf(e,t){var n=e.title,r=e.titleId,l=mf(e,["title","titleId"]);return a.createElement("svg",df({width:104,height:64,ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,ff,pf)}var bf=a.forwardRef(hf);n.p;function gf(){return(gf=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var yf=a.createElement("style",{type:"text/css"},"\n\t.st0{fill:#231F20;}\n\t.st1{fill:#F4B728;}\n"),Ef=a.createElement("path",{className:"st0",d:"M245.4,20C121.1,20,20,121.1,20,245.4s101.1,225.4,225.4,225.4s225.4-101.1,225.4-225.4S369.7,20,245.4,20z M245.4,433.6c-103.8,0-188.2-84.4-188.2-188.2S141.6,57.2,245.4,57.2s188.2,84.4,188.2,188.2S349.2,433.6,245.4,433.6z"}),Of=a.createElement("circle",{className:"st1",cx:245.4,cy:245.4,r:177.6}),wf=a.createElement("polygon",{className:"st0",points:"165,315.5 165,349.9 226.5,349.9 226.5,387.6 264.3,387.6 264.3,349.9 325.8,349.9 325.8,304.4 230.4,304.4 325.8,175 325.8,140.6 264.3,140.6 264.3,103 226.5,103 226.5,140.6 165,140.6 165,186.2 260.4,186.2 "});function xf(e,t){var n=e.title,r=e.titleId,l=vf(e,["title","titleId"]);return a.createElement("svg",gf({id:"Layer_1",x:"0px",y:"0px",viewBox:"0 0 493.3 490.2",style:{enableBackground:"new 0 0 493.3 490.2"},xmlSpace:"preserve",ref:t,"aria-labelledby":r},l),yf,void 0===n?a.createElement("title",{id:r},"headerArtboard 7"):n?a.createElement("title",{id:r},n):null,Ef,Of,wf)}var jf=a.forwardRef(xf),Cf=(n.p,Object(f.a)({logo:{maxHeight:80,maxWidth:200},title:{margin:[[24,0,32,0]]},text:{margin:0},button:{marginTop:"auto",marginBottom:58},modalContent:{display:"flex",flexDirection:"column",alignItems:"center",padding:[[0,42]],flex:1}})),kf=function(e){var t=e.code,n=e.name,a=e.onContinue,l=Cf(),i=function(e){switch(e){case"BTC":return Gm;case"BCH":return Qm;case"DASH":return rf;case"ETH":return uf;case"LTC":return bf;case"ZEC":return jf;default:return null}}(t);return r.a.createElement("div",{className:l.modalContent},r.a.createElement(i,{className:l.logo}),r.a.createElement(Je,{className:l.title},"Enable ",n),r.a.createElement(tt,{className:l.text},"You are about to enable ",n," on your system. This will allow you to use this cryptocurrency on your machines. To be able to do that, you\u2019ll have to set up all the necessary 3rd party services."),r.a.createElement(on,{className:l.button,onClick:a},"Start configuration"))},Sf=n(529),Nf=Object(f.a)({button:{margin:[["auto",0,32,"auto"]]},form:{flex:1,display:"flex",flexDirection:"column"},grid:{marginBottom:24,marginTop:12}}),If=function(e){var t=e.validationSchema,n=e.elements,a=e.value,l=e.save,i=e.buttonLabel,o=void 0===i?"Save changes":i,c=e.buttonClass,s=e.xs,u=void 0===s?12:s,m=Nf(),f=$t.a(Sf.a,da.a((function(e){var t,n=e.code;return Object(E.a)({},n,null!==(t=a&&a[n])&&void 0!==t?t:"")})))(n),p=gn.a(f,a);return r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:p,validationSchema:t,onSubmit:l},r.a.createElement(Rt.c,{className:m.form},r.a.createElement(d.a,{container:!0,spacing:3,className:m.grid},n.map((function(e){var t=e.component,n=e.code,a=e.display,l=e.inputProps;return r.a.createElement(d.a,{item:!0,xs:u,key:n},r.a.createElement(Rt.a,Object.assign({component:t},l,{name:n,label:a,fullWidth:!0})))}))),r.a.createElement(on,{className:w()(m.button,c),type:"submit"},o)))},Lf={title:{margin:[[0,0,12,0]]},subtitle:{margin:[[32,0,21,0]]},error:{color:se},button:{marginLeft:"auto"},submit:{display:"flex",flexDirection:"row",margin:[["auto",0,24]]},radioGroup:{flexDirection:"row"},radioLabel:{width:150,height:48},radio:{padding:4,margin:4},setupNew:{display:"flex",alignItems:"center",height:48},picker:{width:150}},Bf=Object(f.a)(Lf),Pf={form:null,selected:null,isNew:!1,iError:!1},Ff=function(e,t){switch(t.type){case"select":return{form:null,selected:t.selected,isNew:null,iError:!1};case"new":return{form:e.form,selected:null,isNew:!0,iError:!1};case"form":return{form:t.form,selected:t.form.code,isNew:!0,iError:!1};case"error":return gn.a(e,{innerError:!0});case"reset":return Pf;default:throw new Error}},Df=function(e){var t,n=e.type,l=e.name,i=e.step,c=e.error,s=e.lastStep,u=e.onContinue,d=e.filled,m=e.unfilled,f=e.getValue,p=Bf(),h=Object(a.useReducer)(Ff,Pf),b=Object(o.a)(h,2),g=b[0],v=g.innerError,y=g.selected,O=g.form,x=g.isNew,j=b[1];Object(a.useEffect)((function(){j({type:"reset"})}),[i]);var C=function(e,t){if(!e||!e[n])return j({type:"error"});u(e,t)},k=s?"Finish":"Next",S=null!==l&&void 0!==l?l:n,N=(t={},Object(E.a)(t,p.subtitle,!0),Object(E.a)(t,p.error,v),t);return r.a.createElement(r.a.Fragment,null,r.a.createElement(at,{className:p.title},wl(n)),r.a.createElement(ns,{steps:4,currentStep:i}),r.a.createElement(Xe,{className:w()(N)},"Select a ",S," or set up a new one"),r.a.createElement(Na,{options:d,value:y,className:p.radioGroup,onChange:function(e,t){j({type:"select",selected:t})},labelClassName:p.radioLabel,radioClassName:p.radio}),r.a.createElement("div",{className:p.setupNew},!pa.a(m)&&!ma.a(m)&&r.a.createElement(Na,{value:x,onChange:function(e,t){j({type:"new"})},labelClassName:p.radioLabel,radioClassName:p.radio,options:[{display:"Set up new",code:!0}]}),x&&r.a.createElement(Oa,{fullWidth:!0,label:"Select ".concat(S),className:p.picker,getOptionSelected:ba.a("code"),getLabel:Jr.a(["display"]),options:m,onChange:function(e,t){j({type:"form",form:t})}})),O&&r.a.createElement(If,{save:function(e){return C(Object(E.a)({},n,O.code),Object(E.a)({},O.code,e))},elements:Mm[O.code].elements,validationSchema:Mm[O.code].validationSchema,value:f(O.code),buttonLabel:k}),!O&&r.a.createElement("div",{className:p.submit},c&&r.a.createElement(pt,null,"Failed to save"),r.a.createElement(on,{className:p.button,onClick:function(){return C(Object(E.a)({},n,y))}},k)))},Tf=function(e,t){return Wr.a((function(n){return function(e){return sa.a("class",e)}(t)(n)&&function(e){return $t.a(qr.a(e),ua.a("cryptos"))}(e)(n)}))},Wf=function(e,t,n,a){var r=Tf(a,n)(e),l=zo.a((function(e){var n=e.code,a=function(e){return t&&t[e]}(n);return!Mm[n]||Mm[n].validationSchema.isValidSync(a)}))(r),i=Object(o.a)(l,2);return{filled:i[0],unfilled:i[1]}},Rf=function(e){var t=e.coin,n=e.onClose,l=e.accountsConfig,i=e.accounts,s=e.save,u=e.error,d=Object(a.useState)({step:0,config:{active:!0},accountsToSave:{}}),m=Object(o.a)(d,2),f=m[0],p=f.step,h=f.config,b=f.accountsToSave,g=m[1],v="Enable ".concat(t.display),y=4===p,E={filled:Tf(t.code,"ticker")(l)},O=Wf(l,i,"wallet",t.code),w=Wf(l,i,"exchange",t.code),x=Wf(l,i,"zeroConf",t.code),j=function(){var e=Object(_r.a)(Zr.a.mark((function e(n,a){var r,l;return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=gn.a(h,n),l=a?gn.a(b,a):b,!y){e.next=4;break}return e.abrupt("return",s(ai(t.code,r),l));case 4:g({step:p+1,config:r,accountsToSave:l});case 5:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return r.a.createElement(ci,{title:0===p?null:v,handleClose:n,width:554,open:!0},0===p&&r.a.createElement(kf,{code:t.code,name:t.display,onContinue:function(){return j()}}),0!==p&&r.a.createElement(Df,Object.assign({step:p,error:u,lastStep:y},function(){switch(p){case 1:return Object(c.a)({type:"ticker"},E);case 2:return Object(c.a)({type:"wallet"},O);case 3:return Object(c.a)({type:"exchange"},w);case 4:return Object(c.a)({type:"zeroConf",name:"zero conf"},x);default:return null}}(),{onContinue:j,getValue:function(e){return ca.a(sa.a("code",e))(i)}})))},Af=function(e){return Wr.a((function(t){return t.class===e}))},zf=function(e){var t=e.id;return Wr.a((function(e){return qr.a(t)(e.cryptos)}))},Mf=Yt.d().shape({ticker:Yt.e().required(),wallet:Yt.e().required(),exchange:Yt.e().required(),zeroConf:Yt.e().required()}),qf=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=a?11:0,l=function(t){return $t.a(ua.a(["display"]),ca.a(sa.a("code",t)))(e)},i=function(e){return Af(e)(t||[])},o=function(e){return function(t){return $t.a(ua.a("display"),ca.a(sa.a("code",t)))(i(e))}},c=Ml.a((function(e,t){return zf(t)(i(e))}));return[{name:"id",header:"Cryptocurrency",width:180-r,view:l,size:"sm",editable:!1},{name:"ticker",size:"sm",stripe:!0,view:o("ticker"),width:190-r,input:Fa,inputProps:{options:c("ticker"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null}},{name:"wallet",size:"sm",stripe:!0,view:o("wallet"),width:190-r,input:Fa,inputProps:{options:c("wallet"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null,onChange:n}},{name:"exchange",size:"sm",stripe:!0,view:o("exchange"),width:190-r,input:Fa,inputProps:{options:c("exchange"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null,onChange:n}},{name:"zeroConf",size:"sm",stripe:!0,view:o("zeroConf"),input:Fa,width:190-r,inputProps:{options:c("zeroConf"),valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null,onChange:n}}]},$f=n(530),Hf=function(e,t,n){var a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:[];return Wr.a((function(e){return ks.a(e.name,t)}),Vf(e,n,a))},Vf=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],a=function(e,t,n){return function(a){return e?$t.a(ua.a(t),ca.a(sa.a(null!==n&&void 0!==n?n:"code",a)))(e):""}},r=function(e){return function(t){return t?$t.a(Cs.a(", "),da.a(a(e,"code")))(t):t}},l=da.a((function(e){return e.machine}),n),i=function(e){return $f.a((function(e,t){return e.deviceId===t}),e,l)},o=e(["machines"]),c=e(["countries"]),s=e(["currencies"]),u=e(["languages"]),d=e(["cryptoCurrencies"]),m=function(e){var t=ca.a(sa.a("deviceId",e.machine))(o);return t?[t]:[]};return[{name:"machine",width:200,size:"sm",view:a(o,"name","deviceId"),input:Fa,inputProps:{options:function(e){return Rr.a(m(e))(i(o))},valueProp:"deviceId",getLabel:Jr.a(["name"])}},{name:"country",width:200,size:"sm",view:a(c,"display"),input:Fa,inputProps:{options:c,valueProp:"code",getLabel:Jr.a(["display"])}},{name:"fiatCurrency",width:150,size:"sm",view:a(s,"code"),input:Fa,inputProps:{options:s,valueProp:"code",getLabel:Jr.a(["code"])}},{name:"languages",width:240,size:"sm",view:r(u),input:Fa,inputProps:{options:u,valueProp:"code",getLabel:Jr.a(["display"]),multiple:!0}},{name:"cryptoCurrencies",width:290,size:"sm",view:r(d),input:Fa,inputProps:{options:d,valueProp:"code",getLabel:Jr.a(["code"]),multiple:!0,optionsLimit:null,onChange:t}}]},Yf=function(e,t){var n=Jr.a(Ss.a,e);return Hf(n,["country","fiatCurrency","languages","cryptoCurrencies"],t)},Gf=function(e,t,n){var a=Jr.a(Ss.a,e);return Hf(a,["machine","country","languages","cryptoCurrencies"],n,t)},Zf=Yt.d().shape({country:Yt.e().label("Country").required(),fiatCurrency:Yt.e().label("Fiat Currency").required(),languages:Yt.a().label("Languages").required().max(4),cryptoCurrencies:Yt.a().label("Crypto Currencies").required()}),_f=Yt.d().shape({machine:Yt.e().label("Machine").required(),country:Yt.e().label("Country").required(),languages:Yt.a().label("Languages").required(),cryptoCurrencies:Yt.a().label("Crypto Currencies").required()}),Uf={country:"",fiatCurrency:"",languages:[],cryptoCurrencies:[]},Jf={machine:"",country:"",languages:[],cryptoCurrencies:[]};function Kf(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Kf=function(){return e},e}function Qf(){var e=Object(Bt.a)(["\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n currencies {\n code\n display\n }\n countries {\n code\n display\n }\n cryptoCurrencies {\n code\n display\n }\n languages {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n"]);return Qf=function(){return e},e}var Xf=Object(f.a)({rightAligned:{marginTop:"20px",marginLeft:"auto",marginBottom:"20px"},rightLink:{marginLeft:"20px"}}),ep=zt()(Qf()),tp=zt()(Kf()),np=function(e){var t=e.open,n=e.close,a=e.save,l=Xf();return r.a.createElement(ci,{title:"Change fiat currency?",handleClose:n,width:450,height:310,open:t},r.a.createElement(tt,null,"Please note that all values you set that were based on your prior fiat currency are still the same. If you need to adjust these to reflect the new fiat currency (such as minimum transaction amounts, fixed fees, and compliance triggers, for example), please do so now."),r.a.createElement(tt,null,"Also, if you have cash-out enabled, you must define new dispenser bill counts for the new currency for cash-out on the new currency to work."),r.a.createElement("div",{className:l.rightAligned},r.a.createElement(Bn,{onClick:n,color:"secondary"},"Cancel"),r.a.createElement(Bn,{className:l.rightLink,onClick:a,color:"primary"},"Save")))},ap=function(e){var t,n,l,i,c,s,u=e.name,d=Object(a.useState)(!1),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Object(a.useState)(null),b=Object(o.a)(h,2),g=b[0],v=b[1],y=Object(a.useState)(!1),E=Object(o.a)(y,2),O=E[0],w=E[1],x=Object(a.useState)(!1),j=Object(o.a)(x,2),C=j[0],k=j[1],S=Object(Pt.c)(ep).data,N=Object(Pt.b)(tp,{onCompleted:function(){return p(!1)},refetchQueries:function(){return["getData"]}}),I=Object(o.a)(N,2),L=I[0],B=I[1].error,P=Object(a.useState)(null),F=Object(o.a)(P,2),D=F[0],T=F[1],W=(null===S||void 0===S?void 0:S.config)&&ni(u)(S.config),R=(null===S||void 0===S?void 0:S.config)&&ni(Yl)(S.config),A=null===S||void 0===S?void 0:S.accountsConfig,z=null!==(t=null===S||void 0===S?void 0:S.accounts)&&void 0!==t?t:[],M=null!==(n=null===S||void 0===S?void 0:S.cryptoCurrencies)&&void 0!==n?n:[],q=W&&!pa.a(W)?W:Uf,$=null!==(l=q.overrides)&&void 0!==l?l:[],H=function(e){return T(null),L({variables:{config:e}})},V=function(e,t,n){var a=Is.a(t,e)[0];if(!a)return n(t);var r=ni(a)(R);if(!Mf.isValidSync(r))return v((function(){return function(){return n(t)}})),void p(a);n(t)};return r.a.createElement(r.a.Fragment,null,r.a.createElement(np,{open:D,close:function(){return T(null)},save:function(){return D&&H(D)}}),r.a.createElement(vt,{title:"Locales"}),r.a.createElement(js,null,r.a.createElement(xc,{title:"Default settings",error:null===B||void 0===B?void 0:B.message,titleLg:!0,name:"locale",enableEdit:!0,initialValues:q,save:function(e){var t=ai(u)(e.locale[0]);return W.fiatCurrency&&t.locale_fiatCurrency!==W.fiatCurrency?T(t):H(t)},validationSchema:Zf,data:Es.a(q),elements:Yf(S,V),setEditing:function(e,t){return w(t)},forceDisable:C})),r.a.createElement(js,null,r.a.createElement(xc,{error:null===B||void 0===B?void 0:B.message,title:"Overrides",titleLg:!0,name:"overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,initialValues:Jf,save:function(e){var t=ai(u)(e);return L({variables:{config:t}})},validationSchema:_f,data:null!==$&&void 0!==$?$:[],elements:Gf(S,$,V),disableAdd:$t.a(pa.a,Is.a)(null!==(i=null===S||void 0===S?void 0:S.machines.map((function(e){return e.deviceId})))&&void 0!==i?i:[],null!==(c=null===$||void 0===$?void 0:$.map((function(e){return e.machine})))&&void 0!==c?c:[]),setEditing:function(e,t){return k(t)},forceDisable:O})),f&&r.a.createElement(Rf,{coin:ca.a(sa.a("code",f))(M),onClose:function(){return p(!1)},save:function(e){return H(ai(Yl)(e)).then((function(e){return g(),v(null),e}))},error:null===B||void 0===B?void 0:B.message,cryptoCurrencies:M,userAccounts:null===S||void 0===S||null===(s=S.config)||void 0===s?void 0:s.accounts,accounts:z,accountsConfig:A}))},rp=n(341),lp=n.n(rp);function ip(){return(ip=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var cp=a.createElement("desc",null,"Created with Sketch."),sp=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"pop-up/action/download-logs/date-range-copy-3",transform:"translate(-117.000000, -116.000000)",stroke:"#1B2559",strokeWidth:2},a.createElement("g",{id:"arrow-download-logs",transform:"translate(128.500000, 124.500000) rotate(-90.000000) translate(-128.500000, -124.500000) translate(121.000000, 114.000000)"},a.createElement("polyline",{id:"Path-3",points:"0 13.3571429 7.14285714 20.5 14.2857143 13.3571429"}),a.createElement("line",{x1:7.14285714,y1:.142857143,x2:7.14285714,y2:20.1428571,id:"Path-4"}))));function up(e,t){var n=e.title,r=e.titleId,l=op(e,["title","titleId"]);return a.createElement("svg",ip({width:"23px",height:"17px",viewBox:"0 0 23 17",ref:t,"aria-labelledby":r},l),void 0===n?a.createElement("title",{id:r},"arrow download logs"):n?a.createElement("title",{id:r},n):null,cp,sp)}var dp=a.forwardRef(up);n.p;function mp(){return(mp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var pp=a.createElement("desc",null,"Created with Sketch."),hp=a.createElement("g",{id:"icon/button/download/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"icon/sf-small/wizzard",stroke:"#FFFFFF"},a.createElement("polyline",{id:"Path-3",points:"3.6 5.4 6 7.8 8.4 5.4"}),a.createElement("line",{x1:6,y1:.5,x2:6,y2:7.4,id:"Path-4"}),a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1"})));function bp(e,t){var n=e.title,r=e.titleId,l=fp(e,["title","titleId"]);return a.createElement("svg",mp({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,pp,hp)}var gp=a.forwardRef(bp);n.p;function vp(){return(vp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ep=a.createElement("desc",null,"Created with Sketch."),Op=a.createElement("g",{id:"icon/button/download/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"icon/sf-small/wizzard",stroke:"#1B2559"},a.createElement("polyline",{id:"Path-3",points:"3.6 5.4 6 7.8 8.4 5.4"}),a.createElement("line",{x1:6,y1:.5,x2:6,y2:7.4,id:"Path-4"}),a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1"})));function wp(e,t){var n=e.title,r=e.titleId,l=yp(e,["title","titleId"]);return a.createElement("svg",vp({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ep,Op)}var xp=a.forwardRef(wp);n.p;function jp(){return(jp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var kp=a.createElement("desc",null,"Created with Sketch."),Sp=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"pop-up/action/download-logs/date-range-copy-2",transform:"translate(-20.000000, -187.000000)"},a.createElement("g",{id:"icon/sf-contain-b-copy-5",transform:"translate(30.000000, 197.000000) rotate(-270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)"},a.createElement("g",{id:"icon/sf-small/wizzard",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{transform:"translate(6.666667, 6.000000)",id:"Group"},a.createElement("g",null,a.createElement("polyline",{id:"Path-3",stroke:"#1B2559",strokeWidth:2,points:"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333"}),a.createElement("line",{x1:3.33333333,y1:.25,x2:3.33333333,y2:6.5,id:"Path-4",stroke:"#1B2559",strokeWidth:2})))))));function Np(e,t){var n=e.title,r=e.titleId,l=Cp(e,["title","titleId"]);return a.createElement("svg",jp({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,kp,Sp)}var Ip=a.forwardRef(Np);n.p;function Lp(){return(Lp=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Pp=a.createElement("desc",null,"Created with Sketch."),Fp=a.createElement("g",{id:"Symbols",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"pop-up/action/download-logs/date-range-copy-2",transform:"translate(-20.000000, -187.000000)"},a.createElement("g",{id:"icon/sf-contain-b-copy-5",transform:"translate(30.000000, 197.000000) rotate(270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)"},a.createElement("g",{id:"icon/sf-small/wizzard",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{transform:"translate(6.666667, 6.000000)",id:"Group"},a.createElement("g",null,a.createElement("polyline",{id:"Path-3",stroke:"#1B2559",strokeWidth:2,points:"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333"}),a.createElement("line",{x1:3.33333333,y1:.25,x2:3.33333333,y2:6.5,id:"Path-4",stroke:"#1B2559",strokeWidth:2})))))));function Dp(e,t){var n=e.title,r=e.titleId,l=Bp(e,["title","titleId"]);return a.createElement("svg",Lp({width:"20px",height:"20px",viewBox:"0 0 20 20",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Pp,Fp)}var Tp=a.forwardRef(Dp),Wp=(n.p,{wrapper:{height:26,display:"flex",alignItems:"center",justifyContent:"center",position:"relative",overflow:"hidden"},button:{outline:"none",extend:Be.label1,border:"none",cursor:"pointer",backgroundColor:"transparent",color:J,zIndex:2},lowerBound:{left:"50%"},upperBound:{right:"50%"},selected:{width:26,height:26,display:"flex",alignItems:"center",justifyContent:"center",backgroundColor:$,borderRadius:"50%",position:"absolute",zIndex:1},between:{position:"absolute",width:"100%",height:"100%",zIndex:0,backgroundColor:H},disabled:{color:ae,cursor:"default"}}),Rp=Object(f.a)(Wp),Ap=function(e){var t,n,a,l=e.isLowerBound,i=e.isUpperBound,o=e.isBetween,c=e.isDisabled,s=e.children,u=(Object($e.a)(e,["isLowerBound","isUpperBound","isBetween","isDisabled","children"]),Rp()),d=l||i,m=(t={},Object(E.a)(t,u.between,o&&!(l&&i)),Object(E.a)(t,u.lowerBound,l&&!i),Object(E.a)(t,u.upperBound,i&&!l),t),f=(n={},Object(E.a)(n,u.wrapper,!0),Object(E.a)(n,u.selected,d),n),p=(a={},Object(E.a)(a,u.button,!0),Object(E.a)(a,u.disabled,c),a);return r.a.createElement("div",{className:u.wrapper},r.a.createElement("div",{className:w()(m)}),r.a.createElement("div",{className:w()(f)},r.a.createElement("button",{className:w()(p)},s)))},zp={wrapper:{display:"flex",flexDirection:"column",alignItems:"center"},button:{outline:"none"},navbar:{extend:Be.p,display:"flex",justifyContent:"space-between",alignItems:"center",width:"100%",padding:[[15,15]],color:J,"& button":{display:"flex",alignItems:"center",padding:0,border:"none",backgroundColor:Y,cursor:"pointer",borderRadius:"50%",width:20,height:20,position:"relative",overflow:"hidden","& svg":{position:"absolute",left:0}}},table:{borderCollapse:"collapse",width:"100%",color:J,"& tr":{"&:first-child":{paddingLeft:5},"&:last-child":{paddingRight:5}},"& th, & td":{margin:0,padding:[[3,0,3,0]]},"& th":{extend:Be.label2}}},Mp=Object(f.a)(zp),qp=function(e){var t=e.minDate,n=e.maxDate,l=e.handleSelect,i=Object($e.a)(e,["minDate","maxDate","handleSelect"]),c=Object(a.useState)(Ud()()),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Mp(),f=Ud.a.weekdaysMin().map((function(e){return e.slice(0,1)})),p=function(e){var t=Ud()(e).subtract(1,"month"),n=Tc.a(0,Ud()(e).startOf("month").weekday()).reverse(),a=da.a((function(e){return Ud()(t).endOf("month").subtract(e,"days")}))(n),r=Tc.a(0,function(e){return Number.parseInt(Ud()(e).endOf("month").format("D"))}(e)),l=da.a((function(t){return Ud()(e).startOf("month").add(t,"days")}))(r),i=Ud()(e).add(1,"month"),o=Tc.a(0,42-a.length-l.length),c=da.a((function(e){return Ud()(i).startOf("month").add(e,"days")}))(o);return Rr.a(Rr.a(a,l),c)};return r.a.createElement("div",{className:m.wrapper},r.a.createElement("div",{className:m.navbar},r.a.createElement("button",{className:m.button,onClick:function(){return function(e){var n=Ud()(e).subtract(1,"month");d(t?n.isSameOrAfter(t,"month")?n:u:n)}(u)}},r.a.createElement(Ip,null)),r.a.createElement("span",null,"".concat(u.format("MMMM")," ").concat(u.format("YYYY"))),r.a.createElement("button",{className:m.button,onClick:function(){return function(e){var t=Ud()(e).add(1,"month");d(n?t.isSameOrBefore(n,"month")?t:u:t)}(u)}},r.a.createElement(Tp,null))),r.a.createElement("table",{className:m.table},r.a.createElement("thead",null,r.a.createElement("tr",null,f.map((function(e,t){return r.a.createElement("th",{key:t},e)})))),r.a.createElement("tbody",null,Tc.a(1,8).map((function(e,a){return r.a.createElement("tr",{key:a},function(e,t){return p(e).slice(7*t-7,7*t)}(u,e).map((function(e,a){return r.a.createElement("td",{key:a,onClick:function(){return l(e,t,n)}},r.a.createElement(Ap,{isDisabled:n&&e.isAfter(n,"day")||t&&e.isBefore(t,"day"),isLowerBound:e.isSame(i.from,"day"),isUpperBound:e.isSame(i.to,"day"),isBetween:e.isBetween(i.from,i.to,"day",[])},e.format("D")))})))})))))},$p=Object(f.a)({wrapper:{backgroundColor:"white",borderRadius:10}}),Hp=function(e){var t=e.minDate,n=e.maxDate,l=e.className,i=e.onRangeChange,c=Object(a.useState)(null),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(null),f=Object(o.a)(m,2),p=f[0],h=f[1];Object(a.useEffect)((function(){i(u,p)}),[u,i,p]);var b=$p();return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:w()(b.wrapper,l)},r.a.createElement(qp,{from:u,to:p,minDate:t,maxDate:n,handleSelect:function(e,t,n){if(!(n&&e.isAfter(n,"day")||t&&e.isBefore(t,"day")))return u&&!p&&e.isBefore(u,"day")?(h(u),void d(e)):void(u&&!p&&e.isSameOrAfter(u,"day")?h(e):(d(e),h(null)))}})))},Vp=Be.label1,Yp=Be.h4,Gp={wrapper:{height:46,width:99},container:{display:"flex"},monthWeekDayContainer:{display:"flex",flexDirection:"column"},label:{extend:Vp,lineHeight:1.33,color:J},bigNumber:{extend:Be.info1,lineHeight:1,marginRight:7},monthYear:{extend:Be.label2,lineHeight:1.17,color:J},weekDay:{extend:Vp,lineHeight:1.33,color:ie}},Zp=Object(f.a)(Gp),_p=function(e){var t=e.date,n=e.children,a=(Object($e.a)(e,["date","children"]),Zp());return r.a.createElement("div",{className:a.wrapper},r.a.createElement("div",{className:a.label},n),t&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:a.container},r.a.createElement("div",{className:a.bigNumber},t.format("D")),r.a.createElement("div",{className:a.monthWeekDayContainer},r.a.createElement("span",{className:a.monthYear},"".concat(t.format("MMM")," ").concat(t.format("YYYY"))),r.a.createElement("span",{className:a.weekDay},t.format("dddd"))))))},Up={popoverContent:{width:280},popoverHeader:{extend:Yp,padding:[[15,15,0,15]]},radioButtonsContainer:{padding:[[5,15,5,15]]},radioButtons:{display:"flex",justifyContent:"space-between",flexDirection:"row",color:J},dateRangePickerShowing:{display:"block",height:"100%"},dateRangePickerHidden:{display:"none",height:0},download:{padding:[[10,15]]},dateContainerWrapper:{display:"flex",justifyContent:"space-between",alignItems:"center",position:"relative",backgroundColor:Y,padding:[[0,15]],minHeight:70},arrowContainer:{position:"absolute",left:125,top:26},arrow:{margin:"auto"}},Jp=Object(f.a)(Up),Kp="all",Qp="range",Xp=function(e){var t,n=e.name,l=e.query,i=e.args,s=e.title,u=e.getLogs,d=Object(a.useState)(Kp),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Object(a.useState)({from:null,until:null}),b=Object(o.a)(h,2),g=b[0],v=b[1],y=Object(a.useState)(null),O=Object(o.a)(y,2),x=O[0],j=O[1],C=Object(Pt.a)(l,{onCompleted:function(e){return L(u(e),g)}}),k=Object(o.a)(C,1)[0],S=Jp(),N=(t={},Object(E.a)(t,S.dateRangePickerShowing,f===Qp),Object(E.a)(t,S.dateRangePickerHidden,f===Kp),t),I=Object(a.useCallback)((function(e,t){v({from:e,until:t})}),[v]),L=function(e,t){var a=function(e){return Ud()(e).format("YYYY-MM-DD_HH-mm")},r=new window.Blob([e],{type:"text/plain;charset=utf-8"});lp.a.saveAs(r,f===Kp?"".concat(a(new Date),"_").concat(n,".csv"):"".concat(a(t.from),"_").concat(a(t.until),"_").concat(n,".csv"))},B=[{display:"All logs",code:Kp},{display:"Date range",code:Qp}],P=Boolean(x),F=P?"date-range-popover":void 0;return r.a.createElement(Kr.a,{onClickAway:function(){j(null)}},r.a.createElement("div",null,r.a.createElement(pn,{Icon:xp,InverseIcon:gp,onClick:function(e){j(x?null:e.currentTarget)},variant:"contained"}),r.a.createElement(vn,{id:F,open:P,anchorEl:x,placement:"bottom"},r.a.createElement("div",{className:S.popoverContent},r.a.createElement("div",{className:S.popoverHeader},s),r.a.createElement("div",{className:S.radioButtonsContainer},r.a.createElement(Na,{name:"logs-select",value:f,options:B,ariaLabel:"logs-select",onChange:function(e){var t=Jr.a(["target","value"])(e);p(t),t===Kp&&v({from:null,until:null})},className:S.radioButtons})),f===Qp&&r.a.createElement("div",{className:w()(N)},r.a.createElement("div",{className:S.dateContainerWrapper},g&&r.a.createElement(r.a.Fragment,null,r.a.createElement(_p,{date:g.from},"From"),r.a.createElement("div",{className:S.arrowContainer},r.a.createElement(dp,{className:S.arrow})),r.a.createElement(_p,{date:g.until},"To"))),r.a.createElement(Hp,{maxDate:Ud()(),onRangeChange:I})),r.a.createElement("div",{className:S.download},r.a.createElement(Bn,{color:"primary",onClick:function(){return function(e,t,n){f===Kp&&n({variables:Object(c.a)({},t)}),e&&e.from&&(e.from&&!e.until&&(e.until=Ud()()),f===Qp&&n({variables:Object(c.a)(Object(c.a)({},t),{},{from:e.from,until:e.until})}))}(g,i,k)}},"Download"))))))},eh=Object(f.a)({table:{tableLayout:"fixed",borderCollapse:"separate",borderSpacing:"0 0"}}),th=Object(a.memo)((function(e){var t=e.className,n=e.children,a=Object($e.a)(e,["className","children"]),l=eh();return r.a.createElement("table",Object.assign({},a,{className:w()(l.table,t)}),n)})),nh=Object(a.memo)((function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement("tbody",n,t)})),ah=Object(f.a)({td:{padding:[[0,24]]},alignRight:{textAlign:"right"}}),rh=Object(a.memo)((function(e){var t,n=e.colspan,a=e.rightAlign,l=e.className,i=e.children,o=Object($e.a)(e,["colspan","rightAlign","className","children"]),c=ah(),s=(t={},Object(E.a)(t,c.td,!0),Object(E.a)(t,c.alignRight,a),t);return r.a.createElement("td",Object.assign({colSpan:n,className:w()(s,l)},o),i)})),lh=Object(a.memo)((function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement("thead",n,t)})),ih=Be.tl2,oh=Object(f.a)({th:{extend:ih,backgroundColor:Ne,height:je,textAlign:"left",color:Z,padding:"0 ".concat(24,"px")},alignRight:{textAlign:"right"}}),ch=Object(a.memo)((function(e){var t,n=e.rightAlign,a=e.children,l=e.className,i=Object($e.a)(e,["rightAlign","children","className"]),o=oh(),c=(t={},Object(E.a)(t,o.th,!0),Object(E.a)(t,o.alignRight,n),t);return r.a.createElement("th",Object.assign({},i,{className:w()(c,l)}),a)})),sh=Be.info2,uh=Be.p,dh=Object(f.a)({tr:{extend:uh,padding:4,height:Ce,backgroundColor:"#ffffff"},lg:{extend:sh,height:76},sm:{height:30},error:{backgroundColor:Ie},success:{backgroundColor:"#ecfbef"}}),mh=Object(a.memo)((function(e){var t,n=e.className,a=e.children,l=e.header,i=e.error,o=e.success,c=e.size,s=void 0===c?"sm":c,u=Object($e.a)(e,["className","children","header","error","success","size"]),d=dh(),m=(t={},Object(E.a)(t,d.tr,!l),Object(E.a)(t,d.sm,!l&&"sm"===s),Object(E.a)(t,d.lg,!l&&"lg"===s),Object(E.a)(t,d.error,i),Object(E.a)(t,d.success,o),t);return r.a.createElement("tr",Object.assign({className:w()(m,n)},u),a)}));function fh(){var e=Object(Bt.a)(["\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogs(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n ) {\n logLevel\n id\n timestamp\n message\n }\n }\n"]);return fh=function(){return e},e}function ph(){var e=Object(Bt.a)(["\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogsCsv(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n )\n }\n"]);return ph=function(){return e},e}function hh(){var e=Object(Bt.a)(["\n {\n machines {\n name\n deviceId\n }\n }\n"]);return hh=function(){return e},e}var bh=Object(f.a)(Ki),gh=zt()(hh()),vh=zt()(ph()),yh=zt()(fh()),Eh=function(){var e,t=bh(),n=Object(a.useState)(null),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)(null),u=Object(o.a)(s,2),d=u[0],m=u[1],f=null===i||void 0===i?void 0:i.deviceId,p=Object(Pt.c)(gh).data,h=Object(Pt.c)(yh,{variables:{deviceId:f,limit:500},skip:!i,onCompleted:function(){return m("")}}).data;(null===p||void 0===p||null===(e=p.machines)||void 0===e?void 0:e.length)&&!i&&c(null===p||void 0===p?void 0:p.machines[0]);return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:t.titleWrapper},r.a.createElement("div",{className:t.titleAndButtonsContainer},r.a.createElement(bt,null,"Machine Logs"),h&&r.a.createElement("div",{className:t.buttonsWrapper},r.a.createElement(Xp,{title:"Download logs",name:"machine-logs",query:vh,args:{deviceId:f},getLogs:function(e){return Jr.a(["machineLogsCsv"])(e)}}),r.a.createElement(rt,null,d)))),r.a.createElement("div",{className:t.wrapper},r.a.createElement(ze,{displayName:function(e){return e.name},data:(null===p||void 0===p?void 0:p.machines)||[],isSelected:function(e){return Jr.a(["deviceId"])(i)===e.deviceId},onClick:c}),r.a.createElement("div",{className:t.tableWrapper},r.a.createElement(th,{className:t.table},r.a.createElement(lh,null,r.a.createElement(mh,{header:!0},r.a.createElement(ch,{className:t.dateColumn},"Date"),r.a.createElement(ch,{className:t.levelColumn},"Level"),r.a.createElement(ch,{className:t.fillColumn}))),r.a.createElement(nh,null,h&&h.machineLogs.map((function(e,t){return r.a.createElement(mh,{key:t,size:"sm"},r.a.createElement(rh,null,(n=e.timestamp,Ud()(n).format("YYYY-MM-DD HH:mm"))),r.a.createElement(rh,null,e.logLevel),r.a.createElement(rh,null,e.message));var n})))))))};function Oh(){var e=Object(Bt.a)(["\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $cassette1: Int!\n $cassette2: Int!\n ) {\n machineAction(\n deviceId: $deviceId\n action: $action\n cassette1: $cassette1\n cassette2: $cassette2\n ) {\n deviceId\n cassette1\n cassette2\n }\n }\n"]);return Oh=function(){return e},e}function wh(){var e=Object(Bt.a)(["\n query getData {\n machines {\n name\n id: deviceId\n cassette1\n cassette2\n }\n config\n }\n"]);return wh=function(){return e},e}var xh=Object(f.a)({cashbox:{width:80,height:36}}),jh=Yt.d().shape({name:Yt.e().required(),cassette1:Yt.c().label("Cassette 1 (top)").required().integer().min(0).max(500),cassette2:Yt.c().label("Cassette 2 (bottom)").required().integer().min(0).max(500)}),Ch=zt()(wh()),kh=zt()(Oh()),Sh=function(){var e=xh(),t=Object(Pt.c)(Ch).data,n=Object(Pt.b)(kh,{refetchQueries:function(){return["getData"]}}),a=Object(o.a)(n,2),l=a[0],i=a[1].error,c=(null===t||void 0===t?void 0:t.config)&&ni("cashOut")(t.config),s=(null===t||void 0===t?void 0:t.config)&&ni("locale")(t.config),u=null===s||void 0===s?void 0:s.fiatCurrency,d=function(e){return ni(e)(c)},m=function(e){var t=e.id;return!d(t).active},f=[{name:"name",header:"Machine",width:254,view:function(e){return r.a.createElement(r.a.Fragment,null,e)},input:function(e){var t=e.field.value;return r.a.createElement(r.a.Fragment,null,t)}},{name:"cassette1",header:"Cassette 1 (Top)",width:265,stripe:!0,view:function(t,n){var a,l=n.id;return r.a.createElement(zl,{className:e.cashbox,denomination:null===(a=d(l))||void 0===a?void 0:a.top,currency:{code:u},notes:t})},input:Da,inputProps:{decimalPlaces:0}},{name:"cassette2",header:"Cassette 2 (Bottom)",width:265,stripe:!0,view:function(t,n){var a,l=n.id;return r.a.createElement(zl,{className:e.cashbox,denomination:null===(a=d(l))||void 0===a?void 0:a.bottom,currency:{code:u},notes:t})},input:Da,inputProps:{decimalPlaces:0}}];return r.a.createElement(r.a.Fragment,null,r.a.createElement(vt,{title:"Cash Cassettes"}),r.a.createElement(xc,{error:null===i||void 0===i?void 0:i.message,name:"cashboxes",enableEdit:!0,stripeWhen:m,disableRowEdit:m,elements:f,data:t&&t.machines,save:function(){for(var e=arguments.length,t=new Array(e),n=0;n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Lh=a.createElement("rect",{width:12,height:12,rx:3,ry:3,fill:"#ff7311"});function Bh(e,t){var n=e.title,r=e.titleId,l=Ih(e,["title","titleId"]);return a.createElement("svg",Nh({width:12,height:12,viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Lh)}var Ph=a.forwardRef(Bh);n.p;function Fh(){return(Fh=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Th=a.createElement("rect",{width:12,height:12,rx:3,ry:3,fill:"#ff584a"});function Wh(e,t){var n=e.title,r=e.titleId,l=Dh(e,["title","titleId"]);return a.createElement("svg",Fh({width:12,height:12,viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Th)}var Rh=a.forwardRef(Wh),Ah=(n.p,n(533)),zh=n(532),Mh=Object(f.a)({dialogContent:{width:434,padding:16,paddingRight:28},dialogTitle:{padding:16,paddingRight:12,display:"flex","justify-content":"space-between","& > h4":{margin:0},"& > button":{padding:0,marginTop:-4}},dialogActions:{padding:32,paddingTop:16}}),qh=function(e){var t=e.children,n=e.onClose,a=Mh();return r.a.createElement("div",{className:a.dialogTitle},t,n&&r.a.createElement(kn,{size:16,"aria-label":"close",onClick:n},r.a.createElement(Va,null)))},$h=Object(a.memo)((function(e){var t=e.title,n=void 0===t?"Confirm action":t,l=e.errorMessage,i=void 0===l?"This action requires confirmation":l,c=e.open,s=e.toBeConfirmed,u=e.saveButtonAlwaysEnabled,d=void 0!==u&&u,m=e.message,f=e.confirmationMessage,p=void 0===f?"Write '".concat(s,"' to confirm this action"):f,h=e.onConfirmed,b=e.onDissmised,g=e.initialValue,v=void 0===g?"":g,y=e.disabled,E=void 0!==y&&y,O=Object($e.a)(e,["title","errorMessage","open","toBeConfirmed","saveButtonAlwaysEnabled","message","confirmationMessage","onConfirmed","onDissmised","initialValue","disabled"]),w=Mh(),x=Object(a.useState)(v),j=Object(o.a)(x,2),C=j[0],k=j[1],S=Object(a.useState)(!1),N=Object(o.a)(S,2),I=N[0],L=N[1],B=!d&&s!==C||""===C;return r.a.createElement(Ft.a,Object.assign({open:c,"aria-labelledby":"form-dialog-title"},O),r.a.createElement(qh,{id:"customized-dialog-title",onClose:function(){k(""),L(!1),b()}},r.a.createElement(Xe,null,n)),i&&r.a.createElement(qh,null,r.a.createElement(pt,null,i.split(":").map((function(e){return r.a.createElement(r.a.Fragment,null,e,r.a.createElement("br",null))})))),r.a.createElement(Dt.a,{className:w.dialogContent},m&&r.a.createElement(tt,null,m),r.a.createElement(Ea,{disabled:E,label:p,name:"confirm-input",autoFocus:!0,id:"confirm-input",type:"text",size:"sm",fullWidth:!0,value:C,touched:{},error:I,InputLabelProps:{shrink:!0},onChange:function(e){return k(e.target.value)},onBlur:function(){return L(B)}})),r.a.createElement(zh.a,{className:w.dialogActions},r.a.createElement(on,{color:"green",disabled:B,onClick:function(){return h(C)}},"Confirm")))}));function Hh(){return(Hh=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Yh=a.createElement("desc",null,"Created with Sketch."),Gh=a.createElement("g",{id:"icon/button/edit/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1",stroke:"#FFFFFF"}),a.createElement("polygon",{id:"Stroke-3",stroke:"#FFFFFF",points:"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9"}));function Zh(e,t){var n=e.title,r=e.titleId,l=Vh(e,["title","titleId"]);return a.createElement("svg",Hh({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Yh,Gh)}var _h=a.forwardRef(Zh);n.p;function Uh(){return(Uh=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Kh=a.createElement("desc",null,"Created with Sketch."),Qh=a.createElement("g",{id:"icon/button/edit/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10",id:"Stroke-1",stroke:"#1B2559"}),a.createElement("polygon",{id:"Stroke-3",stroke:"#1B2559",points:"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9"}));function Xh(e,t){var n=e.title,r=e.titleId,l=Jh(e,["title","titleId"]);return a.createElement("svg",Uh({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Kh,Qh)}var eb=a.forwardRef(Xh);n.p;function tb(){return(tb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var ab=a.createElement("desc",null,"Created with Sketch."),rb=a.createElement("g",{id:"icon/button/link/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-7",stroke:"#1B2559",strokeWidth:1.2},a.createElement("polyline",{id:"Stroke-1",points:"12 6.66678 12 12.00018 0 12.00018 0 0.00018 5.3334 0.00018"}),a.createElement("polyline",{id:"Stroke-3",points:"8.66658 0 12.00018 0 12.00018 3.3336"}),a.createElement("line",{x1:6,y1:6,x2:12,y2:0,id:"Stroke-5"})));function lb(e,t){var n=e.title,r=e.titleId,l=nb(e,["title","titleId"]);return a.createElement("svg",tb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,ab,rb)}var ib=a.forwardRef(lb);n.p;function ob(){return(ob=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var sb=a.createElement("desc",null,"Created with Sketch."),ub=a.createElement("g",{id:"icon/button/reboot/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-3",stroke:"#FFFFFF"},a.createElement("g",{id:"Group-2"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"})),a.createElement("line",{x1:5.92223784,y1:7.57277922,x2:5.92223784,y2:3.98212987,id:"Stroke-9"}),a.createElement("g",{id:"Group-2",transform:"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"}))));function db(e,t){var n=e.title,r=e.titleId,l=cb(e,["title","titleId"]);return a.createElement("svg",ob({width:"12px",height:"12px",viewBox:"-0.493 -0.5 12.993 13",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,sb,ub)}var mb=a.forwardRef(db);n.p;function fb(){return(fb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var hb=a.createElement("desc",null,"Created with Sketch."),bb=a.createElement("g",{id:"icon/button/reboot/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-3",stroke:"#1B2559"},a.createElement("g",{id:"Group-2"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"})),a.createElement("line",{x1:5.92223784,y1:7.57277922,x2:5.92223784,y2:3.98212987,id:"Stroke-9"}),a.createElement("g",{id:"Group-2",transform:"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)"},a.createElement("path",{d:"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841",id:"Stroke-1"}),a.createElement("polyline",{id:"Stroke-3",points:"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14"}))));function gb(e,t){var n=e.title,r=e.titleId,l=pb(e,["title","titleId"]);return a.createElement("svg",fb({width:"12px",height:"12px",viewBox:"-0.493 -0.5 12.993 13",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,hb,bb)}var vb=a.forwardRef(gb);n.p;function yb(){return(yb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ob=a.createElement("desc",null,"Created with Sketch."),wb=a.createElement("g",{id:"icon/button/shut-down/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",transform:"translate(1.000000, 0.000000)",stroke:"#FFFFFF"},a.createElement("path",{d:"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976",id:"Stroke-1"}),a.createElement("line",{x1:5,y1:.75,x2:5,y2:3.25,id:"Stroke-3"})));function xb(e,t){var n=e.title,r=e.titleId,l=Eb(e,["title","titleId"]);return a.createElement("svg",yb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ob,wb)}var jb=a.forwardRef(xb);n.p;function Cb(){return(Cb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Sb=a.createElement("desc",null,"Created with Sketch."),Nb=a.createElement("g",{id:"icon/button/shut-down/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-5",transform:"translate(1.000000, 0.000000)",stroke:"#1B2559"},a.createElement("path",{d:"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976",id:"Stroke-1"}),a.createElement("line",{x1:5,y1:.75,x2:5,y2:3.25,id:"Stroke-3"})));function Ib(e,t){var n=e.title,r=e.titleId,l=kb(e,["title","titleId"]);return a.createElement("svg",Cb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Sb,Nb)}var Lb=a.forwardRef(Ib);n.p;function Bb(){return(Bb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Fb=a.createElement("desc",null,"Created with Sketch."),Db=a.createElement("g",{id:"icon/button/unpair/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-12",stroke:"#FFFFFF"},a.createElement("g",{id:"Group-5"},a.createElement("polyline",{id:"Stroke-1",points:"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3"}),a.createElement("polyline",{id:"Stroke-3",points:"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9"})),a.createElement("line",{x1:8.25,y1:3,x2:8.25,y2:1.5,id:"Stroke-6"}),a.createElement("line",{x1:9.75,y1:3,x2:10.5,y2:2.25,id:"Stroke-7"}),a.createElement("line",{x1:9.75,y1:4.5,x2:11.25,y2:4.5,id:"Stroke-8"}),a.createElement("line",{x1:2.25,y1:7.5,x2:.75,y2:7.5,id:"Stroke-9"}),a.createElement("line",{x1:2.25,y1:9,x2:1.5,y2:9.75,id:"Stroke-10"}),a.createElement("line",{x1:3.75,y1:9,x2:3.75,y2:10.5,id:"Stroke-11"})));function Tb(e,t){var n=e.title,r=e.titleId,l=Pb(e,["title","titleId"]);return a.createElement("svg",Bb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Fb,Db)}var Wb=a.forwardRef(Tb);n.p;function Rb(){return(Rb=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var zb=a.createElement("desc",null,"Created with Sketch."),Mb=a.createElement("g",{id:"icon/button/unpair/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("g",{id:"Group-12",stroke:"#1B2559"},a.createElement("g",{id:"Group-5"},a.createElement("polyline",{id:"Stroke-1",points:"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3"}),a.createElement("polyline",{id:"Stroke-3",points:"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9"})),a.createElement("line",{x1:8.25,y1:3,x2:8.25,y2:1.5,id:"Stroke-6"}),a.createElement("line",{x1:9.75,y1:3,x2:10.5,y2:2.25,id:"Stroke-7"}),a.createElement("line",{x1:9.75,y1:4.5,x2:11.25,y2:4.5,id:"Stroke-8"}),a.createElement("line",{x1:2.25,y1:7.5,x2:.75,y2:7.5,id:"Stroke-9"}),a.createElement("line",{x1:2.25,y1:9,x2:1.5,y2:9.75,id:"Stroke-10"}),a.createElement("line",{x1:3.75,y1:9,x2:3.75,y2:10.5,id:"Stroke-11"})));function qb(e,t){var n=e.title,r=e.titleId,l=Ab(e,["title","titleId"]);return a.createElement("svg",Rb({width:"12px",height:"12px",viewBox:"0 0 12 12",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,zb,Mb)}var $b=a.forwardRef(qb),Hb=(n.p,Object(c.a)(Object(c.a)({},eo),{},{colDivider:{width:1,margin:[[16,32]],backgroundColor:q,border:"none"},inlineChip:{marginInlineEnd:"0.25em"},stack:{display:"flex",flexDirection:"row"},wrapper:{display:"flex",marginTop:24,marginBottom:32,fontSize:ge},row:{display:"flex",flexDirection:"row",marginBottom:36},list:{padding:0,margin:0,listStyle:"none"},item:{height:24,marginBottom:12},link:{color:J,textDecoration:"none"},divider:{margin:"0 1rem"},mr:{marginRight:8},separator:{width:1,height:170,zIndex:1,marginRight:60,marginLeft:"auto",background:Object(Sn.fade)(q,.5)},warning:{color:se}}));function Vb(){var e=Object(Bt.a)(["\n query getMachine($deviceId: ID!) {\n machine(deviceId: $deviceId) {\n latestEvent {\n note\n }\n }\n }\n"]);return Vb=function(){return e},e}function Yb(){var e=Object(Bt.a)(["\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $newName: String\n ) {\n machineAction(deviceId: $deviceId, action: $action, newName: $newName) {\n deviceId\n }\n }\n"]);return Yb=function(){return e},e}var Gb=zt()(Yb()),Zb=zt()(Vb()),_b=[{code:void 0,label:"Troubleshooting",article:"https://support.lamassu.is/hc/en-us/categories/115000075249-Troubleshooting"}],Ub=function(e){var t=e.code;return _b.find((function(e){return e.code===t}))},Jb=Object(f.a)(to),Kb=function(e){var t=e.children,n=Jb();return r.a.createElement("div",{className:n.label},t)},Qb=Object(f.a)(Hb),Xb=function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement(d.a,Object.assign({container:!0,spacing:4},n),t)},eg=function(e){var t=e.children,n=Object($e.a)(e,["children"]);return r.a.createElement(d.a,Object.assign({item:!0,xs:!0},n),t)},tg=function(e){var t=e.it,n=e.onActionSuccess,l=Object(a.useState)({command:null}),i=Object(o.a)(l,2),s=i[0],u=i[1],d=Object(a.useState)(null),m=Object(o.a)(d,2),f=m[0],p=m[1],h=Qb(),b=r.a.createElement("span",{className:h.warning},"A user may be in the middle of a transaction and they could lose their funds if you continue."),g=Object(Pt.a)(Zb,{variables:{deviceId:t.deviceId},onCompleted:function(e){var t,n=(t=function(e){var t,n;return JSON.parse(null!==(t=null===(n=e.machine.latestEvent)||void 0===n?void 0:n.note)&&void 0!==t?t:'{"state": null}').state}(e))&&!["chooseCoin","idle","pendingIdle","dualIdle","networkDown","unpaired","maintenance","virgin","wifiList"].includes(t)?b:null;u((function(e){return Object(c.a)(Object(c.a)({},e),{},{message:n})}))}}),v=Object(o.a)(g,2),y=v[0],E=v[1].loading,O=Object(Pt.b)(Gb,{onError:function(e){var t=e.message;p(null!==t&&void 0!==t?t:"An error ocurred")},onCompleted:function(){n&&n(),u({command:null})}}),w=Object(o.a)(O,2),x=w[0],j=w[1].loading,C=Boolean(s.command),k=!("restartServices"!==(null===s||void 0===s?void 0:s.command)||!E);return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xb,{className:h.wrapper},r.a.createElement(eg,{xs:5},r.a.createElement(Xb,null,r.a.createElement(eg,null,r.a.createElement(Kb,null,"Statuses"),r.a.createElement("ul",{className:h.list},t.statuses.map((function(e,t){return r.a.createElement("li",{className:h.item,key:t},r.a.createElement(fu,{status:e}))})))),r.a.createElement(eg,null,r.a.createElement(Kb,null,"Lamassu Support article"),r.a.createElement("ul",{className:h.list},t.statuses.map(Ub).map((function(e,t){var n=e.label,a=e.article;return r.a.createElement("li",{className:h.item,key:t},r.a.createElement("a",{className:h.link,target:"_blank",rel:"noopener noreferrer",href:a},"'",n,"' ",r.a.createElement(ib,null)))})))))),r.a.createElement(Ah.a,{orientation:"vertical",flexItem:!0,className:h.separator}),r.a.createElement($h,{disabled:k,open:C,title:"".concat(null===s||void 0===s?void 0:s.display," this machine?"),errorMessage:f,toBeConfirmed:t.name,message:null===s||void 0===s?void 0:s.message,confirmationMessage:null===s||void 0===s?void 0:s.confirmationMessage,saveButtonAlwaysEnabled:"rename"===(null===s||void 0===s?void 0:s.command),onConfirmed:function(e){p(null),x({variables:Object(c.a)({deviceId:t.deviceId,action:"".concat(null===s||void 0===s?void 0:s.command)},"rename"===(null===s||void 0===s?void 0:s.command)&&{newName:e})})},onDissmised:function(){u({command:null}),p(null)}}),r.a.createElement(eg,{xs:!0},r.a.createElement(Xb,{className:h.row},r.a.createElement(eg,{xs:4},r.a.createElement(Kb,null,"Machine Model"),r.a.createElement("span",null,t.model)),r.a.createElement(eg,{xs:4},r.a.createElement(Kb,null,"Paired at"),r.a.createElement("span",null,Ud()(t.pairedAt).format("YYYY-MM-DD HH:mm:ss")))),r.a.createElement(Xb,null,r.a.createElement(eg,null,r.a.createElement(Kb,null,"Actions"),r.a.createElement("div",{className:h.stack},r.a.createElement(Lt,{className:h.mr,disabled:j,color:"primary",Icon:eb,InverseIcon:_h,onClick:function(){return u({command:"rename",display:"Rename",confirmationMessage:"Write the new name for this machine"})}},"Rename"),r.a.createElement(Lt,{color:"primary",className:h.mr,Icon:$b,InverseIcon:Wb,disabled:j,onClick:function(){return u({command:"unpair",display:"Unpair"})}},"Unpair"),r.a.createElement(Lt,{color:"primary",className:h.mr,Icon:vb,InverseIcon:mb,disabled:j,onClick:function(){return u({command:"reboot",display:"Reboot"})}},"Reboot"),r.a.createElement(Lt,{className:h.mr,disabled:j,color:"primary",Icon:Lb,InverseIcon:jb,onClick:function(){return u({command:"shutdown",display:"Shutdown",message:"In order to bring it back online, the machine will need to be visited and its power reset."})}},"Shutdown"),r.a.createElement(Lt,{color:"primary",className:h.inlineChip,Icon:vb,InverseIcon:mb,disabled:j,onClick:function(){y(),u({command:"restartServices",display:"Restart services for"})}},"Restart Services")))))))};function ng(){var e=Object(Bt.a)(["\n {\n machines {\n name\n deviceId\n lastPing\n pairedAt\n version\n paired\n cashbox\n cassette1\n cassette2\n version\n model\n statuses {\n label\n type\n }\n }\n }\n"]);return ng=function(){return e},e}var ag=zt()(ng()),rg=Object(f.a)(no),lg=function(){var e,t=rg(),n=Object(v.i)().state,a=null===n||void 0===n?void 0:n.id,l=Object(Pt.c)(ag),i=l.data,o=l.refetch,c=[{header:"Machine Name",width:250,size:"sm",textAlign:"left",view:function(e){return e.name}},{header:"Status",width:350,size:"sm",textAlign:"left",view:function(e){return r.a.createElement(pu,{statuses:e.statuses})}},{header:"Last ping",width:200,size:"sm",textAlign:"left",view:function(e){return e.lastPing?Ud()(e.lastPing).fromNow():"unknown"}},{header:"Software Version",width:200,size:"sm",textAlign:"left",view:function(e){return e.version||"unknown"}}],s=null!==(e=Jr.a(["machines"])(i))&&void 0!==e?e:[],u=$r.a(sa.a("deviceId",a))(s);return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:t.titleWrapper},r.a.createElement("div",{className:t.titleAndButtonsContainer},r.a.createElement(bt,null,"Machine Status")),r.a.createElement("div",{className:t.headerLabels},r.a.createElement("div",null,r.a.createElement(Ph,null),r.a.createElement("span",null,"Warning")),r.a.createElement("div",null,r.a.createElement(Rh,null),r.a.createElement("span",null,"Error")))),r.a.createElement(Hi,{elements:c,data:s,Details:function(e){var t=e.it;return r.a.createElement(tg,{it:t,onActionSuccess:o})},initialExpanded:u,expandable:!0}))},ig=r.a.createContext(),og=n(565),cg=n(534),sg=n(535),ug=og.a(cg.a(Number),sg.a(Fo.a(NaN))),dg=function(e){return ug(e)?e:null},mg=Object(f.a)({header:{display:"flex",alignItems:"center",marginBottom:16,height:26,margin:0},title:{flexShrink:2,margin:0,overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"},button:{border:"none",backgroundColor:"transparent",cursor:"pointer",marginLeft:8},editingButtons:{display:"flex",flexShrink:0,marginLeft:16,justifyContent:"space-between",width:110}}),fg=function(e){var t=e.title,n=e.editing,a=e.disabled,l=e.setEditing,i=mg();return r.a.createElement("div",{className:i.header},r.a.createElement(Xe,{className:i.title},t),!n&&r.a.createElement(kn,{onClick:function(){return l(!0)},className:i.button,disabled:a},a?r.a.createElement(nc,null):r.a.createElement(cc,null)),n&&r.a.createElement("div",{className:i.editingButtons},r.a.createElement(Bn,{color:"primary",type:"submit"},"Save"),r.a.createElement(Bn,{color:"secondary",type:"reset"},"Cancel")))},pg=Object(f.a)({text:{margin:[[7,0,7,1]]},fieldWrapper:{height:53},valueWrapper:{display:"flex",alignItems:"baseline"},label:{margin:0},decoration:{margin:[[0,0,0,7]]}}),hg=function(e){var t,n=e.label,a=e.name,l=e.editing,i=e.displayValue,o=e.decoration,c=e.className,s=e.decimalPlaces,u=void 0===s?0:s,d=e.width,m=void 0===d?80:d,f=pg({width:m,editing:l}),p=Object(Rt.e)().values,h=(t={},Object(E.a)(t,f.fieldWrapper,!0),Object(E.a)(t,"className",c),t);return r.a.createElement("div",{className:w()(h)},n&&r.a.createElement(ct,{className:f.label},n),r.a.createElement("div",{className:f.valueWrapper},!l&&r.a.createElement(nt,{className:f.text},i(p[a])),l&&r.a.createElement(Rt.b,{id:a,size:"lg",fullWidth:!0,name:a,component:Da,textAlign:"right",width:m,decimalPlaces:u}),r.a.createElement(ot,{className:f.decoration},o)))},bg=function(e){var t,n=e.title,l=e.label,i=e.width,c=void 0===i?80:i,s=e.min,u=void 0===s?0:s,d=e.max,m=void 0===d?9999999:d,f=e.name,p=e.section,h=e.className,b=Object(a.useState)(!1),g=Object(o.a)(b,2),v=g[0],y=g[1],O=function(){var e=Object(_r.a)(Zr.a.mark((function e(t,n){return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!v){e.next=2;break}return e.abrupt("return");case 2:return y(!0),e.next=5,x(t,n);case 5:y(!1);case 6:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}(),w=Object(a.useContext)(ig),x=w.save,j=w.data,C=w.currency,k=w.isEditing,S=w.isDisabled,N=w.setEditing,I=Yt.d().shape(Object(E.a)({},f,Yt.c().transform(dg).integer().min(u).max(m).nullable()));return r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:Object(E.a)({},f,null!==(t=j&&j[f])&&void 0!==t?t:""),validationSchema:I,onSubmit:function(e){return O(p,I.cast(e))},onReset:function(){N(f,!1)}},r.a.createElement(Rt.c,{className:h},r.a.createElement(Ro,null),r.a.createElement(fg,{title:n,editing:k(f),disabled:S(f),setEditing:function(e){return N(f,e)}}),r.a.createElement(hg,{label:l,name:f,editing:k(f),width:c,displayValue:function(e){return""===e?"-":e},decoration:C})))},gg="cryptoLowBalance",vg="cryptoHighBalance",yg=Object(f.a)({cryptoBalanceAlerts:{display:"flex",marginBottom:36,height:135,alignItems:"center"},cryptoBalanceAlertsForm:{width:222,marginRight:32},cryptoBalanceAlertsSecondForm:{marginLeft:50},vertSeparator:{width:1,height:"100%",borderRight:[[1,"solid","black"]]}}),Eg=function(e){var t=e.section,n=e.fieldWidth,l=yg(),i=Object(a.useContext)(ig),o=i.data,c=i.save,s=i.currency,u=i.setEditing,d=i.isEditing,m=i.isDisabled;return r.a.createElement("div",{className:l.cryptoBalanceAlerts},r.a.createElement(bg,{name:gg,data:o,save:c,section:t,decoration:s,className:l.cryptoBalanceAlertsForm,title:"Default (Low Balance)",label:"Alert me under",editing:d(gg),disabled:m(gg),setEditing:function(e){return u(gg,e)},width:n}),r.a.createElement("div",{className:l.vertSeparator}),r.a.createElement(bg,{name:vg,data:o,section:t,save:c,decoration:s,className:l.cryptoBalanceAlertsSecondForm,title:"Default (High Balance)",label:"Alert me over",editing:d(vg),disabled:m(vg),setEditing:function(e){return u(vg,e)},width:n}))},Og="highBalance",wg="lowBalance",xg="cryptoCurrency",jg="cryptoBalanceOverrides",Cg=function(e){var t,n,l,i=e.section,o=Object(a.useContext)(ig),c=o.cryptoCurrencies,s=void 0===c?[]:c,u=o.data,d=o.save,m=o.currency,f=o.isDisabled,p=o.setEditing,h=null!==(t=null===u||void 0===u?void 0:u.cryptoBalanceOverrides)&&void 0!==t?t:[],b=da.a(ua.a(xg))(h),g=Wr.a((function(e){return!qr.a(e.code,b)}))(s),v=(n={},Object(E.a)(n,xg,null),Object(E.a)(n,wg,""),Object(E.a)(n,Og,""),n),y=9999999,O=Yt.d().shape((l={},Object(E.a)(l,xg,Yt.e().label("Cryptocurrency").nullable().required()),Object(E.a)(l,wg,Yt.c().label("Low Balance").when(Og,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(y).nullable()),Object(E.a)(l,Og,Yt.c().label("High Balance").when(wg,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(y).nullable()),l),[wg,Og]),w=[{name:xg,header:"Cryptocurrency",width:166,size:"sm",view:function(e){return $t.a(Jr.a(["display"]),ca.a(sa.a("code",e)))(s)},input:Fa,inputProps:{options:function(e){return Rr.a(g,function(e){var t=$t.a(ca.a(sa.a("code",null===e||void 0===e?void 0:e.cryptoCurrency)))(s);return t?[t]:[]}(e))},optionsLimit:null,valueProp:"code",getLabel:Jr.a(["display"])}},{name:wg,width:155,textAlign:"right",bold:!0,input:Da,suffix:m,inputProps:{decimalPlaces:2}},{name:Og,width:155,textAlign:"right",bold:!0,input:Da,suffix:m,inputProps:{decimalPlaces:2}}];return r.a.createElement(xc,{name:jg,title:"Overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,save:function(e){return d(i,e)},initialValues:v,validationSchema:O,forceDisable:f(jg)||!s,data:h,elements:w,disableAdd:!(null===g||void 0===g?void 0:g.length),onDelete:function(e){var t={cryptoBalanceOverrides:Do.a((function(t){return t.id===e}),h)};return d(t)},setEditing:function(e){return p(jg,e)}})},kg=Object(f.a)({wrapper:{display:"flex"},form:{marginBottom:36},first:{width:236},title:{marginTop:0},row:{width:183,display:"grid",gridTemplateColumns:"repeat(2,1fr)",gridTemplateRows:"1fr",gridColumnGap:18,gridRowGap:0},col2:{width:136}}),Sg="fiatBalanceAlerts",Ng=function(e){var t,n,l,i,o=e.section,c=e.min,s=void 0===c?0:c,u=e.max,d=void 0===u?Number.MAX_SAFE_INTEGER:u,m=e.fieldWidth,f=void 0===m?80:m,p=Object(a.useContext)(ig),h=p.isEditing,b=p.isDisabled,g=p.setEditing,v=p.data,y=p.save,E=kg(),O=h(Sg),w=Yt.d().shape({fiatBalanceCassette1:Yt.c().transform(dg).integer().min(s).max(d).nullable(),fiatBalanceCassette2:Yt.c().transform(dg).integer().min(s).max(d).nullable()}),x=100*(null!==(t=null===v||void 0===v?void 0:v.fiatBalanceCassette1)&&void 0!==t?t:0)/d,j=100*(null!==(n=null===v||void 0===v?void 0:v.fiatBalanceCassette2)&&void 0!==n?n:0)/d;return r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:{fiatBalanceCassette1:null!==(l=null===v||void 0===v?void 0:v.fiatBalanceCassette1)&&void 0!==l?l:"",fiatBalanceCassette2:null!==(i=null===v||void 0===v?void 0:v.fiatBalanceCassette2)&&void 0!==i?i:""},validationSchema:w,onSubmit:function(e){return y(o,w.cast(e))},onReset:function(){g(Sg,!1)}},r.a.createElement(Rt.c,{className:E.form},r.a.createElement(Ro,null),r.a.createElement(fg,{title:"Cash out (Empty)",editing:O,disabled:b(Sg),setEditing:function(e){return g(Sg,e)}}),r.a.createElement("div",{className:E.wrapper},r.a.createElement("div",{className:E.first},r.a.createElement("div",{className:E.row},r.a.createElement(Al,{percent:x,cashOut:!0}),r.a.createElement("div",{className:E.col2},r.a.createElement(ot,{className:E.title},"Cassette 1 (Top)"),r.a.createElement(hg,{label:"Alert me under",name:"fiatBalanceCassette1",editing:O,displayValue:function(e){return""===e?"-":e},decoration:"notes",width:f})))),r.a.createElement("div",{className:E.row},r.a.createElement(Al,{percent:j,cashOut:!0}),r.a.createElement("div",{className:E.col2},r.a.createElement(ot,{className:E.title},"Cassette 2 (Bottom)"),r.a.createElement(hg,{label:"Alert me under",name:"fiatBalanceCassette2",editing:O,displayValue:function(e){return""===e?"-":e},decoration:"notes",width:f}))))))},Ig="fiatBalanceCassette1",Lg="fiatBalanceCassette2",Bg="machine",Pg="fiatBalanceOverrides",Fg=function(e){var t,n,l,i=e.section,o=Object(a.useContext)(ig),c=o.machines,s=void 0===c?[]:c,u=o.data,d=o.save,m=o.isDisabled,f=o.setEditing,p=null!==(t=null===u||void 0===u?void 0:u.fiatBalanceOverrides)&&void 0!==t?t:[],h=da.a((function(e){return e.machine}),p),b=Wr.a((function(e){return!qr.a(e.deviceId,h)}))(s),g=(n={},Object(E.a)(n,Bg,null),Object(E.a)(n,Ig,""),Object(E.a)(n,Lg,""),n),v=9999999,y=Yt.d().shape((l={},Object(E.a)(l,Bg,Yt.e().label("Machine").nullable().required()),Object(E.a)(l,Ig,Yt.c().label("Cassette 1 (top)").when(Lg,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(v).nullable()),Object(E.a)(l,Lg,Yt.c().label("Cassette 1 (bottom)").when(Ig,{is:function(e){return!e},then:Yt.c().required()}).transform(dg).integer().min(0).max(v).nullable()),l),[Ig,Lg]),O=[{name:Bg,width:238,size:"sm",view:function(e){return $t.a(Jr.a(["name"]),ca.a(sa.a("deviceId",e)))(s)},input:Fa,inputProps:{options:function(e){return Rr.a(b,function(e){var t=$t.a(ca.a(sa.a("deviceId",null===e||void 0===e?void 0:e.machine)))(s);return t?[t]:[]}(e))},valueProp:"deviceId",getLabel:Jr.a(["name"])}},{name:Ig,display:"Cash-out 1",width:155,textAlign:"right",doubleHeader:"Cash-out (Cassette Empty)",bold:!0,input:Da,suffix:"notes",inputProps:{decimalPlaces:0}},{name:Lg,display:"Cash-out 2",width:155,textAlign:"right",doubleHeader:"Cash-out (Cassette Empty)",bold:!0,input:Da,suffix:"notes",inputProps:{decimalPlaces:0}}];return r.a.createElement(xc,{name:Pg,title:"Overrides",enableDelete:!0,enableEdit:!0,enableCreate:!0,save:function(e){return d(i,y.cast(e))},initialValues:g,validationSchema:y,forceDisable:m(Pg)||!s,data:p,elements:O,disableAdd:!(null===b||void 0===b?void 0:b.length),setEditing:function(e){return f(Pg,e)}})},Dg={balance:152,transactions:184,compliance:178,errors:142,active:263},Tg=mi.a(Vo.a(Dg))+129,Wg=function(e){var t=e.namespace,n=e.forceDisable,l=Object(a.useContext)(ig),i=l.data,o=l.save,c=$t.a(o(null),ai(t)),s=ni(t)(i),u=n||!s||!s.active,d=function(e){var t=e.name,n=e.disabled,a=!(!s||!s[t]);return r.a.createElement(ji,{width:Dg[t],textAlign:"center"},r.a.createElement(Pa,{disabled:n,checked:a,onChange:function(e){c(Object(E.a)({},t,e.target.checked))},value:a}))};return r.a.createElement(Si,null,r.a.createElement(ji,{width:129},wl(t)),r.a.createElement(d,{name:"balance",disabled:u}),r.a.createElement(d,{name:"transactions",disabled:u}),r.a.createElement(d,{name:"compliance",disabled:u}),r.a.createElement(d,{name:"errors",disabled:u}),r.a.createElement(d,{name:"active",disabled:n}))},Rg=Object(f.a)({mainTable:{width:Tg},wizardTable:{width:930}}),Ag=function(e){var t=e.wizard,n=e.forceDisable,a=t?20:0,l=Rg();return r.a.createElement(Ei,{className:t?l.wizardTable:l.mainTable},r.a.createElement(Oi,null,r.a.createElement(Ci,{width:129-a},"Channel"),Object.keys(Dg).map((function(e){return r.a.createElement(Ci,{key:e,width:Dg[e]-a,textAlign:"center"},wl(e))}))),r.a.createElement(xi,null,r.a.createElement(Wg,{namespace:"email",forceDisable:n}),r.a.createElement(Wg,{namespace:"sms",forceDisable:n})))},zg=function(e){var t=e.section,n=e.fieldWidth;return r.a.createElement(bg,{section:t,title:"High value transaction",label:"Alert me over",name:"highValueTransaction",width:n})};function Mg(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Mg=function(){return e},e}function qg(){var e=Object(Bt.a)(["\n query getData {\n config\n machines {\n name\n deviceId\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return qg=function(){return e},e}var $g=zt()(qg()),Hg=zt()(Mg()),Vg=function(e){var t=e.name,n=e.displaySetup,l=void 0===n||n,i=e.displayTransactionAlerts,c=void 0===i||i,s=e.displayFiatAlerts,u=void 0===s||s,d=e.displayCryptoAlerts,m=void 0===d||d,f=e.displayOverrides,p=void 0===f||f,h=e.displayTitle,b=void 0===h||h,g=e.wizard,v=void 0!==g&&g,y=Object(a.useState)(null),E=Object(o.a)(y,2),O=E[0],w=E[1],x=Object(a.useState)(null),j=Object(o.a)(x,2),C=j[0],k=j[1],S=Object(a.useState)(null),N=Object(o.a)(S,2),I=N[0],L=N[1],B=Object(Pt.c)($g).data,P=Object(Pt.b)(Hg,{refetchQueries:["getData"],onCompleted:function(){return L(null)},onError:function(e){return k({error:e})}}),F=Object(o.a)(P,1)[0],D=ni(t)(null===B||void 0===B?void 0:B.config),T=null===B||void 0===B?void 0:B.machines,W=null===B||void 0===B?void 0:B.cryptoCurrencies,R=Jr.a(["fiatCurrency"])(ni(_l)(null===B||void 0===B?void 0:B.config)),A={save:Ml.a((function(e,n){var a=ai(t)(n);return w(e),k(null),F({variables:{config:a}})})),error:C,editingKey:I,data:D,currency:R,isEditing:function(e){return I===e},isDisabled:function(e){return I&&I!==e},setEditing:function(e,t){t||k(null),L(t?e:null)},setSection:w,machines:T,cryptoCurrencies:W};return r.a.createElement(ig.Provider,{value:A},b&&r.a.createElement(vt,{title:"Notifications"}),l&&r.a.createElement(js,{title:"Setup",error:C&&!O},r.a.createElement(Ag,{forceDisable:!!I,wizard:v})),c&&r.a.createElement(js,{title:"Transaction alerts",error:C&&"tx"===O},r.a.createElement(zg,{section:"tx",fieldWidth:130})),u&&r.a.createElement(js,{title:"Fiat balance alerts",error:C&&"fiat"===O},r.a.createElement(Ng,{section:"fiat",max:500,fieldWidth:50}),p&&r.a.createElement(Fg,{section:"fiat"})),m&&r.a.createElement(js,{title:"Crypto balance alerts",error:C&&"crypto"===O},r.a.createElement(Eg,{section:"crypto",fieldWidth:130}),p&&r.a.createElement(Cg,{section:"crypto",fieldWidth:130})))},Yg={button:Ki.button,content:{display:"flex"},transparentButton:{"& > *":{margin:"auto 10px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},titleWrapper:{display:"flex",alignItems:"center",flex:"wrap"},rowWrapper:{display:"flex",alignItems:"center",justifyContent:"space-between"},rowTextAndSwitch:{display:"flex",flex:"wrap",alignItems:"center",justifyContent:"space-between",width:285},popoverContent:{width:272,padding:[[10,15]]}};function Gg(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Gg=function(){return e},e}function Zg(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return Zg=function(){return e},e}var _g=Object(f.a)(Yg),Ug=zt()(Zg()),Jg=zt()(Gg()),Kg=Object(a.memo)((function(e){var t=e.title,n=e.disabled,a=void 0!==n&&n,l=e.checked,i=e.save,o=e.label,c=_g();return r.a.createElement("div",{className:c.rowWrapper},r.a.createElement("div",{className:c.rowTextAndSwitch},r.a.createElement(tt,null,t),r.a.createElement(Pa,{disabled:a,checked:l,onChange:function(e){return i&&i(e.target.checked)}})),o&&r.a.createElement(st,null,o))})),Qg=Object(a.memo)((function(){var e=_g(),t=Object(Pt.c)(Ug).data,n=Object(Pt.b)(Jg,{refetchQueries:["getData"]}),a=Object(o.a)(n,1)[0],l=function(e){return a({variables:{config:ai(Kl,e)}})},i=(null===t||void 0===t?void 0:t.config)&&ni(Kl,t.config);return i?r.a.createElement("div",{className:e.content},r.a.createElement("div",null,r.a.createElement("div",{className:e.titleWrapper},r.a.createElement(Xe,null,"Coin ATM Radar share settings"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,"For details on configuring this panel, please read the relevant knowledgebase article"," ",r.a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://support.lamassu.is/hc/en-us/articles/360023720472-Coin-ATM-Radar"},"here"),"."))),r.a.createElement(Kg,{title:"Share information?",checked:i.active,save:function(e){return l({active:e})},label:i.active?"Yes":"No"}),r.a.createElement(Xe,null,"Machine info"),r.a.createElement(Kg,{title:"Commissions",disabled:!i.active,checked:i.commissions,save:function(e){return l({commissions:e})}}),r.a.createElement(Kg,{title:"Limits and verification",disabled:!i.active,checked:i.limitsAndVerification,save:function(e){return l({limitsAndVerification:e})}}))):null})),Xg=n(343),ev=Be.p,tv=Object(Xg.a)({typography:{fontFamily:xe,body1:Object(c.a)({},ev)},MuiButtonBase:{disableRipple:!0},palette:{primary:{light:K,dark:K,main:K},secondary:{light:K,dark:K,main:K},background:{default:ee}},overrides:{MuiRadio:{colorSecondary:{color:K}},MuiAutocomplete:{root:{color:le},noOptions:{padding:[[6,16]]},option:{'&[data-focus="true"]':{backgroundColor:te}},paper:{color:le,margin:0},listbox:{padding:0},tag:{'&[data-tag-index="0"]':{marginLeft:0},margin:2,backgroundColor:te,borderRadius:4,height:18}},MuiChip:{label:{paddingLeft:4,paddingRight:4,color:le,fontSize:ve}},MuiInput:{root:{color:le},underline:{"&:before":{borderBottom:[[2,"solid",le]]}}},MuiInputLabel:{root:{font:"inherit",fontSize:be,color:ie},shrink:{color:le,transform:"translate(0, 1.7px) scale(0.83)"}},MuiFormLabel:{root:{"&$focused":{color:le}}}}}),nv=Be.p,av={header:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},transparentButton:{"& > *":{margin:"auto 12px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},section:{marginBottom:52},row:{display:"flex",alignItems:"center",justifyContent:"space-between",marginBottom:28,width:600,"&:last-child":{marginBottom:0}},switchRow:{display:"flex",alignItems:"center",marginBottom:28,width:600},switch:{display:"flex",alignItems:"center",marginLeft:120},submit:{justifyContent:"flex-start",alignItems:"center",height:19,padding:[[0,4,4,4]],"& > button":{marginRight:40}},singleButton:{marginTop:50,paddingLeft:0}},rv={infoMessage:{display:"flex",marginBottom:52,"& > p":{width:330,color:ie,marginTop:4,marginLeft:16}},radioButtonsRow:{height:60,marginBottom:14},radioButtons:{display:"flex",flexDirection:"row",paddingLeft:4},rowWrapper:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},transparentButton:{"& > *":{margin:"auto 12px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}}},lv={enable:{display:"flex",alignItems:"center",marginBottom:22-tv.spacing(1),"& > span:first-child":{extend:nv,marginRight:116-tv.spacing(1)},"& > span:last-child":{marginLeft:4}}};function iv(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return iv=function(){return e},e}function ov(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return ov=function(){return e},e}var cv={field:{position:"relative",width:280,height:48,padding:[[0,4,4,0]]},notEditing:{display:"flex",flexDirection:"column","& > p:first-child":{height:16,lineHeight:"16px",fontSize:ve,transformOrigin:"left",paddingLeft:0,margin:[[3,0,3,0]]},"& > p:last-child":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",margin:0}}},sv=Object(f.a)(cv),uv=function(e){var t,n=e.editing,a=e.field,l=e.displayValue,i=Object($e.a)(e,["editing","field","displayValue"]),o=sv(),c=(t={},Object(E.a)(t,o.field,!0),Object(E.a)(t,o.notEditing,!n),t);return r.a.createElement("div",{className:w()(c)},!n&&r.a.createElement(r.a.Fragment,null,r.a.createElement(ut,null,a.label),r.a.createElement(rt,null,l(a.value))),n&&r.a.createElement(Rt.b,Object.assign({id:a.name,name:a.name,component:a.component,placeholder:a.placeholder,type:a.type,label:a.label,width:280},i)))},dv=zt()(ov()),mv=zt()(iv()),fv=gn.a(av,rv),pv=Object(f.a)(fv),hv=function(e){var t,n,l,i,c=e.wizard,s=pv(),u=Object(a.useState)(c||!1),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(a.useState)(null),h=Object(o.a)(p,2),b=h[0],g=h[1],v=Object(Pt.b)(mv,{onCompleted:function(){return f(!1)},refetchQueries:function(){return["getData"]},onError:function(e){return g(e)}}),y=Object(o.a)(v,1)[0],E=Object(Pt.c)(dv).data,O=function(e){return y({variables:{config:ai(Gl,e)}})},x=(null===E||void 0===E?void 0:E.config)&&ni(Gl,E.config);if(!x)return null;var j=Yt.d().shape({active:Yt.b(),name:Yt.e(),phone:Yt.e(),email:Yt.e().email("Please enter a valid email address").required(),website:Yt.e(),companyNumber:Yt.e()}),C=[{name:"name",label:"Full name",value:null!==(t=x.name)&&void 0!==t?t:"",component:Ra},{name:"phone",label:"Phone number",value:x.phone,component:Ra},{name:"email",label:"Email",value:null!==(n=x.email)&&void 0!==n?n:"",component:Ra},{name:"website",label:"Website",value:null!==(l=x.website)&&void 0!==l?l:"",component:Ra},{name:"companyNumber",label:"Company number",value:null!==(i=x.companyNumber)&&void 0!==i?i:"",component:Ra}],k=function(e){return ca.a(sa.a("name",e))(C)},S=function(e){return k(e).value},N=function(e){return e},I={initialValues:{active:x.active,name:S("name"),phone:S("phone"),email:S("email"),website:S("website"),companyNumber:S("companyNumber")}};return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.rowWrapper},r.a.createElement(Xe,null,"Contact information")),r.a.createElement("div",{className:s.rowWrapper},r.a.createElement(tt,null,"Info card enabled?"),r.a.createElement("div",{className:s.switch},r.a.createElement(Pa,{checked:x.active,onChange:function(e){return O({active:e.target.checked})}}),r.a.createElement(st,null,x.active?"Yes":"No"))),r.a.createElement("div",{className:s.section},r.a.createElement("div",{className:s.rowWrapper},r.a.createElement(Xe,null,"Info card"),!m&&r.a.createElement(kn,{className:s.transparentButton,onClick:function(){return f(!0)}},r.a.createElement(cc,null))),r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:I.initialValues,validationSchema:j,onSubmit:function(e){return O(j.cast(e))},onReset:function(){f(!1),g(null)}},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),r.a.createElement("div",{className:s.row},r.a.createElement(uv,{field:k("name"),editing:m,displayValue:N,onFocus:function(){return g(null)}}),r.a.createElement(uv,{field:k("phone"),editing:m,displayValue:N,onFocus:function(){return g(null)}})),r.a.createElement("div",{className:s.row},r.a.createElement(uv,{field:k("email"),editing:m,displayValue:N,onFocus:function(){return g(null)}}),r.a.createElement(uv,{field:k("website"),editing:m,displayValue:N,onFocus:function(){return g(null)}})),r.a.createElement("div",{className:s.row},r.a.createElement(uv,{field:k("companyNumber"),editing:m,displayValue:N,onFocus:function(){return g(null)}})),r.a.createElement("div",{className:w()(s.row,s.submit)},m&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Bn,{color:"primary",type:"submit"},"Save"),r.a.createElement(Bn,{color:"secondary",type:"reset"},"Cancel"),b&&r.a.createElement(pt,{className:s.errorMessage},"Failed to save changes")))))),!c&&r.a.createElement("div",{className:w()(s.section,s.infoMessage)},r.a.createElement(Ja,null),r.a.createElement(ct,null,"Sharing your information with your customers through your machines allows them to contact you in case there's a problem with a machine in your network or a transaction.")))},bv=n(269),gv=n.n(bv);function vv(){return(vv=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ev=a.createElement("desc",null,"Created with Sketch."),Ov=a.createElement("g",{id:"icon/table/false",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("g",{id:"Group-4",stroke:"#FF584A",strokeWidth:4},a.createElement("line",{x1:13.5,y1:.5,x2:.995667,y2:13.004333,id:"Line-7"}),a.createElement("line",{x1:13.5,y1:.5,x2:.995667,y2:13.004333,id:"Line-7",transform:"translate(7.000000, 7.000000) scale(-1, 1) translate(-7.000000, -7.000000) "})));function wv(e,t){var n=e.title,r=e.titleId,l=yv(e,["title","titleId"]);return a.createElement("svg",vv({width:"14px",height:"14px",viewBox:"0 0 14 14",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ev,Ov)}var xv=a.forwardRef(wv);n.p;function jv(){return(jv=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var kv=a.createElement("desc",null,"Created with Sketch."),Sv=a.createElement("g",{id:"icon/table/true",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd"},a.createElement("path",{d:"M4.17451294,13.3251347 L0.599425104,9.29667256 C-0.199808368,8.3960844 -0.199808368,6.94040225 0.599425104,6.03981409 C1.39865858,5.13922593 2.69051421,5.13922593 3.48974768,6.03981409 L5.61967423,8.439847 L12.5102523,0.675441122 C13.3094858,-0.225147041 14.6033855,-0.225147041 15.4005749,0.675441122 C16.1998084,1.57372599 16.1998084,3.03171143 15.4005749,3.93229959 L7.06483552,13.3251347 C6.66624082,13.7742771 6.14295752,14 5.61967423,14 C5.09639093,14 4.57310763,13.7742771 4.17451294,13.3251347 Z",id:"Fill-1",fill:"#48F694"}));function Nv(e,t){var n=e.title,r=e.titleId,l=Cv(e,["title","titleId"]);return a.createElement("svg",jv({width:"16px",height:"14px",viewBox:"0 0 16 14",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,kv,Sv)}var Iv=a.forwardRef(Nv),Lv=(n.p,{booleanPropertiesTableWrapper:{display:"flex",flexDirection:"column",width:396},tableRow:{display:"flex",alignItems:"center",justifyContent:"space-between","&:nth-child(even)":{backgroundColor:ee},"&:nth-child(odd)":{backgroundColor:Y},minHeight:32,height:"auto",padding:[[8,16,8,24]],boxShadow:"0 0 0 0 rgba(0, 0, 0, 0)"},leftTableCell:{display:"flex",alignItems:"center",justifyContent:"left",width:200,padding:[0]},rightTableCell:{display:"flex",alignItems:"center",justifyContent:"right",padding:[0]},transparentButton:{"& > *":{margin:"auto 12px"},"& button":{border:"none",backgroundColor:"transparent",cursor:"pointer"}},rowWrapper:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},rightAligned:{marginLeft:"auto"},radioButtons:{display:"flex",flexDirection:"row",margin:[-15]},rightLink:{marginLeft:"20px"},fillColumn:Ki.fillColumn,popoverContent:{width:272,padding:[[10,15]]}}),Bv=Object(f.a)(Lv),Pv=function(e){var t=e.name;return"true"===Object(Rt.e)().values[t]?r.a.createElement(Iv,null):r.a.createElement(xv,null)},Fv=Object(a.memo)((function(e){var t=e.title,n=e.disabled,l=e.data,i=e.elements,c=e.save,s=e.forcedEditing,u=void 0!==s&&s,d=gv.a.fromPairs(i.map((function(e){return[e.name,""]}))),m=gv.a.fromPairs(i.map((function(e){return[e.name,Yt.b().required()]}))),f=Object(a.useState)(u),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Bv(),v=function(){var e=Object(_r.a)(Zr.a.mark((function e(t){return Zr.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:c(t),b(!1);case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),y=[{display:"Yes",code:"true"},{display:"No",code:"false"}];return r.a.createElement("div",{className:g.booleanPropertiesTableWrapper},r.a.createElement(Rt.d,{enableReinitialize:!0,onSubmit:v,initialValues:l||d,schemaValidation:m},r.a.createElement(Rt.c,null,r.a.createElement("div",{className:g.rowWrapper},r.a.createElement(Xe,null,t),h?r.a.createElement("div",{className:g.rightAligned},r.a.createElement(Bn,{type:"submit",color:"primary"},"Save"),r.a.createElement(Bn,{className:g.rightLink,onClick:function(){return b(!1)},color:"secondary"},"Cancel")):r.a.createElement(kn,{className:g.transparentButton,onClick:function(){return b(!0)}},n?r.a.createElement(nc,null):r.a.createElement(cc,null))),r.a.createElement(Ro,null),r.a.createElement(th,{className:g.fillColumn},r.a.createElement(nh,{className:g.fillColumn},i.map((function(e,t){return r.a.createElement(mh,{key:t,size:"sm",className:g.tableRow},r.a.createElement(rh,{className:g.leftTableCell},e.display),r.a.createElement(rh,{className:g.rightTableCell},h&&r.a.createElement(Rt.b,{component:Ta,name:e.name,options:y,className:w()(g.radioButtons,g.rightTableCell)}),!h&&r.a.createElement(Pv,{name:e.name})))})))))))}));function Dv(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Dv=function(){return e},e}function Tv(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return Tv=function(){return e},e}var Wv=Object(f.a)({rowWrapper:{display:"flex",alignItems:"center",position:"relative",flex:"wrap"},switchWrapper:{display:"flex",marginLeft:120}}),Rv=zt()(Tv()),Av=zt()(Dv()),zv=Object(a.memo)((function(e){var t=e.wizard,n=Wv(),a=Object(Pt.c)(Rv).data,l=Object(Pt.b)(Av,{refetchQueries:function(){return["getData"]}}),i=Object(o.a)(l,1)[0],c=(null===a||void 0===a?void 0:a.config)&&ni(Jl,a.config);return c?r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:n.rowWrapper},r.a.createElement(Xe,null,"Receipt options")),r.a.createElement("div",{className:n.rowWrapper},r.a.createElement(tt,null,"Enable receipt printing?"),r.a.createElement("div",{className:n.switchWrapper},r.a.createElement(Pa,{checked:c.active,onChange:function(e){return i({variables:{config:ai(Jl,gn.a(c,{active:e.target.checked}))}})}})),r.a.createElement(st,null,c.active?"Yes":"No")),r.a.createElement(Fv,{editing:t,title:"Visible on the receipt (options)",data:c,elements:[{name:"operatorWebsite",display:"Operator website"},{name:"operatorEmail",display:"Operator email"},{name:"operatorPhone",display:"Operator phone"},{name:"companyNumber",display:"Company number"},{name:"machineLocation",display:"Machine location"},{name:"customerNameOrPhoneNumber",display:"Customer name or phone number (if known)"},{name:"exchangeRate",display:"Exchange rate"},{name:"addressQRCode",display:"Address QR code"}],save:function(e){return i({variables:{config:ai(Jl,e)}})}})):null}));function Mv(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n"]);return Mv=function(){return e},e}function qv(){var e=Object(Bt.a)(["\n query getData {\n config\n }\n"]);return qv=function(){return e},e}var $v=Object(f.a)({field:{position:"relative",width:280,padding:[[0,4,4,0]]},notEditing:{display:"flex",flexDirection:"column"},notEditingSingleLine:{"& > p:first-child":{height:16,lineHeight:"16px",transform:"scale(0.75)",transformOrigin:"left",paddingLeft:0,margin:[[1,0,6,0]]},"& > p:last-child":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis",height:25,margin:0}},notEditingMultiline:{"& > p:first-child":{height:16,lineHeight:"16px",transform:"scale(0.75)",transformOrigin:"left",paddingLeft:0,margin:[[1,0,5,0]]},"& > p:last-child":{width:502,height:121,overflowY:"auto",lineHeight:"19px",wordWrap:"anywhere",margin:0}}}),Hv=function(e){var t,n=e.editing,a=e.name,l=e.width,i=e.placeholder,o=e.label,c=e.value,s=e.multiline,u=void 0!==s&&s,d=e.rows,m=e.onFocus,f=Object($e.a)(e,["editing","name","width","placeholder","label","value","multiline","rows","onFocus"]),p=$v(),h=(t={},Object(E.a)(t,p.field,!0),Object(E.a)(t,p.notEditing,!n),Object(E.a)(t,p.notEditingSingleLine,!n&&!u),Object(E.a)(t,p.notEditingMultiline,!n&&u),t);return r.a.createElement("div",{className:w()(h)},!n&&r.a.createElement(r.a.Fragment,null,r.a.createElement(ut,null,o),r.a.createElement(rt,{className:p.multiLineText},c)),n&&r.a.createElement(Rt.b,Object.assign({id:a,name:a,component:Ra,width:l,placeholder:i,type:"text",label:o,multiline:u,rows:d,rowsMax:"6",onFocus:m},f)))},Vv=zt()(qv()),Yv=zt()(Mv()),Gv=gn.a(av,lv),Zv=Object(f.a)(Gv),_v=function(){var e,t,n,l,i,c=Object(a.useState)(null),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(!1),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(Pt.b)(Yv,{onCompleted:function(){d(null),h(!1)},refetchQueries:function(){return["getData"]},onError:function(e){return d(e)}}),g=Object(o.a)(b,1)[0],v=Zv(),y=Object(Pt.c)(Vv).data,E=(null===y||void 0===y?void 0:y.config)&&ni(Ql,y.config),O=null!==E&&void 0!==E?E:{},x=null!==(e=null===E||void 0===E?void 0:E.active)&&void 0!==e&&e,j=function(e){return g({variables:{config:ai(Ql,e)}})},C=[{name:"title",label:"Screen title",value:null!==(t=O.title)&&void 0!==t?t:"",width:282},{name:"text",label:"Text content",value:null!==(n=O.text)&&void 0!==n?n:"",width:502,multiline:!0,rows:6},{name:"acceptButtonText",label:"Accept button text",value:null!==(l=O.acceptButtonText)&&void 0!==l?l:"",placeholder:"I accept",width:282},{name:"cancelButtonText",label:"Cancel button text",value:null!==(i=O.cancelButtonText)&&void 0!==i?i:"",placeholder:"Cancel",width:282}],k=function(e){return function(e){return ca.a(sa.a("name",e))(C)}(e).value},S={title:k("title"),text:k("text"),acceptButtonText:k("acceptButtonText"),cancelButtonText:k("cancelButtonText")},N=Yt.d().shape({title:Yt.e().required().max(50,"Too long"),text:Yt.e().required(),acceptButtonText:Yt.e().required().max(50,"Too long"),cancelButtonText:Yt.e().required().max(50,"Too long")});return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:v.rowWrapper},r.a.createElement(Xe,null,"Terms & Conditions")),r.a.createElement("div",{className:v.section},r.a.createElement("div",{className:v.enable},r.a.createElement("span",null,"Show on screen"),r.a.createElement(Pa,{checked:x,onChange:function(e){return j({active:e.target.checked})}}),r.a.createElement(st,null,x?"Yes":"No")),r.a.createElement("div",{className:v.header},r.a.createElement(at,null,"Info card"),!p&&r.a.createElement(kn,{className:v.transparentButton,onClick:function(){return h(!0)}},r.a.createElement(cc,null))),r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:S,validationSchema:N,onSubmit:function(e){return j(e)},onReset:function(){h(!1),d(null)}},r.a.createElement(Rt.c,null,r.a.createElement(Ro,null),C.map((function(e,t){return r.a.createElement("div",{className:v.row,key:t},r.a.createElement(Hv,{editing:p,name:e.name,width:e.width,placeholder:e.placeholder,label:e.label,value:e.value,multiline:e.multiline,rows:e.rows,onFocus:function(){return d(null)}}))})),r.a.createElement("div",{className:w()(v.row,v.submit)},p&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Bn,{color:"primary",type:"submit"},"Save"),r.a.createElement(Bn,{color:"secondary",type:"reset"},"Cancel"),u&&r.a.createElement(pt,{className:v.errorMessage},"Failed to save changes")))))))},Uv={running:X,notRunning:"#ffeceb"},Jv={running:"#ecfbef",notRunning:se},Kv={uptimeContainer:{display:"inline-block",minWidth:104,margin:[[0,20]]},name:{extend:Be.label1,paddingLeft:4,color:ie}},Qv=Object(f.a)(Kv),Xv=Object(f.a)({root:{borderRadius:4,marginTop:4,marginRight:2,marginBottom:4,marginLeft:2,height:24,backgroundColor:function(e){var t=e.type;return Jv[t]}},label:{fontSize:ye,fontWeight:500,fontFamily:xe,padding:[[4,8]],color:function(e){var t=e.type;return Uv[t]}}}),ey=function(e){var t,n=e.process,a=(Object($e.a)(e,["process"]),Qv());return r.a.createElement("div",{className:a.uptimeContainer},r.a.createElement("div",{className:a.name},li.a(n.name)),r.a.createElement(Nl.a,{label:"RUNNING"===n.state?"Running for ".concat((t=n.uptime,t<60?"".concat(t,"s"):t<3600?"".concat(Math.floor(t/60),"m"):t<86400?"".concat(Math.floor(t/60/60),"h"):"".concat(Math.floor(t/60/60/24),"d"))):El(n.state),classes:Xv({type:"RUNNING"===n.state?"running":"notRunning"})}))};function ty(){var e=Object(Bt.a)(["\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverVersion\n uptime {\n name\n state\n uptime\n }\n serverLogs(limit: $limit, from: $from, until: $until) {\n logLevel\n id\n timestamp\n message\n }\n }\n"]);return ty=function(){return e},e}function ny(){var e=Object(Bt.a)(["\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverLogsCsv(limit: $limit, from: $from, until: $until)\n }\n"]);return ny=function(){return e},e}var ay={serverTableWrapper:{extend:Ki.tableWrapper,maxWidth:"100%",marginLeft:0},serverVersion:{extend:Be.p,color:ie,margin:"auto 0 auto 0"},headerLine2:{display:"flex",justifyContent:"space-between",marginBottom:24},uptimeContainer:{margin:"auto 0 auto 0"}},ry=gn.a(Ki,ay),ly=Object(f.a)(ry),iy="Show all",oy=zt()(ny()),cy=zt()(ty()),sy=function(){var e,t=ly(),n=Object(a.useRef)(),l=Object(a.useState)(null),i=Object(o.a)(l,2),c=i[0],s=i[1],u=Object(a.useState)(iy),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(Pt.c)(cy,{onCompleted:function(){return s("")},variables:{limit:500}}).data,h=null===p||void 0===p?void 0:p.serverVersion,b=null!==(e=null===p||void 0===p?void 0:p.uptime)&&void 0!==e?e:[],g=$t.a(Po.a(iy),Ns.a,Rr.a(["error","info","debug"]),da.a(Jr.a(["logLevel"])),Jr.a(["serverLogs"]));return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:t.titleWrapper},r.a.createElement("div",{className:t.titleAndButtonsContainer},r.a.createElement(bt,null,"Server"),p&&r.a.createElement("div",{className:t.buttonsWrapper},r.a.createElement(Xp,{title:"Download logs",name:"server-logs",query:oy,logs:p.serverLogs,getLogs:function(e){return Jr.a(["serverLogsCsv"])(e)}}),r.a.createElement(rt,null,c))),r.a.createElement("div",{className:t.serverVersion},h&&r.a.createElement("span",null,"Server version: v",h))),r.a.createElement("div",{className:t.headerLine2},p&&r.a.createElement(Sl,{onSelectedItemChange:function(e){n.current&&n.current.scrollTo(0,0),f(e)},label:"Level",items:g(p),default:iy,selectedItem:m}),r.a.createElement("div",{className:t.uptimeContainer},b&&b.map((function(e,t){return r.a.createElement(ey,{key:t,process:e})})))),r.a.createElement("div",{className:t.wrapper},r.a.createElement("div",{ref:n,className:t.serverTableWrapper},r.a.createElement(th,{className:t.table},r.a.createElement(lh,null,r.a.createElement(mh,{header:!0},r.a.createElement(ch,{className:t.dateColumn},"Date"),r.a.createElement(ch,{className:t.levelColumn},"Level"),r.a.createElement(ch,{className:t.fillColumn}))),r.a.createElement(nh,null,p&&p.serverLogs.filter((function(e){return m===iy||e.logLevel===m})).map((function(e,t){return r.a.createElement(mh,{key:t,size:"sm"},r.a.createElement(rh,null,(n=e.timestamp,Ud()(n).format("YYYY-MM-DD HH:mm"))),r.a.createElement(rh,null,e.logLevel),r.a.createElement(rh,null,e.message));var n})))))))};function uy(){return(uy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var my=a.createElement("desc",null,"Created with Sketch."),fy=a.createElement("g",{id:"icon/action/edit/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18",id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:2}),a.createElement("polygon",{id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:2,points:"6 12 17 1 21 5 10 16 6 16"}));function py(e,t){var n=e.title,r=e.titleId,l=dy(e,["title","titleId"]);return a.createElement("svg",uy({width:"22px",height:"22px",viewBox:"0 0 22 22",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,my,fy)}var hy=a.forwardRef(py),by=(n.p,{tr:function(e){return{margin:0,height:e.height}},table:function(e){return{width:e.width}},head:{display:"flex",flex:1,justifyContent:"space-between",alignItems:"center",paddingRight:12},button:{marginBottom:1},itemWrapper:{display:"flex",flexDirection:"column",marginTop:16,minHeight:35},label:{extend:Be.label1,color:ie,marginBottom:4},item:{extend:Be.p,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}}),gy=Object(f.a)(by),vy=function(e){var t=e.width,n=void 0===t?378:t,a=e.height,l=void 0===a?128:a,i=e.title,o=e.items,c=e.onEdit,s=e.className,u=gy({width:n,height:l});return r.a.createElement(r.a.Fragment,null,r.a.createElement(Ei,{className:w()(s,u.table)},r.a.createElement(Oi,null,r.a.createElement(Ci,{className:u.head},i,r.a.createElement(kn,{onClick:c,className:u.button},r.a.createElement(hy,null)))),r.a.createElement(xi,null,r.a.createElement(Si,{className:u.tr},r.a.createElement(ji,{width:n},o&&r.a.createElement(r.a.Fragment,null,o[0]&&r.a.createElement("div",{className:u.itemWrapper},r.a.createElement("div",{className:u.label},o[0].label),r.a.createElement("div",{className:u.item},o[0].value)),o[1]&&r.a.createElement("div",{className:u.itemWrapper},r.a.createElement("div",{className:u.label},o[1].label),r.a.createElement("div",{className:u.item},o[1].value))))))))};function yy(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return yy=function(){return e},e}function Ey(){var e=Object(Bt.a)(["\n query getData {\n accounts\n }\n"]);return Ey=function(){return e},e}var Oy=zt()(Ey()),wy=zt()(yy()),xy=Object(f.a)({wrapper:{marginLeft:1}}),jy=function(){var e,t=Object(a.useState)(null),n=Object(o.a)(t,2),l=n[0],i=n[1],c=Object(Pt.c)(Oy).data,s=Object(Pt.b)(wy,{onCompleted:function(){return i(null)},refetchQueries:["getData"]}),u=Object(o.a)(s,1)[0],m=xy(),f=null!==(e=null===c||void 0===c?void 0:c.accounts)&&void 0!==e?e:{},p=function(e,t){var n=Wr.a(ua.a("face"))(t),a=f[e]||{};return da.a((function(e){var t,n=e.display,r=e.code;return{label:n,value:e.long?(t=a[r],!t||t.length<=20?t:"".concat(t.slice(0,8),"(...)").concat(t.slice(t.length-8,t.length))):a[r]}}))(n)};return r.a.createElement("div",{className:m.wrapper},r.a.createElement(vt,{title:"3rd Party Services"}),r.a.createElement(d.a,{container:!0,spacing:4},Vo.a(Mm).map((function(e){return r.a.createElement(d.a,{item:!0,key:e.code},r.a.createElement(vy,{editMessage:"Configure "+e.title,title:e.title,onEdit:function(){return i(e)},items:p(e.code,e.elements)}))}))),l&&r.a.createElement(ci,{title:"Edit ".concat(l.name),width:478,handleClose:function(){return i(null)},open:!0},r.a.createElement(If,{save:function(e){return u({variables:{accounts:Object(E.a)({},l.code,e)}})},elements:l.elements,validationSchema:l.validationSchema,value:f[l.code]})))},Cy=n(536),ky=n(537),Sy=n(566);function Ny(){return(Ny=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Ly=a.createElement("desc",null,"Created with Sketch."),By=a.createElement("g",{id:"icon/ID/card/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("polygon",{id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:1.6,points:"0 16 22 16 22 0 0 0"}),a.createElement("line",{x1:11.7857143,y1:4,x2:18.8571429,y2:4,id:"Stroke-3",stroke:"#FFFFFF",strokeWidth:1.6}),a.createElement("line",{x1:11.7857143,y1:7.2,x2:18.8571429,y2:7.2,id:"Stroke-4",stroke:"#FFFFFF",strokeWidth:1.6}),a.createElement("polygon",{id:"Stroke-5",stroke:"#FFFFFF",strokeWidth:1.6,points:"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4"}));function Py(e,t){var n=e.title,r=e.titleId,l=Iy(e,["title","titleId"]);return a.createElement("svg",Ny({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Ly,By)}var Fy=a.forwardRef(Py);n.p;function Dy(){return(Dy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Wy=a.createElement("desc",null,"Created with Sketch."),Ry=a.createElement("g",{id:"icon/ID/phone/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z",id:"Stroke-1-Copy",stroke:"#FFFFFF",strokeWidth:1.6}));function Ay(e,t){var n=e.title,r=e.titleId,l=Ty(e,["title","titleId"]);return a.createElement("svg",Dy({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,Wy,Ry)}var zy=a.forwardRef(Ay);n.p;function My(){return(My=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var $y=a.createElement("desc",null,"Created with Sketch."),Hy=a.createElement("g",{id:"icon/ID/phone/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z",id:"Stroke-1-Copy",stroke:"#1B2559",strokeWidth:1.6}));function Vy(e,t){var n=e.title,r=e.titleId,l=qy(e,["title","titleId"]);return a.createElement("svg",My({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,$y,Hy)}var Yy=a.forwardRef(Vy);n.p;function Gy(){return(Gy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var _y=a.createElement("desc",null,"Created with Sketch."),Uy=a.createElement("g",{id:"icon/ID/photo/white",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z",id:"Stroke-1",stroke:"#FFFFFF",strokeWidth:1.6}));function Jy(e,t){var n=e.title,r=e.titleId,l=Zy(e,["title","titleId"]);return a.createElement("svg",Gy({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,_y,Uy)}var Ky=a.forwardRef(Jy);n.p;function Qy(){return(Qy=Object.assign||function(e){for(var t=1;t=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var eE=a.createElement("desc",null,"Created with Sketch."),tE=a.createElement("g",{id:"icon/ID/photo/zodiac",stroke:"none",strokeWidth:1,fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},a.createElement("path",{d:"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z",id:"Stroke-1",stroke:"#1B2559",strokeWidth:1.6}));function nE(e,t){var n=e.title,r=e.titleId,l=Xy(e,["title","titleId"]);return a.createElement("svg",Qy({width:"22px",height:"16px",viewBox:"0 0 22 16",ref:t,"aria-labelledby":r},l),n?a.createElement("title",{id:r},n):null,eE,tE)}var aE=a.forwardRef(nE),rE=(n.p,{wrapper:{display:"flex",flexDirection:"column",marginTop:24},row:{display:"flex",flexDirection:"row",marginBottom:36},secondRow:{display:"flex",flexDirection:"row",justifyContent:"space-between",marginBottom:36},lastRow:{display:"flex",flexDirection:"row",marginBottom:32},label:{color:ie,margin:[[0,0,6,0]]},txIcon:{marginRight:10},popover:{height:164,width:215},idButton:{marginRight:4},idCardDataCard:{extend:Be.p,display:"flex",padding:[[11,8]],"& > div":{display:"flex",flexDirection:"column","& > div":{width:144,height:37,marginBottom:15,"&:last-child":{marginBottom:0}}}},bold:{fontWeight:700},direction:{width:233},availableIds:{width:232},exchangeRate:{width:250},commission:{width:217},address:{width:280},transactionId:{width:280},sessionId:{width:215}}),lE=function(e){return"cashOut"===e.txClass?function(e){return e.hasError?"Error":e.dispense?"Success":e.expired?"Expired":"Pending"}(e):function(e){return e.operatorCompleted?"Cancelled":e.hasError?"Error":e.sendConfirmed?"Sent":e.expired?"Expired":"Pending"}(e)},iE=Object(f.a)(rE),oE=function(e){var t=e.children,n=iE();return r.a.createElement(ct,{className:n.label},t)},cE=function(e){var t=e.it,n=iE(),a=Number.parseFloat(t.fiat),l=tm(new Xd.a(t.cryptoAtoms),t.cryptoCode),i=Number.parseFloat(t.commissionPercentage,2),o=Number(a*i).toFixed(2),c=Number(a/l).toFixed(3),s="1 ".concat(t.cryptoCode," = ").concat(c," ").concat(t.fiatCode),u=t.customerIdCardData&&{name:"".concat(El(t.customerIdCardData.firstName)," ").concat(El(t.customerIdCardData.lastName)),age:Ud()().diff(Ud()(t.customerIdCardData.dateOfBirth),"years"),country:t.customerIdCardData.country,idCardNumber:t.customerIdCardData.documentNumber,idCardExpirationDate:Ud()(t.customerIdCardData.expirationDate).format("DD-MM-YYYY")};return r.a.createElement("div",{className:n.wrapper},r.a.createElement("div",{className:n.row},r.a.createElement("div",{className:n.direction},r.a.createElement(oE,null,"Direction"),r.a.createElement("div",null,r.a.createElement("span",{className:n.txIcon},"cashOut"===t.txClass?r.a.createElement(Bc,null):r.a.createElement(Ws,null)),r.a.createElement("span",null,"cashOut"===t.txClass?"Cash-out":"Cash-in"))),r.a.createElement("div",{className:n.availableIds},r.a.createElement(oE,null,"Available IDs"),r.a.createElement(qe.a,{display:"flex",flexDirection:"row"},t.customerPhone&&r.a.createElement(xn,{className:n.idButton,name:"phone",Icon:Yy,InverseIcon:zy},t.customerPhone),t.customerIdCardPhotoPath&&!t.customerIdCardData&&r.a.createElement(xn,{popoverClassname:n.popover,className:n.idButton,name:"card",Icon:Nd,InverseIcon:Fy},r.a.createElement("img",{className:n.idCardPhoto,src:"".concat(Ct,"/id-card-photo/").concat(t.customerIdCardPhotoPath),alt:""})),t.customerIdCardData&&r.a.createElement(xn,{className:n.idButton,name:"card",Icon:Nd,InverseIcon:Fy},r.a.createElement("div",{className:n.idCardDataCard},r.a.createElement("div",null,r.a.createElement("div",null,r.a.createElement(oE,null,"Name"),r.a.createElement("div",null,u.name)),r.a.createElement("div",null,r.a.createElement(oE,null,"Age"),r.a.createElement("div",null,u.age)),r.a.createElement("div",null,r.a.createElement(oE,null,"Country"),r.a.createElement("div",null,u.country))),r.a.createElement("div",null,r.a.createElement("div",null,r.a.createElement(oE,null,"ID number"),r.a.createElement("div",null,u.idCardNumber)),r.a.createElement("div",null,r.a.createElement(oE,null,"Expiration date"),r.a.createElement("div",null,u.idCardExpirationDate))))),t.customerFrontCameraPath&&r.a.createElement(xn,{name:"cam",Icon:aE,InverseIcon:Ky},r.a.createElement("img",{src:"".concat(Ct,"/front-camera-photo/").concat(t.customerFrontCameraPath),alt:""})))),r.a.createElement("div",{className:n.exchangeRate},r.a.createElement(oE,null,"Exchange rate"),r.a.createElement("div",null,l>0?s:"-")),r.a.createElement("div",{className:n.commission},r.a.createElement(oE,null,"Commission"),r.a.createElement("div",null,"".concat(o," ").concat(t.fiatCode," (").concat(100*i," %)"))),r.a.createElement("div",null,r.a.createElement(oE,null,"Fixed fee"),r.a.createElement("div",null,"cashIn"===t.txClass?"".concat(Number.parseFloat(t.cashInFee)," ").concat(t.fiatCode):"N/A"))),r.a.createElement("div",{className:n.secondRow},r.a.createElement("div",{className:n.address},r.a.createElement(oE,null,"Address"),r.a.createElement("div",null,r.a.createElement(ro,null,function(){return nm(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").replace(/(.{5})/g,"$1 ")}(t.cryptoCode,t.toAddress)))),r.a.createElement("div",{className:n.transactionId},r.a.createElement(oE,null,"Transaction ID"),r.a.createElement("div",null,"cashOut"===t.txClass?"N/A":r.a.createElement(ro,null,t.txHash))),r.a.createElement("div",{className:n.sessionId},r.a.createElement(oE,null,"Session ID"),r.a.createElement(ro,null,t.id))),r.a.createElement("div",{className:n.lastRow},r.a.createElement("div",null,r.a.createElement(oE,null,"Transaction status"),r.a.createElement("span",{className:n.bold},lE(t)))))},sE=Object(a.memo)(cE,(function(e,t){return e.id===t.id}));function uE(){var e=Object(Bt.a)(["\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactions(limit: $limit, from: $from, until: $until) {\n id\n txClass\n txHash\n toAddress\n commissionPercentage\n expired\n machineName\n operatorCompleted\n sendConfirmed\n dispense\n hasError: error\n deviceId\n fiat\n cashInFee\n fiatCode\n cryptoAtoms\n cryptoCode\n toAddress\n created\n customerName\n customerIdCardData\n customerIdCardPhotoPath\n customerFrontCameraPath\n customerPhone\n }\n }\n"]);return uE=function(){return e},e}function dE(){var e=Object(Bt.a)(["\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactionsCsv(limit: $limit, from: $from, until: $until)\n }\n"]);return dE=function(){return e},e}var mE=Object(f.a)(no),fE=zt()(dE()),pE=zt()(uE()),hE=function(){var e=mE(),t=Object(Pt.c)(pE,{variables:{limit:1e3}}),n=t.data,a=t.loading,l=[{header:"",width:62,size:"sm",view:function(e){return"cashOut"===e.txClass?r.a.createElement(Bc,null):r.a.createElement(Ws,null)}},{header:"Machine",name:"machineName",width:180,size:"sm",view:Jr.a(["machineName"])},{header:"Customer",width:162,size:"sm",view:function(e){return e.customerName?e.customerName:e.customerIdCardData?function(e){var t=e.firstName,n=e.lastName;return"".concat(Cy.a(ky.a,Sy.a)(t),". ").concat(n)}(e.customerIdCardData):e.customerPhone}},{header:"Cash",width:144,textAlign:"right",size:"sm",view:function(e){return"".concat(Number.parseFloat(e.fiat)," ").concat(e.fiatCode)}},{header:"Crypto",width:144,textAlign:"right",size:"sm",view:function(e){return"".concat(tm(new Xd.a(e.cryptoAtoms),e.cryptoCode).toFormat(5)," ").concat(e.cryptoCode)}},{header:"Address",view:function(e){return nm(e.cryptoCode,e.toAddress)},className:e.overflowTd,size:"sm",width:140},{header:"Date (UTC)",view:function(e){return Ud.a.utc(e.created).format("YYYY-MM-DD HH:mm:ss")},textAlign:"right",size:"sm",width:200},{header:"Status",view:function(e){return lE(e)},size:"sm",width:80}];return r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:e.titleWrapper},r.a.createElement("div",{className:e.titleAndButtonsContainer},r.a.createElement(bt,null,"Transactions"),n&&r.a.createElement("div",{className:e.buttonsWrapper},r.a.createElement(Xp,{title:"Download logs",name:"transactions",query:fE,getLogs:function(e){return Jr.a(["transactionsCsv"])(e)}}))),r.a.createElement("div",{className:e.headerLabels},r.a.createElement("div",null,r.a.createElement(Bc,null),r.a.createElement("span",null,"Cash-out")),r.a.createElement("div",null,r.a.createElement(Ws,null),r.a.createElement("span",null,"Cash-in")))),r.a.createElement(Hi,{loading:a,emptyText:"No transactions so far",elements:l,data:Jr.a(["transactions"])(n),Details:sE,expandable:!0}))},bE=n(538),gE=Object(f.a)({radioLabel:{height:40,padding:[[0,10]]},radio:{padding:4,margin:4},radioGroup:{flexDirection:"row"},error:{color:se},specialLabel:{height:40,padding:0},specialGrid:{display:"grid",gridTemplateColumns:[[182,162,141]]},directionIcon:{marginRight:2},directionName:{marginLeft:6},thresholdWrapper:{display:"flex"},thresholdField:{margin:10,width:208},space:{marginLeft:6,marginRight:6},lastSpace:{marginLeft:6},suspensionDays:{width:34},input:{marginTop:-2},limitedInput:{width:50},daysInput:{width:60}}),vE=Yt.e().required(),yE=Yt.d().shape({threshold:Yt.c(),thresholdDays:Yt.c().test({test:function(e){var t=this.parent.triggerType;return!pa.a(e)||!ks.a(t,["txVolume","txVelocity"])||this.createError()}})}),EE=Yt.d().shape({requirement:Yt.e().required(),suspensionDays:Yt.c().when("requirement",{is:"suspend",then:Yt.c().required(),otherwise:Yt.c().nullable().transform((function(){return null}))})}),OE=Yt.d().shape({triggerType:vE,requirement:EE,threshold:yE}),wE=Yt.d().shape({triggerType:vE,threshold:yE}),xE=[{display:"Transaction amount",code:"txAmount"},{display:"Transaction volume",code:"txVolume"},{display:"Transaction velocity",code:"txVelocity"},{display:"Consecutive days",code:"consecutiveDays"}],jE={schema:wE,options:xE,Component:function(){var e=gE(),t=Object(Rt.e)(),n=t.errors,a=t.touched,l=t.values,i=Object(E.a)({},e.error,n.triggerType&&a.triggerType),o=qr.a(null===l||void 0===l?void 0:l.triggerType),c=o(["txAmount","txVolume","txVelocity"]),s=o(["txVolume","txVelocity","consecutiveDays"]);return r.a.createElement(r.a.Fragment,null,r.a.createElement(qe.a,{display:"flex",alignItems:"center"},r.a.createElement(Xe,{className:w()(i)},"Choose trigger type")),r.a.createElement(Rt.b,{component:Ta,name:"triggerType",options:xE,labelClassName:e.radioLabel,radioClassName:e.radio,className:e.radioGroup}),r.a.createElement("div",{className:e.thresholdWrapper},c&&r.a.createElement(Rt.b,{className:e.thresholdField,component:Ra,label:"Threshold",size:"lg",name:"threshold.threshold"}),s&&r.a.createElement(Rt.b,{className:e.thresholdField,component:Ra,label:"Threshold Days",size:"lg",name:"threshold.thresholdDays"})))},initialValues:{triggerType:"",threshold:""}},CE=Yt.d().shape({requirement:EE}),kE=[{display:"SMS verification",code:"sms"},{display:"ID card image",code:"idCardPhoto"},{display:"ID data",code:"idCardData"},{display:"Customer camera",code:"facephoto"},{display:"Sanctions",code:"sanctions"},{display:"US SSN",code:"usSsn"},{display:"Suspend",code:"suspend"},{display:"Block",code:"block"}],SE={schema:CE,options:kE,Component:function(){var e,t=gE(),n=Object(Rt.e)(),a=n.errors,l=n.values,i=Object(E.a)({},t.error,a.requirement),o="suspend"===(null===l||void 0===l||null===(e=l.requirement)||void 0===e?void 0:e.requirement);return r.a.createElement(r.a.Fragment,null,r.a.createElement(qe.a,{display:"flex",alignItems:"center"},r.a.createElement(Xe,{className:w()(i)},"Choose a requirement")),r.a.createElement(Rt.b,{component:Ta,name:"requirement.requirement",options:kE,labelClassName:t.specialLabel,radioClassName:t.radio,className:w()(t.radioGroup,t.specialGrid)}),o&&r.a.createElement(Rt.b,{className:t.thresholdField,component:Ra,label:"Days",size:"lg",name:"requirement.suspensionDays"}))},initialValues:{requirement:""}},NE=function(e,t,n){return function(a){return e?$t.a(ua.a(t),ca.a(sa.a(null!==n&&void 0!==n?n:"code",a)))(e):""}},IE=function(){var e,t=Object(Rt.e)().values,n=gE(),a=null===t||void 0===t||null===(e=t.requirement)||void 0===e?void 0:e.requirement,l="suspend"===a,i=NE(kE,"display")(a);return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline"},"".concat(i," ").concat(l?"for":""),l&&r.a.createElement(Rt.b,{bold:!0,className:n.suspensionDays,name:"requirement.suspensionDays",component:Ra,textAlign:"center"}),l&&"days")},LE=function(e){var t=e.requirement,n=e.suspensionDays,a=gE(),l=NE(kE,"display")(t),i="suspend"===t;return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline"},"".concat(l," ").concat(i?"for":""),i&&r.a.createElement(at,{className:a.space,noMargin:!0},n),i&&"days")},BE=function(e){var t,n,a,l=e.config,i=e.currency,o=e.isEdit,c=gE(),s=(t={},Object(E.a)(t,c.input,!0),Object(E.a)(t,c.limitedInput,"txVelocity"===(null===l||void 0===l?void 0:l.triggerType)),Object(E.a)(t,c.daysInput,"consecutiveDays"===(null===l||void 0===l?void 0:l.triggerType)),t),u=null===l||void 0===l||null===(n=l.threshold)||void 0===n?void 0:n.threshold,d=null===l||void 0===l||null===(a=l.threshold)||void 0===a?void 0:a.thresholdDays,m=o?r.a.createElement(Rt.b,{bold:!0,className:w()(s),name:"threshold.threshold",component:Ra,textAlign:"right"}):r.a.createElement(at,{noMargin:!0},u),f=o?r.a.createElement(Rt.b,{bold:!0,className:w()(s),name:"threshold.thresholdDays",component:Ra,textAlign:"right"}):r.a.createElement(at,{noMargin:!0},d);switch(null===l||void 0===l?void 0:l.triggerType){case"txAmount":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},m,r.a.createElement(st,{noMargin:!0,className:c.lastSpace},i));case"txVolume":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},m,r.a.createElement(st,{noMargin:!0,className:c.lastSpace},i),r.a.createElement(ct,{noMargin:!0,className:c.space},"in"),f,r.a.createElement(ct,{noMargin:!0,className:c.lastSpace},"days"));case"txVelocity":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},m,r.a.createElement(ct,{className:c.space,noMargin:!0},"transactions in"),f,r.a.createElement(ct,{className:c.lastSpace,noMargin:!0},"days"));case"consecutiveDays":return r.a.createElement(qe.a,{display:"flex",alignItems:"baseline",justifyContent:"right"},f,r.a.createElement(ct,{className:c.lastSpace,noMargin:!0},"days"));default:return""}},PE=Object(a.memo)((function(e){var t=e.currency,n=Object(Rt.e)().values;return r.a.createElement(BE,{isEdit:!0,config:n,currency:t})})),FE=function(e){var t=e.config,n=e.currency;return r.a.createElement(BE,{config:t,currency:n})},DE=function(e,t){return[{name:"triggerType",size:"sm",width:230,input:function(e){var t=e.field.value;return r.a.createElement(r.a.Fragment,null,NE(xE,"display")(t))},view:NE(xE,"display"),inputProps:{options:xE,valueProp:"code",getLabel:Jr.a(["display"]),optionsLimit:null}},{name:"requirement",size:"sm",width:230,bypassField:!0,input:IE,view:function(e){return r.a.createElement(LE,e)}},{name:"threshold",size:"sm",width:284,textAlign:"right",input:function(){return r.a.createElement(PE,{currency:e})},view:function(t,n){return r.a.createElement(FE,{config:n,currency:e})}}]},TE=da.a(ua.a("code"))(xE),WE=[bE.a((function(e,t){return TE.indexOf(e.triggerType) p":{width:330,marginTop:4,marginLeft:16}},actionButton:{marginBottom:32},actionButtonLink:{textDecoration:"none",color:J},error:{color:se},button:{marginTop:40},formButton:{margin:[[24,0,0]]}};function wO(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return wO=function(){return e},e}function xO(){var e=Object(Bt.a)(["\n {\n config\n accounts\n }\n"]);return xO=function(){return e},e}var jO=zt()(xO()),CO=zt()(wO()),kO=Object(f.a)(Object(c.a)(Object(c.a)({},OO),{},{content:{width:820},radioLabel:Object(c.a)(Object(c.a)({},OO.radioLabel),{},{width:280}),wrapper:{width:1200,height:100,margin:[[0,"auto"]]},title:{marginLeft:8,marginBottom:5},info:{marginTop:20,marginBottom:20}})),SO=[{code:"enable",display:"Yes, I will"},{code:"disable",display:"No, not for now"}];var NO=function(e){var t,n,l=e.doContinue,i=kO(),c=Object(a.useState)(null),s=Object(o.a)(c,2),u=s[0],d=s[1],m=Object(a.useState)(!1),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(Pt.c)(jO),g=b.data,v=b.refetch,y=Object(Pt.b)(CO,{onCompleted:l}),O=Object(o.a)(y,1)[0],x=null!==(t=null===g||void 0===g?void 0:g.accounts)&&void 0!==t?t:[],j=(n={},Object(E.a)(n,i.title,!0),Object(E.a)(n,i.error,p),n);return r.a.createElement("div",{className:i.wrapper},r.a.createElement("div",{className:i.content},r.a.createElement(Je,null,"Twilio (SMS service)"),r.a.createElement(qe.a,{display:"flex",alignItems:"end"},r.a.createElement(Xe,{noMargin:!0,className:w()(j)},"Will you setup a two way machine or compliance?"),r.a.createElement(ll,{width:304},r.a.createElement(tt,null,"Two-way machines allow your customers not only to buy (cash-in) but also sell cryptocurrencies (cash-out)."),r.a.createElement(tt,null,"You\u2019ll need an SMS service for cash-out transactions and for any compliance triggers"))),r.a.createElement(Na,{labelClassName:i.radioLabel,className:i.radioGroup,options:SO,value:u,onChange:function(e){d(e.target.value),h(!1)}}),r.a.createElement(EO,{className:i.info},"To set up Twilio please read the instructions from our support portal."),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/115001203951-Twilio-for-SMS",label:"Twilio for SMS"}),"enable"===u&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{noMargin:!0},"Enter credentials"),r.a.createElement(If,{xs:6,save:function(e){return O({variables:{accounts:{twilio:e}}}).then((function(){return v()}))},value:x.twilio,elements:zm.elements,validationSchema:zm.validationSchema,buttonLabel:"Continue",buttonClass:i.formButton})),"enable"!==u&&r.a.createElement(on,{size:"lg",onClick:function(){if(!u)return h(!0);l()},className:i.button},"Continue")))},IO=n(539);function LO(){var e=Object(Bt.a)(["\n mutation Save($config: JSONObject, $accounts: JSONObject) {\n saveConfig(config: $config)\n saveAccounts(accounts: $accounts)\n }\n"]);return LO=function(){return e},e}function BO(){var e=Object(Bt.a)(["\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return BO=function(){return e},e}var PO=Object(f.a)(OO),FO=zt()(BO()),DO=zt()(LO()),TO=function(e){var t,n=e.data,l=e.doContinue,i=PO(),c=Object(Pt.c)(FO).data,s=Object(Pt.b)(DO,{onCompleted:l}),u=Object(o.a)(s,1)[0],d=Object(a.useState)(!1),m=Object(o.a)(d,2),f=m[0],p=m[1],h=null===n||void 0===n?void 0:n.coin,b=null===c||void 0===c?void 0:c.accountsConfig,g=null!==(t=null===c||void 0===c?void 0:c.cryptoCurrencies)&&void 0!==t?t:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{className:f&&i.error},"All set"),r.a.createElement(tt,null,"These are your wallet settings. You can later edit these and add additional coins."),r.a.createElement(jc,{rowSize:"lg",titleLg:!0,name:"All set",namespaces:[h],data:ai(h,No.a("coin",n)),elements:qf(g,b,!0)}),r.a.createElement(on,{size:"lg",onClick:function(){if(!Mf.isValidSync(n))return p(!0);var e=ai(h,No.a("coin",n)),t=ai(Yl)(e);return p(!1),u({variables:{config:t}})},className:i.button},"Continue"))};function WO(){var e=Object(Bt.a)(["\n mutation SaveAccountsBC($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return WO=function(){return e},e}function RO(){var e=Object(Bt.a)(["\n {\n accounts\n }\n"]);return RO=function(){return e},e}var AO=Object(f.a)(Object(c.a)(Object(c.a)({},OO),{},{radioGroup:OO.radioGroup,radioLabel:Object(c.a)(Object(c.a)({},OO.radioLabel),{},{width:200})})),zO=zt()(RO()),MO=zt()(WO()),qO=[{code:"enable",display:"I will enable cash-out"},{code:"disable",display:"I won't enable cash-out"}],$O=function(e){var t,n=e.addData,l=AO(),i=Object(Pt.c)(zO).data,c=Object(Pt.b)(MO,{onCompleted:function(){return n({zeroConf:"blockcypher"})}}),s=Object(o.a)(c,1)[0],u=Object(a.useState)(null),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(a.useState)(!1),h=Object(o.a)(p,2),b=h[0],g=h[1],v=null!==(t=null===i||void 0===i?void 0:i.accounts)&&void 0!==t?t:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{className:b&&l.error},"Blockcypher"),r.a.createElement(tt,null,"If you are enabling cash-out services, create a Blockcypher account."),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/115001209472-Blockcypher",label:"Configuring Blockcypher"}),r.a.createElement(Na,{labelClassName:l.radioLabel,className:l.radioGroup,options:qO,value:m,onChange:function(e){f(e.target.value),g(!1)}}),r.a.createElement("div",{className:l.mdForm},"disable"===m&&r.a.createElement(on,{size:"lg",onClick:function(){return n({zeroConf:"all-zero-conf"})},className:l.button},"Continue"),"enable"===m&&r.a.createElement(If,{value:v.blockcypher,save:function(e){return s({variables:{accounts:{blockcypher:e}}})},elements:Mm.blockcypher.elements,validationSchema:Mm.blockcypher.validationSchema,buttonLabel:"Continue",buttonClass:l.formButton})))};function HO(){var e=Object(Bt.a)(["\n {\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return HO=function(){return e},e}var VO=Object(f.a)(OO),YO=zt()(HO()),GO=Yt.d().shape({coin:Yt.e().required()}),ZO=function(e){var t,n=e.addData,l=VO(),i=Object(a.useState)(!1),c=Object(o.a)(i,2),s=c[0],u=c[1],d=Object(Pt.c)(YO).data,m=null!==(t=null===d||void 0===d?void 0:d.cryptoCurrencies)&&void 0!==t?t:[];return r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{className:s&&l.error},"Choose your first cryptocurrency"),r.a.createElement(Rt.d,{enableReinitialize:!0,initialValues:{coin:""},onSubmit:function(e){return GO.isValidSync(e)?"BTC"!==e.coin?n({coin:e.coin,zeroConf:"all-zero-conf"}):void n(e):u(!0)}},r.a.createElement(Rt.c,{onChange:function(){return u(!1)}},r.a.createElement(Ro,null),r.a.createElement(Rt.b,{component:Ta,name:"coin",labelClassName:l.radioLabel,className:l.radioGroup,options:m}),r.a.createElement(on,{size:"lg",type:"submit",className:l.button},"Continue"))))},_O=function(e,t){return Wr.a((function(n){return function(e){return sa.a("class",e)}(t)(n)&&function(e){return $t.a(qr.a(e),ua.a("cryptos"))}(e)(n)}))},UO=function(e,t,n,a){var r=_O(a,n)(e),l=zo.a((function(e){var n=e.code,a=function(e){return t&&t[e]}(n);return!Mm[n]||Mm[n].validationSchema.isValidSync(a)}))(r),i=Object(o.a)(l,2);return{filled:i[0],unfilled:i[1]}};function JO(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return JO=function(){return e},e}function KO(){var e=Object(Bt.a)(["\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return KO=function(){return e},e}var QO=Object(f.a)(OO),XO=zt()(KO()),ew=zt()(JO()),tw=function(e){return qr.a(e)(["kraken","itbit","bitstamp"])},nw=function(e){var t,n,l,i=e.data,c=e.addData,s=QO(),u=Object(Pt.c)(XO).data,d=Object(Pt.b)(ew,{onCompleted:function(){return k()}}),m=Object(o.a)(d,1)[0],f=Object(a.useState)(null),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Object(a.useState)(!1),v=Object(o.a)(g,2),y=v[0],O=v[1],w=null!==(t=null===u||void 0===u?void 0:u.accounts)&&void 0!==t?t:[],x=null!==(n=null===u||void 0===u?void 0:u.accountsConfig)&&void 0!==n?n:[],j=i.coin,C=UO(x,w,"exchange",j),k=function(){if(!h)return O(!0);c({exchange:h})};return r.a.createElement("div",{className:s.mdForm},r.a.createElement(Xe,{className:y&&s.error},"Choose your exchange"),r.a.createElement(Na,{labelClassName:s.radioLabel,className:s.radioGroup,options:fa.a(C.filled,C.unfilled),value:h,onChange:function(e){b(e.target.value),O(!1)}}),!tw(h)&&r.a.createElement(on,{size:"lg",onClick:k,className:s.button},"Continue"),tw(h)&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.infoMessage},r.a.createElement(Ja,null),r.a.createElement(rt,null,"Make sure you set up ",Mm[h].name," to enter the necessary information below. Please follow the instructions on our support page if you haven\u2019t.")),r.a.createElement(ra,{link:{kraken:"https://support.lamassu.is/hc/en-us/articles/115001206891-Kraken-trading",itbit:"https://support.lamassu.is/hc/en-us/articles/360026195032-itBit-trading",bitstamp:"https://support.lamassu.is/hc/en-us/articles/115001206911-Bitstamp-trading"}[h],label:"".concat(Mm[h].name," trading")}),r.a.createElement(Xe,{noMargin:!0},"Enter exchange information"),r.a.createElement(If,{value:w[h],save:(l=h,function(e){var t=Object(E.a)({},l,e);return m({variables:{accounts:t}})}),elements:Mm[h].elements,validationSchema:Mm[h].validationSchema,buttonLabel:"Continue",buttonClass:s.formButton})))};function aw(){var e=Object(Bt.a)(["\n {\n accountsConfig {\n code\n display\n class\n cryptos\n }\n }\n"]);return aw=function(){return e},e}var rw=Object(f.a)(OO),lw=zt()(aw()),iw=function(e){var t,n,l=e.data,i=e.addData,c=rw(),s=Object(Pt.c)(lw).data,u=Object(a.useState)(null),d=Object(o.a)(u,2),m=d[0],f=d[1],p=Object(a.useState)(!1),h=Object(o.a)(p,2),b=h[0],g=h[1],v=null!==(t=null===s||void 0===s?void 0:s.accounts)&&void 0!==t?t:[],y=null!==(n=null===s||void 0===s?void 0:s.accountsConfig)&&void 0!==n?n:[],E=l.coin,O=UO(y,v,"ticker",E);return r.a.createElement("div",{className:c.mdForm},r.a.createElement(Xe,{className:b&&c.error},"Choose your ticker"),r.a.createElement(Na,{labelClassName:c.radioLabel,className:c.radioGroup,options:fa.a(O.filled,O.unfilled),value:m,onChange:function(e){f(e.target.value),g(!1)}}),r.a.createElement(on,{size:"lg",onClick:function(){if(!m)return g(!0);i({ticker:m})},className:c.button},"Continue"))},ow=function(e){var t;return{code:"bitgo",name:"BitGo",title:"BitGo (Wallet)",elements:[{code:"token",display:"API Token",component:Ra,face:!0,long:!0},{code:"environment",display:"Environment",component:Fa,inputProps:{options:["prod","test"]},face:!0},{code:"".concat(e,"WalletId"),display:"".concat(e," Wallet ID"),component:Ra},{code:"".concat(e,"WalletPassphrase"),display:"".concat(e," Wallet Passphrase"),component:Wa}],validationSchema:Yt.d().shape((t={token:Yt.e().max(100,"Too long").required(),environment:Yt.e().matches(/(prod|test)/).required()},Object(E.a)(t,"".concat(e,"WalletId"),Yt.e().max(100,"Too long").required()),Object(E.a)(t,"".concat(e,"WalletPassphrase"),Yt.e().max(100,"Too long").required()),t))}};function cw(){var e=Object(Bt.a)(["\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n"]);return cw=function(){return e},e}function sw(){var e=Object(Bt.a)(["\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return sw=function(){return e},e}var uw=Object(f.a)(OO),dw=zt()(sw()),mw=zt()(cw()),fw=function(e){var t,n,l,i=e.data,c=e.addData,s=uw(),u=Object(Pt.c)(dw).data,d=Object(Pt.b)(mw,{onCompleted:function(){return S()}}),m=Object(o.a)(d,1)[0],f=Object(a.useState)(null),p=Object(o.a)(f,2),h=p[0],b=p[1],g=Object(a.useState)(!1),v=Object(o.a)(g,2),y=v[0],O=v[1],w=null!==(t=null===u||void 0===u?void 0:u.accounts)&&void 0!==t?t:[],x=null!==(n=null===u||void 0===u?void 0:u.accountsConfig)&&void 0!==n?n:[],j=i.coin,C=UO(x,w,"wallet",j),k=function(e){return function(t){var n=Object(E.a)({},e,t);return m({variables:{accounts:n}})}},S=function(){if(!h)return O(!0);c({wallet:h})};return r.a.createElement("div",{className:s.mdForm},r.a.createElement(Xe,{className:y&&s.error},"Choose your wallet"),r.a.createElement(Na,{labelClassName:s.radioLabel,className:s.radioGroup,options:fa.a(C.filled,C.unfilled),value:h,onChange:function(e){b(e.target.value),O(!1)}}),(l=h,qr.a(l)(["bitcoind","geth","litecoind","dashd","zcashd","bitcoincashd"])&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.infoMessage},r.a.createElement(Ja,null),r.a.createElement(rt,null,"To set up ",h," please read the node wallet instructions from our support portal.")),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/115001209552-Setting-up-your-node-wallets",label:"Support article"}))),!function(e){return qr.a(e)(["infura","bitgo"])}(h)&&r.a.createElement(on,{size:"lg",onClick:S,className:s.button},"Continue"),"bitgo"===h&&r.a.createElement(r.a.Fragment,null,r.a.createElement("div",{className:s.infoMessage},r.a.createElement(Ja,null),r.a.createElement(rt,null,"Make sure you set up a BitGo wallet to enter the necessary information below. Please follow the instructions on our support page if you haven\u2019t.")),r.a.createElement(ra,{link:"https://support.lamassu.is/hc/en-us/articles/360024455592-Setting-up-BitGo",label:"Support article"}),r.a.createElement(Xe,{noMargin:!0},"Enter wallet information"),r.a.createElement(If,{value:w.bitgo,save:k(h),elements:ow(j).elements,validationSchema:ow(j).validationSchema,buttonLabel:"Continue",buttonClass:s.formButton})),"infura"===h&&r.a.createElement(r.a.Fragment,null,r.a.createElement(Xe,{noMargin:!0},"Enter wallet information"),r.a.createElement(If,{value:w.infura,save:k(h),elements:Mm.infura.elements,validationSchema:Mm.infura.validationSchema,buttonLabel:"Continue",buttonClass:s.formButton})))},pw=Object(f.a)(Xa),hw=[{label:"Choose cryptocurrency",component:ZO},{label:"Choose wallet",component:fw},{label:"Choose ticker",component:iw},{label:"Exchange",component:nw},{label:"Blockcypher",component:$O},{label:"All set",component:TO}],bw=function(e){var t=e.doContinue,n=Object(a.useState)(0),l=Object(o.a)(n,2),i=l[0],c=l[1],s=Object(a.useState)({}),u=Object(o.a)(s,2),d=u[0],m=u[1],f=pw(),p="BTC"===(null===d||void 0===d?void 0:d.coin)?hw:IO.a(4,1,hw),h=p[i].component;return r.a.createElement("div",{className:f.wrapper},r.a.createElement("div",{className:f.headerDiv},r.a.createElement(vt,{title:"Wallet settings"})),r.a.createElement("div",{className:f.contentDiv},r.a.createElement(ze,null,p.map((function(e,t){return r.a.createElement(Me,{key:t,step:i,it:e,idx:t,steps:p})}))),r.a.createElement("div",{className:f.contentWrapper},r.a.createElement(h,{data:d,addData:function(e){m(gn.a(d,e)),c(i+1)},doContinue:t}))))},gw={welcome:{textAlign:"center",paddingTop:256},title:{lineHeight:1,fontSize:48},getStarted:{fontSize:24,fontWeight:500,marginBottom:54,color:q}},vw=Object(f.a)(gw);var yw=function(e,t){var n=ni(Yl,e);return Wr.a((function(e){return Mf.isValidSync(ni(e.code,n))}))(t)},Ew=function(e,t){return e?function(e,t){var n=ni(Yl,e),a=da.a((function(e){return ni(e.code,n)}))(t);return $t.a(Ar.a(iO.a),da.a((function(e){return Mf.isValidSync(e)})))(a)}(e,t)?function(e){var t=ni(_l,e);return Zf.isValidSync(t)}(e)?function(e){var t=ni(Ul,e);return Us.isValidSync(t)}(e)?0:3:2:1:0},Ow=[{id:"welcome",Component:function(e){var t=e.doContinue,n=vw();return r.a.createElement("div",{className:n.welcome},r.a.createElement(Je,{className:n.title},"Welcome to the Lamassu Admin"),r.a.createElement(tt,{className:n.getStarted},"To get you started, we\u2019ve put together a wizard that will",r.a.createElement("br",null),"help set up what you need before pairing your machines."),r.a.createElement(on,{size:"xl",onClick:t},"Get started"))}},{id:"wallet",Component:bw,exImage:"/assets/wizard/fullexample.wallet.png",subtitle:"Wallet settings",text:"Your wallet settings are the first step for this wizard. \n We'll start by setting up one of cryptocurrencies to get you up and running,\n but you can later set up as many as you want."},{id:"locale",Component:vO,exImage:"/assets/wizard/fullexample.locale.png",subtitle:"Locales",text:"From the Locales page, you can define some important default settings\n of your machines. These values will be the default values of all\n machines you'll later add to your network. Default settings keep you\n from having to enther the same values everytime you add a new machine.\n Once a machine is added, you may override some of these values in the\n overrides section."},{id:"twilio",Component:NO,exImage:"/assets/wizard/fullexample.twilio.png",subtitle:"Twilio (SMS service)",text:r.a.createElement(r.a.Fragment,null,"Twilio is used for SMS operator notifications, phone number collection for compliance, and 1-confirmation redemptions on cash-out transactions.",r.a.createElement("br",null),"You'll need to configure Twilio if you're offering cash-out or any compliance options")},{id:"commissions",Component:mO,exImage:"/assets/wizard/fullexample.commissions.png",subtitle:"Commissions",text:"From the Commissions page, you can define all the commissions of your\n machines. The values set here will be default values of all machines\n you'll later add to your network. Default settings keep you from\n having to enter the same values everytime you add a new machine. Once\n a machine is added, you may override these values per machine and per\n cryptocurrency in the overrides section."}],ww=n(540),xw=Object(f.a)((function(){return{drawer:{borderTop:"none",boxShadow:"0 0 4px 0 rgba(0, 0, 0, 0.08)"},wrapper:{padding:"32px 0",flexGrow:1,height:264},smallWrapper:{height:84},title:{margin:[[0,32,0,0]]},subtitle:{marginTop:8,marginBottom:6,lineHeight:1.25,display:"inline"},modal:{background:"none",boxShadow:"none"}}}));var jw=function(e){var t,n=e.currentStep,l=e.steps,i=e.subtitle,c=e.text,s=e.exImage,u=e.open,m=e.start,f=xw(),p=Object(a.useState)(!1),h=Object(o.a)(p,2),b=h[0],g=h[1],v=(t={},Object(E.a)(t,f.wrapper,!0),Object(E.a)(t,f.smallWrapper,!u),t);return r.a.createElement(ww.a,{anchor:"bottom",open:!0,variant:"persistent",classes:{paperAnchorDockedBottom:f.drawer}},r.a.createElement("div",{className:w()(v)},r.a.createElement(d.a,{container:!0,direction:"row",justify:"center",alignItems:"baseline"},r.a.createElement(d.a,{item:!0,xs:5,container:!0,direction:u?"column":"row",justify:"flex-start",alignItems:"baseline"},r.a.createElement(Ke,{className:f.title},"Setup Lamassu Admin"),r.a.createElement(at,{className:f.subtitle},i),u&&r.a.createElement(tt,null,c)),r.a.createElement(d.a,{item:!0,xs:4,container:!0,direction:"column",justify:"flex-start",alignItems:"flex-end",spacing:5},r.a.createElement(d.a,{item:!0,xs:12},l&&n&&r.a.createElement(ns,{currentStep:n,steps:l})))),u&&r.a.createElement(d.a,{container:!0,direction:"row",justify:"center",alignItems:"baseline"},r.a.createElement(d.a,{item:!0,xs:5,container:!0,direction:"column",justify:"flex-start",alignItems:"flex-start"},r.a.createElement(Bn,{onClick:function(){g(!0)}},"See full example")),r.a.createElement(d.a,{item:!0,xs:4,container:!0,direction:"column",justify:"flex-start",alignItems:"flex-end",spacing:5},r.a.createElement(d.a,{item:!0},r.a.createElement(on,{size:"lg",onClick:m},"Get Started"))))),r.a.createElement(ci,{closeOnEscape:!0,closeOnBackdropClick:!0,className:f.modal,xl:!0,width:1328,handleClose:function(){g(!1)},open:b},r.a.createElement("img",{width:1152,src:s,alt:""})))};function Cw(){var e=Object(Bt.a)(["\n query getData {\n config\n accounts\n cryptoCurrencies {\n code\n display\n }\n }\n"]);return Cw=function(){return e},e}var kw,Sw=Object(f.a)({wrapper:{display:"flex",padding:[[16,0]],flexDirection:"column",justifyContent:"space-between",backgroundColor:ee},welcomeBackground:{background:"url(/wizard-background.svg) no-repeat center center fixed",backgroundColor:ee,backgroundSize:"cover"},blurred:{filter:"blur(4px)",pointerEvents:"none"}}),Nw=zt()(Cw()),Iw=function(e){e.fromAuthRegister;var t,n,l=Sw(),i=Object(Pt.c)(Nw),c=i.data,s=i.loading,u=Object(v.h)(),d=Object(a.useContext)(Vw).setWizardTested,m=Object(a.useState)(0),f=Object(o.a)(m,2),p=f[0],h=f[1],b=Object(a.useState)(!0),g=Object(o.a)(b,2),y=g[0],O=g[1],x=Object(a.useState)(!1),j=Object(o.a)(x,2),C=j[0],k=j[1];if(s)return r.a.createElement(r.a.Fragment,null);var S=Ew(null===c||void 0===c?void 0:c.config,null===c||void 0===c?void 0:c.cryptoCurrencies),N=u.length&&!(null===(t=u.location.state)||void 0===t?void 0:t.fromAuthRegister);0===S&&(d(!0),N?u.goBack():u.push("/"));var I=0===p,L=(n={},Object(E.a)(n,l.blurred,C),Object(E.a)(n,l.wrapper,!0),Object(E.a)(n,l.welcomeBackground,I),n),B=Ow[p];return r.a.createElement(Ft.a,{fullScreen:!0,open:y},r.a.createElement(Dt.a,{className:w()(L)},r.a.createElement(B.Component,{doContinue:function(){p>=Ow.length-1&&(O(!1),u.push("/"));var e=0===p&&S?S:p+1;k(!0),h(e)},isActive:!C})),!I&&r.a.createElement(jw,{currentStep:p,steps:Ow.length-1,exImage:B.exImage,subtitle:B.subtitle,text:B.text,open:C,start:function(){k(!1)}}))},Lw=Object(f.a)({wrapper:{flex:1,display:"flex",flexDirection:"column",height:"100%"}}),Bw=[{key:"transactions",label:"Transactions",route:"/transactions",component:hE},{key:"maintenance",label:"Maintenance",route:"/maintenance",get component(){var e=this;return function(){return r.a.createElement(v.b,{to:e.children[0].route})}},children:[{key:"cash_cassettes",label:"Cash Cassettes",route:"/maintenance/cash-cassettes",component:Sh},{key:"funding",label:"Funding",route:"/maintenance/funding",component:Lm},{key:"logs",label:"Machine Logs",route:"/maintenance/logs",component:Eh},{key:"machine-status",label:"Machine Status",route:"/maintenance/machine-status",component:lg},{key:"server-logs",label:"Server",route:"/maintenance/server-logs",component:sy}]},{key:"settings",label:"Settings",route:"/settings",get component(){var e=this;return function(){return r.a.createElement(v.b,{to:e.children[0].route})}},children:[{key:Ul,label:"Commissions",route:"/settings/commissions",component:ru},{key:_l,label:"Locales",route:"/settings/locale",component:ap},{key:Vl,label:"Cash-out",route:"/settings/cash-out",component:vs},{key:Zl,label:"Notifications",route:"/settings/notifications",component:Vg},{key:"services",label:"3rd party services",route:"/settings/3rd-party-services",component:jy},{key:Yl,label:"Wallet",route:"/settings/wallet-settings",component:lO},{key:Gl,label:"Operator Info",route:"/settings/operator-info",title:"Operator Information",get component(){var e=this;return function(){var t;return r.a.createElement(v.b,{to:{pathname:e.children[0].route,state:{prev:null===(t=e.state)||void 0===t?void 0:t.prev}}})}},children:[{key:"contact-info",label:"Contact information",route:"/settings/operator-info/contact-info",component:hv},{key:"receipt-printing",label:"Receipt",route:"/settings/operator-info/receipt-printing",component:zv},{key:"coin-atm-radar",label:"Coin ATM Radar",route:"/settings/operator-info/coin-atm-radar",component:Qg},{key:"terms-conditions",label:"Terms & Conditions",route:"/settings/operator-info/terms-conditions",component:_v}]}]},{key:"compliance",label:"Compliance",route:"/compliance",get component(){var e=this;return function(){return r.a.createElement(v.b,{to:e.children[0].route})}},children:[{key:"triggers",label:"Triggers",route:"/compliance/triggers",component:QE},{key:"customers",label:"Customers",route:"/compliance/customers",component:hm},{key:"blacklist",label:"Blacklist",route:"/compliance/blacklist",component:ko},{key:"customer",route:"/compliance/customer/:id",component:um}]}],Pw=da.a(Fr.a(Dr.a("children"),ua.a("children"))),Fw=$t.a(Tr.a,Pw)(Bw),Dw=Wr.a(Dr.a("children"))(Fw).concat(Wr.a(Dr.a("children"))(Bw)),Tw=$t.a(Tr.a,Pw)(Fw),Ww=Rr.a(Tw,Dw),Rw=function(){var e=Lw(),t=Object(v.h)(),n=Object(v.i)();Object(a.useContext)(Vw).wizardTested||qr.a(n.pathname)(["/404","/register","/wizard"])||t.push("/wizard");var l=n.state?Pr.a:Br.a,i=l===Pr.a?{direction:$r.a(sa.a("route",n.state.prev))(Tw)>$r.a(sa.a("route",n.pathname))(Tw)?"right":"left"}:{timeout:400};return r.a.createElement(v.e,null,r.a.createElement(v.c,{exact:!0,path:"/"},r.a.createElement(v.b,{to:{pathname:"/transactions"}})),r.a.createElement(v.c,{path:"/wizard",component:Iw}),r.a.createElement(v.c,{path:"/register",component:Yr}),Ww.map((function(t){var a=t.route,o=t.component,c=t.key;return r.a.createElement(v.c,{path:a,key:c},r.a.createElement(l,Object.assign({className:e.wrapper},i,{in:!!Object(v.g)(n.pathname,{path:a}),mountOnEnter:!0,unmountOnExit:!0,children:r.a.createElement("div",{className:e.wrapper},r.a.createElement(o,{name:c}))})))})),r.a.createElement(v.c,{path:"/404"}),r.a.createElement(v.c,{path:"*"},r.a.createElement(v.b,{to:{pathname:"/404"}})))},Aw="100%",zw={"@global":Object(c.a)(Object(c.a)({},{"@font-face":[{fontFamily:"Mont",src:['url("/fonts/MontHeavy/mont-heavy-webfont.woff2") format("woff2")','url("/fonts/MontHeavy/mont-heavy-webfont.woff") format("woff")'],fontWeight:900,fontStyle:"normal"},{fontFamily:"Mont",src:['url("/fonts/MontHeavy/mont-bold-webfont.woff2") format("woff2")','url("/fonts/MontHeavy/mont-bold-webfont.woff") format("woff")'],fontWeight:700,fontStyle:"normal"},{fontFamily:"MuseoSans",src:['url("/fonts/MuseoSans/MuseoSans_500-webfont.woff2") format("woff2")','url("/fonts/MuseoSans/MuseoSans_500-webfont.woff") format("woff")'],fontWeight:500,fontStyle:"normal"},{fontFamily:"MuseoSans",src:['url("/fonts/MuseoSans/MuseoSans_700-webfont.woff2") format("woff2")','url("/fonts/MuseoSans/MuseoSans_700-webfont.woff") format("woff")'],fontWeight:700,fontStyle:"normal"},{fontFamily:"BPmono",src:'url("/fonts/BPmono/BPmono.ttf") format("truetype")',fontWeight:500,fontStyle:"normal"}]}),{},(kw={"#root":{width:Aw,minHeight:Aw},html:{height:Aw},body:{width:ue,display:"flex",minHeight:Aw,"@media screen and (min-width: 1200px)":{width:"auto"}}},Object(E.a)(kw,'a::-moz-focus-inner,\n \'input[type="submit"]::-moz-focus-inner,\n input[type="button"]::-moz-focus-inner',{border:0}),Object(E.a)(kw,'a::-moz-focus-inner,\n input[type="submit"]::-moz-focus-inner,\n input[type="button"]::-moz-focus-inner',{border:0}),Object(E.a)(kw,"a,\n a:visited,\n a:focus,\n a:active,\n a:hover",{outline:"0 none"}),Object(E.a)(kw,"button::-moz-focus-inner",{border:0}),Object(E.a)(kw,".ReactVirtualized__Grid__innerScrollContainer",{overflow:"inherit !important"}),kw))},Mw=Object(b.a)({plugins:[Object(g.a)()].concat(Object(s.a)(Object(m.a)().plugins))}),qw="100%",$w="column",Hw=Object(f.a)(Object(c.a)(Object(c.a)({},zw),{},{root:{backgroundColor:ee,width:qw,minHeight:qw,display:"flex",flexDirection:$w},wrapper:{width:ue,height:qw,margin:"0 auto",flex:1,display:"flex",flexDirection:$w},grid:{flex:1,height:"100%"},contentWithSidebar:{flex:1,marginLeft:48,paddingTop:15},contentWithoutSidebar:{width:ue}})),Vw=Object(a.createContext)(),Yw=function(){var e=Hw(),t=Object(v.i)(),n=Object(v.h)(),l=Object(a.useContext)(Vw).wizardTested,i=t.pathname,o=function(e){return Ar.a((function(t){return t.route===e}))($t.a(Tr.a,da.a(ua.a("children")),Wr.a(Dr.a("children")))(Fw))}(i),c=o?function(e){return ca.a(sa.a("route",zr.a(1,Mr.a((function(e){return"/"!==e}),e))))(Ww)}(i):{},s="/404"===t.pathname,u=o?e.contentWithSidebar:e.contentWithoutSidebar;return r.a.createElement("div",{className:e.root},!s&&l&&r.a.createElement(Lr,{tree:Bw}),r.a.createElement("main",{className:e.wrapper},o&&!s&&l&&r.a.createElement(vt,{title:c.title}),r.a.createElement(d.a,{container:!0,className:e.grid},o&&!s&&l&&r.a.createElement(ze,{data:c.children,isSelected:function(e){return t.pathname===e.route},displayName:function(e){return e.label},onClick:function(e){return n.push(e.route)}}),r.a.createElement("div",{className:u},r.a.createElement(Rw,null)))))},Gw=function(){var e=Object(a.useState)(!1),t=Object(o.a)(e,2),n=t[0],l=t[1];return r.a.createElement(Vw.Provider,{value:{wizardTested:n,setWizardTested:l}},r.a.createElement(y.a,null,r.a.createElement(kt,null,r.a.createElement(p.b,{jss:Mw},r.a.createElement(h.a,{theme:tv},r.a.createElement(u.a,null),r.a.createElement(Yw,null))))))};Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));i.a.render(r.a.createElement(Gw,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()}))}},[[449,1,2]]]); +//# sourceMappingURL=main.c5b482a9.chunk.js.map \ No newline at end of file diff --git a/public/static/js/main.c5b482a9.chunk.js.map b/public/static/js/main.c5b482a9.chunk.js.map new file mode 100644 index 000000000..5674863b8 --- /dev/null +++ b/public/static/js/main.c5b482a9.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["styling/icons/stage/zodiac/complete.svg","styling/icons/stage/zodiac/current.svg","styling/icons/stage/zodiac/empty.svg","styling/variables.js","styling/helpers.js","components/typography/styles.js","components/layout/Sidebar.styles.js","components/layout/Sidebar.js","styling/icons/warning-icon/tomato.svg","components/typography/index.js","components/ErrorMessage.js","components/Title.js","components/layout/TitleSection.js","components/layout/TitleSection.styles.js","utils/apollo.js","components/buttons/ActionButton.styles.js","components/buttons/ActionButton.js","styling/icons/button/add/zodiac.svg","components/buttons/AddButton.js","components/buttons/Button.styles.js","components/buttons/Button.js","components/buttons/BaseButton.styles.js","components/buttons/FeatureButton.js","components/Popper.js","components/buttons/IDButton.js","components/buttons/IconButton.js","components/buttons/Link.styles.js","components/buttons/Link.js","components/buttons/SimpleButton.js","styling/icons/button/cancel/white.svg","components/buttons/SubpageButton.styles.js","components/buttons/SubpageButton.js","styling/icons/action/external link/white.svg","styling/icons/action/external link/zodiac.svg","components/buttons/SupportLinkButton.js","components/inputs/base/TextInput.styles.js","components/inputs/base/TextInput.js","components/inputs/base/Autocomplete.js","components/inputs/base/Checkbox.js","components/inputs/base/NumberInput.js","components/inputs/base/RadioGroup.js","components/inputs/base/SecretInput.js","components/inputs/base/Switch.js","components/inputs/formik/Autocomplete.js","components/inputs/formik/NumberInput.js","components/inputs/formik/RadioGroup.js","components/inputs/formik/SecretInput.js","components/inputs/formik/TextInput.js","styling/icons/action/close/zodiac.svg","styling/icons/warning-icon/comet.svg","pages/AddMachine/styles.js","pages/AddMachine/AddMachine.js","pages/AddMachine/index.js","styling/icons/button/add/white.svg","styling/icons/menu/logo.svg","components/layout/Header.styles.js","components/layout/Header.js","pages/AuthRegister.js","styling/icons/action/help/zodiac.svg","components/Tooltip.js","styling/icons/action/arrow/regular.svg","utils/sanctuary.js","utils/string.js","components/inputs/base/Select.styles.js","components/inputs/base/Select.js","components/Chip.js","components/inputs/cashbox/Cashbox.styles.js","components/inputs/cashbox/Cashbox.js","utils/config.js","pages/Blacklist/Blacklist.styles.js","components/Modal.js","pages/Blacklist/BlacklistModal.js","components/fake-table/Table.styles.js","components/fake-table/Table.js","styling/icons/action/expand/closed.svg","styling/icons/action/expand/open.svg","components/tables/DataTable.styles.js","components/tables/DataTable.js","styling/icons/action/copy/copy.svg","pages/Logs.styles.js","pages/Transactions/Transactions.styles.js","pages/Transactions/CopyToClipboard.js","styling/icons/action/delete/enabled.svg","pages/Blacklist/BlacklistTable.js","pages/Blacklist/Blacklist.js","pages/Blacklist/index.js","components/PromptWhenDirty.js","components/editableTable/Context.js","components/editableTable/Header.js","styling/icons/action/delete/disabled.svg","styling/icons/action/edit/disabled.svg","styling/icons/action/edit/enabled.svg","styling/icons/stripes.svg","components/editableTable/Row.styles.js","components/editableTable/Row.js","components/editableTable/Table.styles.js","components/editableTable/Table.js","components/editableTable/NamespacedTable.js","utils/bill-denominations.js","styling/icons/direction/cash-out.svg","pages/Cashout/WizardSplash.js","styling/icons/stage/spring/complete.svg","styling/icons/stage/spring/current.svg","styling/icons/stage/spring/empty.svg","components/Stepper.js","styling/icons/cassettes/cashout-cassette-1.svg","styling/icons/cassettes/cashout-cassette-2.svg","pages/Cashout/WizardStep.styles.js","pages/Cashout/WizardStep.js","pages/Cashout/helper.js","pages/Cashout/Wizard.js","pages/Cashout/Cashout.js","pages/Cashout/index.js","components/Subtitle.js","components/layout/Section.js","components/layout/Section.styles.js","styling/icons/direction/cash-in.svg","pages/Commissions/helper.js","pages/Commissions/Commissions.js","pages/Commissions/index.js","components/Status.js","styling/icons/button/authorize/white.svg","styling/icons/button/authorize/zodiac.svg","styling/icons/button/cancel/zodiac.svg","pages/Customers/components/propertyCard/PropertyCard.styles.js","pages/Customers/components/propertyCard/PropertyCard.js","styling/icons/button/block/white.svg","styling/icons/button/block/zodiac.svg","pages/Customers/CustomerProfile.styles.js","styling/icons/circle buttons/search/white.svg","styling/icons/circle buttons/search/zodiac.svg","components/ImagePopper.js","components/ImagePopper.styles.js","styling/icons/ID/photo/crossed-camera.svg","pages/Customers/components/Field.js","pages/Customers/components/ComplianceDetails.js","pages/Customers/components/ComplianceDetails.styles.js","styling/icons/ID/card/zodiac.svg","styling/icons/circle buttons/law/white.svg","styling/icons/circle buttons/law/zodiac.svg","pages/Customers/CustomersList.styles.js","pages/Customers/helper.js","pages/Customers/components/FrontCameraPhoto.js","pages/Customers/components/CustomerDetails.js","utils/nullCheck.js","pages/Customers/components/IdDataCard.js","utils/coin.js","pages/Customers/components/TransactionsList.js","pages/Customers/CustomerProfile.js","pages/Customers/CustomersList.js","pages/Customers/Customers.js","components/TableLabel.js","pages/Funding.styles.js","pages/Funding.js","pages/Services/schemas/bitgo.js","pages/Services/schemas/bitstamp.js","pages/Services/schemas/blockcypher.js","pages/Services/schemas/infura.js","pages/Services/schemas/itbit.js","pages/Services/schemas/kraken.js","pages/Services/schemas/mailgun.js","pages/Services/schemas/twilio.js","pages/Services/schemas/index.js","styling/logos/icon-bitcoin-colour.svg","styling/logos/icon-bitcoincash-colour.svg","styling/logos/icon-dash-colour.svg","styling/logos/icon-ethereum-colour.svg","styling/logos/icon-litecoin-colour.svg","styling/logos/icon-zcash-colour.svg","pages/Wallet/WizardSplash.js","pages/Services/FormRenderer.js","pages/Wallet/WizardStep.styles.js","pages/Wallet/WizardStep.js","pages/Wallet/Wizard.js","pages/Wallet/helper.js","pages/Locales/helper.js","pages/Locales/Locales.js","pages/Locales/Locales.styles.js","pages/Locales/index.js","styling/icons/arrow/download_logs.svg","styling/icons/button/download/white.svg","styling/icons/button/download/zodiac.svg","styling/icons/arrow/month_change.svg","styling/icons/arrow/month_change_right.svg","components/date-range-picker/Tile.js","components/date-range-picker/Calendar.js","components/date-range-picker/DateRangePicker.js","components/LogsDownloaderPopper.js","components/table/Table.js","components/table/TableBody.js","components/table/TableCell.js","components/table/TableHead.js","components/table/TableHeader.js","components/table/TableRow.js","pages/MachineLogs.js","pages/Maintenance/CashCassettes.js","pages/Maintenance/CashCassettes.styles.js","styling/icons/status/pumpkin.svg","styling/icons/status/tomato.svg","components/ConfirmDialog.js","styling/icons/button/edit/white.svg","styling/icons/button/edit/zodiac.svg","styling/icons/button/link/zodiac.svg","styling/icons/button/reboot/white.svg","styling/icons/button/reboot/zodiac.svg","styling/icons/button/shut down/white.svg","styling/icons/button/shut down/zodiac.svg","styling/icons/button/unpair/white.svg","styling/icons/button/unpair/zodiac.svg","pages/Maintenance/MachineDetailsCard.styles.js","pages/Maintenance/MachineDetailsCard.js","pages/Maintenance/MachineStatus.js","pages/Notifications/NotificationsContext.js","utils/number.js","pages/Notifications/components/EditHeader.js","pages/Notifications/components/EditHeader.styles.js","pages/Notifications/components/EditableNumber.js","pages/Notifications/components/EditableNumber.styles.js","pages/Notifications/components/SingleFieldEditableNumber.js","pages/Notifications/sections/CryptoBalanceAlerts.js","pages/Notifications/sections/CryptoBalanceAlerts.styles.js","pages/Notifications/sections/CryptoBalanceOverrides.js","pages/Notifications/sections/FiatBalanceAlerts.js","pages/Notifications/sections/FiatBalanceAlerts.styles.js","pages/Notifications/sections/FiatBalanceOverrides.js","pages/Notifications/sections/Setup.js","pages/Notifications/sections/TransactionAlerts.js","pages/Notifications/Notifications.js","pages/OperatorInfo/CoinATMRadar/CoinATMRadar.styles.js","pages/OperatorInfo/CoinATMRadar/CoinATMRadar.js","pages/OperatorInfo/CoinATMRadar/index.js","styling/theme.js","pages/OperatorInfo/OperatorInfo.styles.js","pages/OperatorInfo/ContactInfo.js","styling/icons/table/false.svg","styling/icons/table/true.svg","components/booleanPropertiesTable/BooleanPropertiesTable.styles.js","components/booleanPropertiesTable/BooleanPropertiesTable.js","pages/OperatorInfo/ReceiptPrinting/ReceiptPrinting.js","pages/OperatorInfo/ReceiptPrinting/ReceiptPrinting.styles.js","pages/OperatorInfo/ReceiptPrinting/index.js","pages/OperatorInfo/TermsConditions.js","components/Uptime.js","pages/ServerLogs.js","styling/icons/action/edit/white.svg","components/single-row-table/SingleRowTable.styles.js","components/single-row-table/SingleRowTable.js","pages/Services/Services.js","styling/icons/ID/card/white.svg","styling/icons/ID/phone/white.svg","styling/icons/ID/phone/zodiac.svg","styling/icons/ID/photo/white.svg","styling/icons/ID/photo/zodiac.svg","pages/Transactions/DetailsCard.styles.js","pages/Transactions/helper.js","pages/Transactions/DetailsCard.js","pages/Transactions/Transactions.js","pages/Triggers/helper.js","pages/Triggers/Wizard.js","pages/Triggers/Triggers.js","pages/Triggers/Triggers.styles.js","pages/Triggers/index.js","pages/Wallet/Wallet.js","pages/Wizard/components/Commissions.js","pages/Wizard/components/Locales.js","components/InfoMessage.js","pages/Wizard/components/Wallet/Shared.styles.js","pages/Wizard/components/Twilio.js","pages/Wizard/components/Wallet/AllSet.js","pages/Wizard/components/Wallet/Blockcypher.js","pages/Wizard/components/Wallet/ChooseCoin.js","pages/Wizard/components/Wallet/getItems.js","pages/Wizard/components/Wallet/ChooseExchange.js","pages/Wizard/components/Wallet/ChooseTicker.js","pages/Services/schemas/singlebitgo.js","pages/Wizard/components/Wallet/ChooseWallet.js","pages/Wizard/components/Wallet/Wallet.js","pages/Wizard/components/Welcome.js","pages/Wizard/helper.js","pages/Wizard/components/Footer.js","pages/Wizard/Wizard.js","pages/Wizard/index.js","routing/routes.js","styling/global/index.js","styling/global/fonts.js","App.js","serviceWorker.js","index.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","id","stroke","strokeWidth","fill","fillRule","transform","cx","cy","r","d","SvgComplete","_ref","svgRef","title","titleId","props","width","height","viewBox","ref","ForwardRef","SvgCurrent","SvgEmpty","comet","spring2","spring3","spring4","zircon","zircon2","white","tomato","mistyRose","primaryColor","secondaryColor","secondaryColorDark","secondaryColorDarker","backgroundColor","subheaderColor","subheaderDarkColor","disabledColor","disabledColor2","fontColor","offColor","offDarkColor","placeholderColor","errorColor","mainWidth","linkPrimaryColor","fontPrimary","fontSecondary","fontSize1","fontSize2","fontSize3","fontSize4","fontSize5","smallestFontSize","inputFontSizeSm","inputFontSize","inputFontSizeLg","inputFontFamily","tableHeaderHeight","spacer","tableCellHeight","breakpoint","tableDoubleHeaderHeight","tableHeaderColor","tableErrorColor","base","lineHeight","color","h1","extend","fontSize","fontFamily","fontWeight","h2","h3","h4","h5","p","tl1","tl2","info1","info2","info3","mono","monoBold","monoSmall","inputFont","regularLabel","label1","label2","label3","inline","display","noMargin","margin","bySize","size","bold","typographyStyles","sidebarColor","sidebar","marginLeft","boxShadow","borderRadius","alignItems","padding","flexDirection","minWidth","link","position","cursor","content","background","left","bottom","transition","activeLink","customRenderLink","customRenderActiveLink","item","itemText","marginRight","itemTextActive","itemTextPast","stepperPath","border","right","top","stepperPast","useStyles","makeStyles","styles","Sidebar","data","displayName","isSelected","onClick","children","itemRender","classes","className","map","it","idx","classnames","Stepper","step","steps","active","past","future","label","x","y","rx","SvgTomato","H1","classNames","H2","H3","H4","H5","P","pBuilder","Info1","Info2","Info3","Mono","TL1","TL2","Label1","Label2","Label3","elementClass","wrapper","message","whiteSpace","ErrorMessage","marginTop","marginBottom","Title","memo","titleWrapper","justifyContent","titleAndButtonsContainer","error","icon","TitleSection","labels","Box","URI","Provider","client","history","location","ApolloClient","ApolloLink","from","onError","graphQLErrors","networkError","forEach","locations","path","extensions","code","pathname","push","console","log","HttpLink","credentials","uri","cache","InMemoryCache","defaultOptions","watchQuery","fetchPolicy","errorPolicy","query","mutate","getClient","useHistory","useLocation","colors","color1","color2","color3","actionButton","outline","primary","secondary","actionButtonIcon","paddingRight","svg","actionButtonIconActive","ActionButton","Icon","InverseIcon","strokeLinecap","strokeLinejoin","x1","y1","x2","y2","SvgZodiac","button","SimpleButton","pickSize","shadowSize","baseButton","baseButtonStyles","featureButton","buttonIcon","overflow","buttonIconActive","FeatureButton","Popover","bgColor","arrowSize","useState","arrowRef","setArrowRef","popover","zIndex","arrow","arrowBottom","borderLeft","borderRight","borderBottom","borderColor","transformOrigin","arrowTop","borderTop","arrowRight","arrowLeft","root","arrowClasses","placement","modifiers","R","flip","enabled","preventOverflow","boundariesElement","offset","element","computeStyle","gpuAcceleration","disablePortal","Paper","idButton","closed","open","popoverContent","maxHeight","IDButton","name","popoverWidth","popoverClassname","anchorEl","setAnchorEl","Boolean","undefined","iconClassNames","aria-describedby","event","currentTarget","onClose","flex","IconButton","disableRipple","fade","textDecoration","noColor","action","Link","submit","type","SvgWhite","normalButton","activeButton","buttonIconActiveLeft","buttonIconActiveRight","subpageButtonStyles","SubpageButton","toggle","setActive","newActiveState","points","actionButtonLink","SupportLinkButton","rel","href","LinkIcon","InverseLinkIcon","textAlign","underline","borderBottomColor","TextInput","onChange","onBlur","value","suffix","InputProps","filled","inputClasses","TextField","Autocomplete","optionsLimit","limit","options","valueProp","multiple","getLabel","outsideValue","fullWidth","autoFocus","mapFromValue","mapToValue","valueArray","evt","rValue","getOptionLabel","forcePopupIcon","filterOptions","array","inputValue","input","sort","filter","slice","Math","max","openOnFocus","autoHighlight","disableClearable","ChipProps","onDelete","clearOnEscape","getOptionSelected","renderInput","params","checked","NumberInput","decimalPlaces","customInput","decimalScale","onValueChange","values","floatValue","paddingLeft","RadioGroup","labelClassName","radioClassName","option","FormControlLabel","control","Radio","SecretInput","onFocus","focused","setFocused","previouslyFilled","tempValue","InputLabelProps","shrink","placeholder","theme","spacing","switchBase","opacity","palette","common","thumb","track","transitions","create","disabled","focusVisible","SwitchInput","Switch","focusVisibleClassName","AutocompleteFormik","setOpen","field","form","touched","errors","setFieldValue","setFieldTouched","useFormikContext","initialValues","innerOptions","onChangeHandler","onOpen","NumberInputFormik","RadioGroupFormik","ariaLabel","e","resetError","SecretInputFormik","TextInputFormik","style","enableBackground","xmlSpace","SvgComet","dialog","minHeight","contentDiv","headerDiv","contentWrapper","nameTitle","qrTitle","qrCodeWrapper","qrTextWrapper","qrTextIcon","qrText","SAVE_CONFIG","gql","GET_MACHINES","getSize","validationSchema","Yup","shape","required","component","nextStep","setQrCode","setName","useMutation","onCompleted","createPairingTotem","register","onSubmit","variables","Button","qrCode","count","onPaired","useQuery","pollInterval","addedMachine","machines","find","m","fgColor","AddMachine","close","setStep","Component","Dialog","fullScreen","aria-labelledby","DialogContent","SvgIcon","renderStepper","xlinkHref","SvgLogo","headerHeight","subheaderHeight","header","maxWidth","nav","ul","li","listStyle","forceSize","visibility","addMachine","subheader","subheaderUl","subheaderLi","subheaderLink","activeSubheaderLink","logo","Subheader","prev","setPrev","to","route","state","activeClassName","isActive","match","Header","tree","whiteLink","forcesize","AddIcon","AddIconReverse","machine","deviceId","AuthRegister","URLSearchParams","search","useAxios","url","get","method","withCredentials","trigger","customHandler","err","res","fromAuthRegister","transparentButton","Tooltip","HelpIcon","helpPopperAnchorEl","setHelpPopperAnchorEl","helpPopperOpen","ClickAwayListener","onClickAway","SvgRegular","S","sanctuary","checkTypes","process","env","toFirstLower","compose","joinWith","toLower","toFirstUpper","toUpper","onlyFirstToUpper","splitOnUpper","splitOn","startCase","WIDTH","selectedItem","select","overflowY","listStyleType","selectFiltered","Select","items","useSelect","onSelectedItemChange","isOpen","getToggleButtonProps","getLabelProps","getMenuProps","getItemProps","selectClassNames","default","index","LsChip","Chip","withStyles","cashOut","empty","full","zodiac","cashIn","colorPicker","percent","cashboxStyles","cashbox","emptyPart","fullPart","gridStyles","row","innerRow","col2","noMarginText","chip","cashboxClasses","gridClasses","Cashbox","toFixed","CashOut","capacity","denomination","currency","notes","col","namespaces","mapKeys","fn","obj","filterByKey","stripl","q","str","fromNamespace","config","stripped","filtered","toNamespace","grid","footer","modalTitle","subtitle","deleteButton","addressRow","modal","infoPanelWrapper","infoPanelHeight","panelContent","small","xl","Modal","infoPanel","handleClose","secondaryModal","closeOnEscape","closeOnBackdropClick","TitleCase","closeSize","reason","BlackListModal","selectedCoin","addToBlacklist","errorMsg","address","trim","resetForm","startsWith","handleAddToBlacklist","autoComplete","BTC","ETH","LTC","DASH","ZEC","BCH","doubleHeader","thDoubleLevel","verticalAlign","cellDoubleLevel","td","tdHeader","trError","mainContent","cardContentRoot","card","actionCol","errorContent","Table","THead","TDoubleLevelHead","TBody","Td","Th","ThDoubleLevel","Tr","errorMessage","cardClasses","tr","Card","CardContent","SvgClosed","SvgOpen","expandButton","rowWrapper","expanded","before","paddingTop","after","paddingBottom","pointer","body","table","Row","elements","Details","expandRow","expWidth","expandable","hasPointer","trClasses","view","toString","DataTable","initialExpanded","loading","emptyText","setExpanded","useEffect","coreWidth","CellMeasurerCache","defaultHeight","fixedWidth","rowRenderer","parent","columnIndex","rowIndex","disableWidth","rowCount","rowHeight","overscanRowCount","deferredMeasurementCache","SvgCopy","tableWrapper","overflowX","dateColumn","levelColumn","fillColumn","shareButton","shareIcon","buttonsWrapper","cpcStyles","lineBreak","buttonWrapper","detailsRowStyles","idCardDataCard","labelStyles","mainStyles","baseStyles","headerLabels","overflowTd","textOverflow","CopyToClipboard","buttonClassname","setTimeout","text","handleClick","SvgEnabled","BlacklistTable","handleDeleteEntry","dataToShow","groupByCode","cryptoCode","DELETE_ROW","GET_BLACKLIST","GET_INFO","ADD_ROW","Blacklist","blacklistResponse","configData","showModal","setShowModal","clickedItem","setClickedItem","setErrorMsg","refetchQueries","deleteEntry","addEntry","saveConfig","blacklistData","availableCurrencies","formattedData","complianceConfig","rejectAddressReuse","a","duplicateKeyError","some","includes","Grid","container","mb","mr","rawConfig","addressReuseSave","PromptWhenDirty","formik","when","dirty","submitCount","React","createContext","useContext","TableCtx","enableEdit","editWidth","enableDelete","deleteWidth","enableToggle","toggleWidth","DEFAULT_COL_SIZE","mapElement","toSHeader","noSHeader","groupSecondHeader","innerElements","HeaderElement","mask","SvgDisabled","patternUnits","patternTransform","SvgStripes","saveButton","lastOfGroup","extraPadding","extraPaddingRight","withSuffix","ActionCol","editing","submitForm","onEdit","disableRowEdit","onToggle","forceAdd","clearError","actionColSize","disableEdit","editButton","ECol","focus","bypassField","editable","SuffixComponent","inputProps","innerProps","isEditing","isField","ERow","rowSize","stripeWhen","toStripe","noStripe","groupStriped","extraPaddingIndex","extraPaddingRightIndex","elementToFocusIndex","findIndex","touchedErrors","hasErrors","join","addLink","outerHeader","getWidth","ETable","titleLg","save","externalError","enableCreate","outerEditWidth","forceDisable","disableAdd","setEditing","shouldOverrideEdit","editOverride","groupBy","sortBy","createText","editingId","setEditingId","adding","setAdding","saving","setSaving","setError","innerSave","cast","list","onReset","addField","widthIfEditNull","ACTION_COL_SIZE","showButtonOnEmpty","canAdd","showTable","innerData","ctxValue","AddButton","v4","nextElement","canGroup","groupFunction","isLastOfGroup","enableReinitialize","NamespacedTable","denomiations","AUD","5","10","20","50","100","BBD","2","CAD","CHF","200","1000","DKK","500","EUR","GBP","HKD","HUF","2000","5000","10000","20000","ILS","JMD","JPY","KZT","MXN","MYR","1","NZD","PHP","PLN","SGD","TWD","UAH","USD","VND","50000","100000","200000","500000","ZAR","SvgCashOut","modalContent","innerContent","titleDecorator","WizardSplash","onContinue","stages","stage","separator","separatorSpring","separatorZodiac","separatorSpringEmpty","separatorZodiacEmpty","currentStep","Error","separatorClasses","separatorEmptyClasses","titleDiv","edit","bill","billInput","float","picker","thirdStepHeader","stepImage","disclaimer","disclaimerIcon","WizardStep","schema","lastStep","fiatCurrency","cassetesArtworks","cassetteOne","cassetteTwo","alt","src","zeroConfLimit","currencyMax","DenominationsSchema","min","getElements","stripe","getOptions","locale","Wizard","setState","denominations","isLastStep","newConfig","fudgeFactor","switchLabel","Cashout","SCREEN_KEY","wizard","setWizard","accounts","fudgeFactorActive","isValidSync","namespaced","extraMarginTop","Subtitle","section","sectionHeader","sectionTitle","Section","SvgCashIn","ALL_MACHINES","ALL_COINS","cashInAndOutHeaderStyle","cashInHeader","cashOutHeader","getView","compare","displayCodeArray","onCryptoChange","curr","setValue","hasAllCoins","hadAllCoins","mainFields","overrides","auxData","auxElements","getData","machineData","concat","rawCryptos","cryptoData","getOverridesFields","percentMax","fixedFee","minimumTx","getOverridesSchema","rawData","nullable","cryptoCurrencies","test","alreadyUsed","getCrypto","getMachineId","filteredOverrides","originalValue","originalCryptos","originalMachineId","getAlreadyUsed","isAllMachines","isAllCoins","createError","repeated","codes","machineView","defaults","overridesDefaults","getOrder","GET_DATA","Commissions","isEditingDefault","setEditingDefault","isEditingOverrides","setEditingOverrides","commission","commissionOverrides","orderedCommissionsOverrides","commissions","warning","success","neutral","backgroundColors","Status","status","MainStatus","statuses","mainStatus","s","plus","propertyCardStyles","label1Pending","label1Rejected","label1Accepted","cardActionButton","propertyCardTopRow","propertyCardBottomRow","propertyCard","boxSizing","rowSpaceBetween","flexFlow","columnSpaceBetween","OVERRIDE_PENDING","OVERRIDE_AUTHORIZED","OVERRIDE_REJECTED","PropertyCard","authorize","reject","label1ClassNames","authorized","elevation","AuthorizeIcon","AuthorizeReversedIcon","RejectIcon","RejectReversedIcon","labelLink","breadcrumbs","actionLabel","customerDetails","image","objectFit","popupImage","popupWidth","popupHeight","ImagePopper","popperAnchorEl","setPopperAnchorEl","popperOpen","Image","ZoomIcon","ZoomIconInverse","SvgCrossedCamera","Field","complianceDetailsGrid","firstColumn","lastColumn","photoWrapper","Photo","show","ComplianceDetails","customer","updateCustomer","sanctions","sanctionsDisplay","customerData","idCardPhotoOverride","idCardPhotoPath","frontCameraOverride","frontCameraPath","usSsnOverride","usSsn","sanctionsOverride","column","textInput","fontStretch","fontStyle","letterSpacing","txId","txClassIconLeft","txClassIconRight","photo","img","customerName","idIcon","subpageButton","getAuthorizedStatus","authorizedOverride","daysSuspended","getFormattedPhone","phone","country","phoneNumber","parsePhoneNumberFromString","formatInternational","getName","idData","FrontCameraPhoto","CustomerDetails","setShowCompliance","LawIcon","LawIconInverse","mt","ifNotNull","valueIfNotNull","IdDataCard","rawExpirationDate","rawDob","moment","utc","format","diff","idCardDataOverride","CRYPTO_CURRENCIES","unitScale","toUnit","cryptoAtoms","coin","getCryptoCurrency","shiftedBy","formatCryptoAddress","replace","TransactionsList","LastTxIcon","lastTxClass","TxOutIcon","TxInIcon","hasData","summaryElements","totalTxs","Number","parseInt","totalSpent","parseFloat","lastTxFiatCode","lastActive","lastTxFiat","tableElements","txClass","fiat","fiatCode","BigNumber","toFormat","created","GET_CUSTOMER","SET_CUSTOMER","CustomerProfile","showCompliance","customerId","useParams","customerResponse","getCustomer","refetch","setCustomer","customerInput","rawTransactions","sortedTransactions","blocked","Breadcrumbs","aria-label","BlockIcon","BlockReversedIcon","CustomersList","hasLastTx","lastIcon","GET_CUSTOMERS","Customers","customersResponse","customersData","colorIndicator","TableLabel","main","firstSide","secondSide","coinTotal","leftSpacer","topSpacer","addressWrapper","itemWrapper","inactiveItem","firstItem","total","totalPending","totalTitle","tableLabel","pending","copyToClipboard","sizes","GET_FUNDING","sumReducer","acc","formatNumber","Funding","selected","setSelected","viewHistory","fundingHistory","cryptoAmount","balance","fiatValue","date","Date","performedBy","fundingResponse","funding","pendingTotal","fiatPending","reduce","signIfPositive","num","itemClass","wrapperClass","fiatConfirmedBalance","confirmedBalance","getConfirmedTotal","formatAddress","fundingAddress","fundingAddressUrl","isDefined","face","long","token","BTCWalletId","BTCWalletPassphrase","is","then","LTCWalletId","LTCWalletPassphrase","ZECWalletId","ZECWalletPassphrase","BCHWalletId","BCHWalletPassphrase","DASHWalletId","DASHWalletPassphrase","environment","matches","clientId","secret","confidenceFactor","integer","positive","apiKey","apiSecret","endpoint","userId","walletId","clientKey","clientSecret","privateKey","domain","fromEmail","email","toEmail","accountSid","authToken","fromNumber","toNumber","bitgo","bitstamp","blockcypher","infura","itbit","kraken","mailgun","twilio","SvgIconBitcoinColour","SvgIconBitcoincashColour","SvgIconDashColour","SvgIconEthereumColour","preserveAspectRatio","SvgIconLitecoinColour","SvgIconZcashColour","Logo","BitcoinLogo","BitcoinCashLogo","DashLogo","EthereumLogo","LitecoinLogo","ZCashLogo","getLogo","FormRenderer","buttonLabel","buttonClass","xs","radioGroup","radioLabel","radio","setupNew","initialState","isNew","iError","reducer","innerError","unfilled","getValue","useReducer","dispatch","innerContinue","account","subtitleClass","filterConfig","crypto","sameClass","contains","getItems","accountsConfig","fConfig","accountsToSave","tickers","wallets","exchanges","zeroConfs","stepConfig","stepAccount","newAccounts","getStepData","filterClass","class","filterCoins","cryptos","WalletSchema","ticker","wallet","exchange","zeroConf","widthAdjust","viewCryptoCurrency","getDisplayName","getFields","names","allFields","overridenMachines","override","suggestionFilter","countryData","currencyData","languageData","findSuggestion","configureCoin","LocaleSchema","languages","OverridesSchema","localeDefaults","rightAligned","rightLink","FiatCurrencyChangeAlert","Locales","onChangeFunction","setOnChangeFunction","dataToSave","setDataToSave","localeOverrides","onChangeCoin","locale_fiatCurrency","o","userAccounts","SvgDownloadLogs","SvgMonthChange","SvgMonthChangeRight","lowerBound","upperBound","between","Tile","isLowerBound","isUpperBound","isBetween","isDisabled","rangeClasses","buttonWrapperClasses","buttonClasses","navbar","borderCollapse","Calendar","minDate","maxDate","handleSelect","currentDisplayedMonth","setCurrentDisplayedMonth","weekdays","weekdaysMin","day","monthdays","month","lastMonth","subtract","lastMonthRange","startOf","weekday","reverse","lastMonthDays","endOf","thisMonthRange","monthLength","thisMonthDays","add","nextMonth","nextMonthRange","nextMonthDays","currentMonth","prevMonth","isSameOrAfter","handleNavPrev","isSameOrBefore","handleNavNext","getRow","isAfter","isBefore","isSame","DateRangePicker","onRangeChange","setFrom","setTo","dateContainerStyles","monthWeekDayContainer","bigNumber","monthYear","weekDay","dateContainerUseStyles","DateContainer","popoverHeader","radioButtonsContainer","radioButtons","dateRangePickerShowing","dateRangePickerHidden","download","dateContainerWrapper","arrowContainer","ALL","RANGE","LogsDownloaderPopover","args","getLogs","selectedRadio","setSelectedRadio","until","range","setRange","useLazyQuery","createLogsFile","fetchLogs","dateRangePickerClasses","handleRangeChange","useCallback","logs","formatDateFile","blob","window","Blob","FileSaver","saveAs","radioButtonOptions","Download","DownloadInverseIcon","variant","downloadLogs","tableLayout","borderSpacing","TableBody","alignRight","TableCell","colspan","rightAlign","colSpan","TableHead","th","TableHeaderCell","lg","sm","TableRow","classnamesObj","GET_MACHINE_LOGS_CSV","GET_MACHINE_LOGS","Logs","saveMessage","setSaveMessage","machineResponse","logsResponse","skip","TableHeader","machineLogs","timestamp","logLevel","ValidationSchema","cassette1","cassette2","GET_MACHINES_AND_CONFIG","RESET_CASHOUT_BILLS","CashCassettes","resetCashOut","cashout","getCashoutSettings","isCashOutDisabled","ry","SvgPumpkin","dialogContent","dialogTitle","dialogActions","DialogTitle","ConfirmDialog","toBeConfirmed","saveButtonAlwaysEnabled","confirmationMessage","onConfirmed","onDissmised","initialValue","isOnErrorState","split","DialogActions","machineDetailsStyles","colDivider","inlineChip","marginInlineEnd","stack","divider","MACHINE_ACTION","MACHINE","supportArtices","article","useLStyles","Label","useMDStyles","Container","Item","MachineDetailsRow","onActionSuccess","command","setAction","setErrorMessage","warningMessage","machineEventsLazy","machineState","JSON","parse","latestEvent","note","getState","fetchMachineEvents","loadingEvents","machineAction","confirmDialogOpen","Divider","orientation","flexItem","newName","model","pairedAt","EditIcon","EditReversedIcon","UnpairIcon","UnpairReversedIcon","RebootIcon","RebootReversedIcon","ShutdownIcon","ShutdownReversedIcon","MachineStatus","addedMachineId","machinesResponse","lastPing","fromNow","version","expandedIndex","isValidNumber","NaN","transformNumber","flexShrink","editingButtons","fieldWrapper","valueWrapper","decoration","EditableNumber","displayValue","SingleFieldEditableNumber","NotificationsCtx","LOW_BALANCE_KEY","HIGH_BALANCE_KEY","cryptoBalanceAlerts","cryptoBalanceAlertsForm","cryptoBalanceAlertsSecondForm","vertSeparator","CryptoBalanceAlerts","fieldWidth","CRYPTOCURRENCY_KEY","NAME","CryptoBalanceOverrides","setupValues","cryptoBalanceOverrides","overridenCryptos","suggestions","cryptoCurrency","newOverrides","first","gridTemplateColumns","gridTemplateRows","gridColumnGap","gridRowGap","FiatBalance","MAX_SAFE_INTEGER","fiatBalanceCassette1","fiatBalanceCassette2","fiatBalanceCassette1Percent","fiatBalanceCassette2Percent","CASSETTE_1_KEY","CASSETTE_2_KEY","MACHINE_KEY","FiatBalanceOverrides","fiatBalanceOverrides","notesMax","transactions","compliance","namespace","rawSave","Cell","mainTable","wizardTable","Setup","TransactionAlerts","Notifications","displaySetup","displayTransactionAlerts","displayFiatAlerts","displayCryptoAlerts","displayOverrides","displayTitle","setSection","editingKey","setEditingKey","contextValue","FiatBalanceAlerts","rowTextAndSwitch","GET_CONFIG","CoinATMRadar","coinAtmRadarConfig","limitsAndVerification","createMuiTheme","typography","body1","MuiButtonBase","light","dark","MuiRadio","colorSecondary","MuiAutocomplete","noOptions","paper","listbox","tag","MuiChip","MuiInput","MuiInputLabel","font","MuiFormLabel","switchRow","switch","singleButton","contactInfoStyles","infoMessage","radioButtonsRow","termsConditionsStyles","enable","fieldStyles","notEditing","fieldUseStyles","globalStyles","contactUseStyles","ContactInfo","info","website","companyNumber","fields","findField","findValue","displayTextValue","SvgFalse","SvgTrue","booleanPropertiesTableStyles","booleanPropertiesTableWrapper","tableRow","leftTableCell","rightTableCell","BooleanCell","BooleanPropertiesTable","forcedEditing","_","fromPairs","schemaValidation","switchWrapper","ReceiptPrinting","receiptPrintingConfig","useFieldStyles","notEditingSingleLine","notEditingMultiline","wordWrap","multiline","rows","multiLineText","rowsMax","useTermsConditionsStyles","TermsConditions","termsAndConditions","formData","showOnScreen","acceptButtonText","cancelButtonText","f","running","notRunning","uptimeContainer","useChipStyles","Uptime","time","uptime","floor","localStyles","serverTableWrapper","logsStyles","serverVersion","headerLine2","SHOW_ALL","GET_CSV","tableEl","useRef","setLogLevel","processStates","getLogLevels","serverLogs","current","scrollTo","head","SingleRowTable","SAVE_ACCOUNT","Services","editingSchema","setEditingSchema","saveAccount","faceElements","schemas","editMessage","secondRow","lastRow","txIcon","direction","availableIds","exchangeRate","transactionId","sessionId","getStatus","hasError","dispense","expired","getCashOutStatus","operatorCompleted","sendConfirmed","getCashInStatus","DetailsRow","tx","commissionPercentage","displayExRate","customerIdCardData","firstName","lastName","age","dateOfBirth","idCardNumber","documentNumber","idCardExpirationDate","expirationDate","customerPhone","PhoneIdIcon","PhoneIdInverseIcon","customerIdCardPhotoPath","CardIdIcon","CardIdInverseIcon","idCardPhoto","customerFrontCameraPath","CamIdIcon","CamIdInverseIcon","cashInFee","toAddress","txHash","next","GET_TRANSACTIONS_CSV","GET_TRANSACTIONS","Transactions","txResponse","formatCustomerName","specialLabel","specialGrid","directionIcon","directionName","thresholdWrapper","thresholdField","space","lastSpace","suspensionDays","limitedInput","daysInput","triggerType","threshold","thresholdDays","val","requirement","otherwise","Schema","typeSchema","typeOptions","typeClass","containsType","isThresholdEnabled","isThresholdDaysEnabled","requirementSchema","requirementOptions","requirements","titleClass","isSuspend","RequirementInput","RequirementView","DisplayThreshold","isEdit","Threshold","ThresholdDays","ThresholdInput","ThresholdView","triggerOrder","b","toServer","triggers","rest","stepper","infoTitle","infoCurrentText","getText","getTypeText","getRequirementText","orUnderline","InfoPanel","liveValues","oldText","newText","GetValues","setValues","setLiveValues","stepOptions","Fragment","getStep","tableRadioGroup","tableRadioLabel","tableWidth","Triggers","fromServer","toSave","Wallet","previous","doContinue","getConfiguredCoins","InfoMessage","mdForm","formButton","SAVE_ACCOUNTS","Twilio","saveAccounts","titleClasses","AllSet","currentData","withCoin","Blockcypher","addData","ChooseCoin","isConfigurable","ChooseExchange","ChooseTicker","singleBitgo","ChooseWallet","saveWallet","setData","mySteps","welcome","getStarted","Welcome","getWizardStep","coins","hasValidWallet","hasValidLocale","CommissionsSchema","hasValidCommissions","STEPS","exImage","Locale","drawer","flexGrow","smallWrapper","Footer","start","fullExample","setFullExample","wrapperClassNames","Drawer","anchor","paperAnchorDockedBottom","justify","welcomeBackground","backgroundSize","blurred","pointerEvents","setWizardTested","AppContext","footerExp","setFooterExp","wizardStep","shouldGoBack","goBack","isWelcome","MachineLogs","ServerLogs","WalletSettings","CoinAtmRadar","mappedRoutes","parentRoutes","leafRoutes","flattened","Routes","wizardTested","Transition","Slide","Fade","transitionProps","timeout","exact","Page","in","matchPath","mountOnEnter","unmountOnExit","html","jss","plugins","extendJss","jssPreset","global","contentWithSidebar","contentWithoutSidebar","Main","hasSidebar","getParent","is404","contentClassName","App","StylesProvider","CssBaseline","hostname","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.c5b482a9.chunk.js","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/zodiac/complete\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n stroke: \"#1B2559\",\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12\",\n id: \"Path\",\n fill: \"#1B2559\"\n}));\n\nfunction SvgComplete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgComplete);\nexport default __webpack_public_path__ + \"static/media/complete.99ba27f3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/zodiac/current\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy\",\n fill: \"#1B2559\",\n cx: 9,\n cy: 9,\n r: 4\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-5\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgCurrent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCurrent);\nexport default __webpack_public_path__ + \"static/media/current.68045777.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/zodiac/empty\",\n stroke: \"none\",\n strokeWidth: 2,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-6\",\n stroke: \"#5F668A\",\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgEmpty(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmpty);\nexport default __webpack_public_path__ + \"static/media/empty.631601f2.svg\";\nexport { ForwardRef as ReactComponent };","const version = 9\n\n// Primary\nconst zodiac = '#1b2559'\nconst spring = '#48f694'\n\n// Secondary\nconst comet = '#5f668a'\nconst comet2 = '#72799d'\nconst spring2 = '#44e188'\nconst spring3 = '#ecfbef'\nconst spring4 = '#3fd07e'\nconst zircon = '#ebefff'\nconst zircon2 = '#dbdfed'\n\n// Cash-in/cash-out\nconst java = '#16d6d3'\nconst neon = '#5a67ff'\n\n// Neutral\nconst dust = '#dddddd'\nconst concrete = '#f2f2f2'\nconst ghost = '#fafbff'\nconst white = '#ffffff'\n\n// Error\nconst tomato = '#ff584a'\nconst mistyRose = '#ffeceb'\nconst pumpkin = '#ff7311'\nconst linen = '#fbf3ec'\n\n// Color Variables\nconst primaryColor = zodiac\n\nconst secondaryColor = spring\nconst secondaryColorDark = spring2\nconst secondaryColorDarker = spring4\nconst secondaryColorLighter = spring3\n\nconst backgroundColor = ghost\nconst subheaderColor = zircon\nconst subheaderDarkColor = zircon2\nconst disabledColor = dust\nconst disabledColor2 = concrete\nconst fontColor = primaryColor\nconst offColor = comet\nconst offDarkColor = comet2\nconst placeholderColor = comet\nconst errorColor = tomato\nconst offErrorColor = mistyRose\nconst inputBorderColor = primaryColor\n\n// General\nconst spacer = 8\nconst mainWidth = 1200\n\n// Buttons\nconst linkPrimaryColor = secondaryColor\nconst linkSecondaryColor = tomato\n\n// Fonts\nconst fontPrimary = 'Mont'\nconst fontSecondary = 'MuseoSans'\nconst fontMonospaced = 'BPmono'\n\nlet fontSize1 = 24\nlet fontSize2 = 20\nlet fontSize3 = 16\nlet fontSize4 = 14\nlet fontSize5 = 13\n\nif (version === 8) {\n fontSize1 = 32\n fontSize2 = 24\n fontSize3 = 20\n fontSize4 = 16\n fontSize5 = 14\n}\n\nconst smallestFontSize = fontSize5\nconst inputFontSizeSm = fontSize4\nconst inputFontSize = fontSize3\nconst inputFontSizeLg = fontSize1\nconst inputFontWeight = 500\nconst inputFontWeightBold = 700\nconst inputFontFamily = fontSecondary\n\n// Breakpoints\nconst sm = 576\nconst md = 768\nconst lg = 992\nconst xl = 1200\nconst xxl = 1440\n\n// Table\nlet tableHeaderHeight = spacer * 4\nlet tableCellHeight = spacer * 6\n\nif (version === 8) {\n tableHeaderHeight = spacer * 5\n tableCellHeight = spacer * 7 - 2\n}\n\nconst tableDoubleHeaderHeight = tableHeaderHeight * 2\n\nconst tableSmCellHeight = 30\nconst tableLgCellHeight = 76\n\nconst tableHeaderColor = primaryColor\nconst tableDisabledHeaderColor = zircon\nconst tableNewDisabledHeaderColor = spring3\nconst tableCellColor = white\nconst tableErrorColor = mistyRose\nconst tableSuccessColor = spring3\n\nexport {\n version,\n // colors\n white,\n zircon,\n zircon2,\n comet,\n spring2,\n spring3,\n spring4,\n tomato,\n pumpkin,\n mistyRose,\n java,\n neon,\n linen,\n // named colors\n primaryColor,\n secondaryColor,\n secondaryColorDark,\n secondaryColorDarker,\n secondaryColorLighter,\n subheaderColor,\n subheaderDarkColor,\n backgroundColor,\n placeholderColor,\n offColor,\n offDarkColor,\n fontColor,\n disabledColor,\n disabledColor2,\n linkPrimaryColor,\n linkSecondaryColor,\n errorColor,\n offErrorColor,\n inputBorderColor,\n // font sizes\n fontSize1,\n fontSize2,\n fontSize3,\n fontSize4,\n fontSize5,\n fontPrimary,\n fontSecondary,\n fontMonospaced,\n // named font sizes\n smallestFontSize,\n inputFontSize,\n inputFontSizeSm,\n inputFontSizeLg,\n inputFontFamily,\n inputFontWeight,\n inputFontWeightBold,\n // screen sizes\n sm,\n md,\n lg,\n xl,\n xxl,\n // sizes\n spacer,\n mainWidth,\n // table sizes\n tableHeaderHeight,\n tableDoubleHeaderHeight,\n tableCellHeight,\n tableSmCellHeight,\n tableLgCellHeight,\n tableHeaderColor,\n tableDisabledHeaderColor,\n tableNewDisabledHeaderColor,\n tableCellColor,\n tableErrorColor,\n tableSuccessColor\n}\n","import {\n inputFontSize,\n inputFontSizeLg,\n inputFontSizeSm,\n inputFontWeightBold\n} from './variables'\n\nconst respondTo = breakpoint =>\n `@media only screen and (max-width: ${breakpoint})`\n\nconst bySize = size => {\n switch (size) {\n case 'sm':\n return { fontSize: inputFontSizeSm }\n case 'lg':\n return { fontSize: inputFontSizeLg, fontWeight: inputFontWeightBold }\n default:\n return { fontSize: inputFontSize }\n }\n}\n\nconst bold = {\n fontWeight: inputFontWeightBold\n}\n\nexport { respondTo, bySize, bold }\n","import {\n fontColor,\n fontSize1,\n fontSize2,\n fontSize3,\n fontSize4,\n fontSize5,\n fontPrimary,\n fontSecondary,\n fontMonospaced\n} from 'src/styling/variables'\n\nconst base = {\n lineHeight: '120%',\n color: fontColor\n}\n\nexport default {\n h1: {\n extend: base,\n fontSize: fontSize1,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n h2: {\n extend: base,\n fontSize: fontSize2,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n h3: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n h4: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontPrimary,\n fontWeight: 700\n },\n h5: {\n extend: base,\n fontSize: fontSize3,\n fontFamily: fontPrimary,\n fontWeight: 700\n },\n p: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 500\n },\n tl1: {\n extend: base,\n fontSize: fontSize2,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n tl2: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n info1: {\n extend: base,\n fontSize: fontSize1,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n info2: {\n extend: base,\n fontSize: fontSize3,\n fontFamily: fontSecondary,\n fontWeight: 700\n },\n info3: {\n extend: base,\n fontSize: fontSize3,\n fontFamily: fontSecondary,\n fontWeight: 500\n },\n mono: {\n extend: base,\n fontSize: fontSize4,\n fontFamily: fontMonospaced,\n fontWeight: 500\n },\n monoBold: {\n fontWeight: 700\n },\n monoSmall: {\n fontSize: fontSize5\n },\n inputFont: {\n fontSize: fontSize2,\n fontFamily: fontSecondary,\n fontWeight: 500,\n lineHeight: '110%',\n color: fontColor\n },\n regularLabel: {\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 500,\n lineHeight: '110%'\n },\n label1: {\n fontSize: fontSize5,\n fontFamily: fontSecondary,\n fontWeight: 500,\n color: fontColor\n },\n label2: {\n fontSize: fontSize5,\n fontFamily: fontSecondary,\n fontWeight: 700,\n color: fontColor\n },\n label3: {\n fontSize: fontSize4,\n fontFamily: fontSecondary,\n fontWeight: 500,\n color: fontColor\n },\n inline: {\n display: 'inline'\n },\n noMargin: {\n margin: 0\n }\n}\n","import typographyStyles from 'src/components/typography/styles'\nimport { respondTo } from 'src/styling/helpers'\nimport {\n primaryColor,\n spacer,\n placeholderColor,\n zircon,\n xxl\n} from 'src/styling/variables'\n\nconst { tl2, p } = typographyStyles\n\nconst sidebarColor = zircon\n\nexport default {\n sidebar: {\n display: 'flex',\n backgroundColor: sidebarColor,\n width: 520,\n marginLeft: -300,\n boxShadow: `-500px 0px 0px 0px ${sidebarColor}`,\n borderRadius: '0 20px 0 0',\n alignItems: 'flex-end',\n padding: spacer * 3,\n flexDirection: 'column',\n [respondTo(xxl)]: {\n width: 'auto',\n marginLeft: 0,\n minWidth: 250,\n boxShadow: `-200px 0px 0px 0px ${sidebarColor}`\n }\n },\n\n link: {\n extend: p,\n position: 'relative',\n color: placeholderColor,\n margin: '12px 24px 12px 0',\n cursor: 'pointer',\n '&:hover::after': {\n height: '140%'\n },\n '&:after': {\n content: '\"\"',\n display: 'block',\n background: primaryColor,\n width: 4,\n height: 0,\n left: '100%',\n marginLeft: 20,\n bottom: -2,\n position: 'absolute',\n borderRadius: 1000,\n transition: 'all 0.2s cubic-bezier(0.95, 0.1, 0.45, 0.94)'\n }\n },\n activeLink: {\n extend: tl2,\n color: primaryColor,\n '&::after': {\n height: '140%'\n }\n },\n customRenderLink: {\n '&:hover::after': {\n height: '100%'\n },\n '&:after': {\n bottom: 0\n }\n },\n customRenderActiveLink: {\n '&::after': {\n height: '100%'\n }\n },\n item: {\n position: 'relative',\n margin: '12px 0 12px 0',\n display: 'flex'\n },\n itemText: {\n extend: p,\n color: placeholderColor,\n marginRight: 24\n },\n itemTextActive: {\n extend: tl2,\n color: primaryColor\n },\n itemTextPast: {\n color: primaryColor\n },\n stepperPath: {\n position: 'absolute',\n height: 25,\n width: 1,\n border: [[1, 'solid', placeholderColor]],\n right: 8,\n top: 18\n },\n stepperPast: {\n border: [[1, 'solid', primaryColor]]\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { ReactComponent as CompleteStageIconZodiac } from 'src/styling/icons/stage/zodiac/complete.svg'\nimport { ReactComponent as CurrentStageIconZodiac } from 'src/styling/icons/stage/zodiac/current.svg'\nimport { ReactComponent as EmptyStageIconZodiac } from 'src/styling/icons/stage/zodiac/empty.svg'\n\nimport styles from './Sidebar.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Sidebar = ({\n data,\n displayName,\n isSelected,\n onClick,\n children,\n itemRender\n}) => {\n const classes = useStyles()\n\n return (\n
\n {data &&\n data.map((it, idx) => (\n onClick(it)}>\n {itemRender ? itemRender(it, isSelected(it)) : displayName(it)}\n
\n ))}\n {children}\n
\n )\n}\n\nexport default Sidebar\n\nconst Stepper = ({ step, it, idx, steps }) => {\n const classes = useStyles()\n const active = step === idx\n const past = idx < step\n const future = idx > step\n\n return (\n
\n \n {it.label}\n \n {active && }\n {past && }\n {future && }\n {idx < steps.length - 1 && (\n
\n )}\n
\n )\n}\n\nexport { Stepper }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/warning-icon/tomato\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n stroke: \"#FF584A\",\n strokeWidth: 2,\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 11\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z\",\n id: \"!\",\n fill: \"#FF584A\",\n fillRule: \"nonzero\"\n})));\n\nfunction SvgTomato(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTomato);\nexport default __webpack_public_path__ + \"static/media/tomato.4b561f6f.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport styles from './styles'\n\nconst useStyles = makeStyles(styles)\n\nfunction H1({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h1]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H2({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h2]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H3({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h3]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H4({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h4]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n

\n {children}\n

\n )\n}\n\nfunction H5({ children, noMargin, className, ...props }) {\n const classes = useStyles()\n const classNames = {\n [classes.h5]: true,\n [classes.noMargin]: noMargin,\n [className]: !!className\n }\n\n return (\n
\n {children}\n
\n )\n}\n\nconst P = pBuilder('p')\nconst Info1 = pBuilder('info1')\nconst Info2 = pBuilder('info2')\nconst Info3 = pBuilder('info3')\nconst Mono = pBuilder('mono')\nconst TL1 = pBuilder('tl1')\nconst TL2 = pBuilder('tl2')\nconst Label1 = pBuilder('label1')\nconst Label2 = pBuilder('label2')\nconst Label3 = pBuilder('label3')\n\nfunction pBuilder(elementClass) {\n return ({ inline, noMargin, className, children, ...props }) => {\n const classes = useStyles()\n const classNames = {\n [className]: !!className,\n [classes[elementClass]]: elementClass,\n [classes.inline]: inline,\n [classes.noMargin]: noMargin\n }\n return (\n

\n {children}\n

\n )\n }\n}\n\nexport {\n H1,\n H2,\n H3,\n H4,\n H5,\n TL1,\n TL2,\n P,\n Info1,\n Info2,\n Info3,\n Mono,\n Label1,\n Label2,\n Label3\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { ReactComponent as ErrorIcon } from 'src/styling/icons/warning-icon/tomato.svg'\nimport { errorColor } from 'src/styling/variables'\n\nimport { Info3 } from './typography'\n\nconst styles = {\n wrapper: {\n display: 'flex',\n alignItems: 'center',\n '& > svg': {\n marginRight: 10\n }\n },\n message: {\n display: 'flex',\n alignItems: 'center',\n color: errorColor,\n margin: 0,\n whiteSpace: 'break-spaces'\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst ErrorMessage = ({ className, children, ...props }) => {\n const classes = useStyles()\n\n return (\n
\n \n {children}\n
\n )\n}\n\nexport default ErrorMessage\n","import { makeStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport { spacer } from 'src/styling/variables'\n\nimport { H1 } from './typography'\n\nconst useStyles = makeStyles({\n title: {\n marginTop: spacer * 3,\n marginBottom: spacer * 3\n }\n})\n\nconst Title = memo(({ children }) => {\n const classes = useStyles()\n return

{children}

\n})\n\nexport default Title\n","import { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Title from 'src/components/Title'\nimport { Label1 } from 'src/components/typography'\n\nimport styles from './TitleSection.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst TitleSection = ({ className, title, error, labels, children }) => {\n const classes = useStyles()\n return (\n
\n
\n {title}\n {error && (\n Failed to save\n )}\n
\n \n {(labels ?? []).map(({ icon, label }, idx) => (\n \n
{icon}
\n {label}\n
\n ))}\n
\n {children}\n
\n )\n}\n\nexport default TitleSection\n","export default {\n titleWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n },\n titleAndButtonsContainer: {\n display: 'flex'\n },\n error: {\n marginLeft: 12\n },\n icon: {\n marginRight: 6\n },\n label: {\n marginRight: 24\n }\n}\n","import { ApolloProvider } from '@apollo/react-hooks'\nimport { InMemoryCache } from 'apollo-cache-inmemory'\nimport { ApolloClient } from 'apollo-client'\nimport { ApolloLink } from 'apollo-link'\nimport { onError } from 'apollo-link-error'\nimport { HttpLink } from 'apollo-link-http'\nimport React from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\n\nconst URI =\n process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : ''\n\nconst getClient = (history, location) =>\n new ApolloClient({\n link: ApolloLink.from([\n onError(({ graphQLErrors, networkError }) => {\n if (graphQLErrors)\n graphQLErrors.forEach(({ message, locations, path, extensions }) => {\n if (extensions?.code === 'UNAUTHENTICATED') {\n if (location.pathname !== '/404') history.push('/404')\n }\n console.log(\n `[GraphQL error]: Message: ${message}, Location: ${locations}, Path: ${path}`\n )\n })\n if (networkError) console.log(`[Network error]: ${networkError}`)\n }),\n new HttpLink({\n credentials: 'include',\n uri: `${URI}/graphql`\n })\n ]),\n cache: new InMemoryCache(),\n defaultOptions: {\n watchQuery: {\n fetchPolicy: 'no-cache',\n errorPolicy: 'ignore'\n },\n query: {\n fetchPolicy: 'no-cache',\n errorPolicy: 'all'\n },\n mutate: {\n errorPolicy: 'all'\n }\n }\n })\n\nconst Provider = ({ children }) => {\n const history = useHistory()\n const location = useLocation()\n const client = getClient(history, location)\n return {children}\n}\n\nexport default Provider\nexport { URI }\n","import typographyStyles from 'src/components/typography/styles'\nimport {\n white,\n fontColor,\n subheaderColor,\n subheaderDarkColor,\n offColor,\n offDarkColor\n} from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nconst colors = (color1, color2, color3) => {\n return {\n backgroundColor: color1,\n '&:hover': {\n backgroundColor: color2\n },\n '&:active': {\n backgroundColor: color3\n }\n }\n}\n\nexport default {\n actionButton: {\n extend: p,\n cursor: 'pointer',\n border: 'none',\n height: 28,\n outline: 0,\n borderRadius: 6,\n padding: '0 8px',\n display: 'flex',\n alignItems: 'center'\n },\n primary: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor),\n '&:active': {\n color: white,\n '& $actionButtonIcon': {\n display: 'none'\n },\n '& $actionButtonIconActive': {\n display: 'flex'\n }\n },\n '& $actionButtonIconActive': {\n display: 'none'\n }\n },\n secondary: {\n extend: colors(offColor, offDarkColor, white),\n color: white,\n '&:active': {\n color: fontColor,\n '& $actionButtonIcon': {\n display: 'flex'\n },\n '& $actionButtonIconActive': {\n display: 'none'\n }\n },\n '& $actionButtonIcon': {\n display: 'none'\n },\n '& $actionButtonIconActive': {\n display: 'flex'\n }\n },\n actionButtonIcon: {\n display: 'flex',\n paddingRight: 7,\n '@global': {\n svg: {\n width: 14,\n height: 14\n }\n }\n },\n actionButtonIconActive: {}\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport styles from './ActionButton.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst ActionButton = memo(\n ({ className, Icon, InverseIcon, color, children, ...props }) => {\n const classes = useStyles()\n const classNames = {\n [classes.actionButton]: true,\n [classes.primary]: color === 'primary',\n [classes.secondary]: color === 'secondary'\n }\n\n return (\n
\n )}\n {children &&
{children}
}\n \n )\n }\n)\n\nexport default ActionButton\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/add/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 3.69230769,\n x2: 6,\n y2: 8.30769231,\n id: \"Stroke-3\",\n stroke: \"#1B2559\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.69230769,\n y1: 6,\n x2: 8.30769231,\n y2: 6,\n id: \"Stroke-5\",\n stroke: \"#1B2559\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.a976fef2.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport { ReactComponent as AddIcon } from 'src/styling/icons/button/add/zodiac.svg'\nimport { zircon, zircon2, comet, fontColor, white } from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nconst styles = {\n button: {\n extend: p,\n border: 'none',\n backgroundColor: zircon,\n cursor: 'pointer',\n outline: 0,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 167,\n height: 48,\n color: fontColor,\n '&:hover': {\n backgroundColor: zircon2\n },\n '&:active': {\n backgroundColor: comet,\n color: white,\n '& svg g *': {\n stroke: white\n }\n },\n '& svg': {\n marginRight: 8\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst SimpleButton = memo(({ className, children, ...props }) => {\n const classes = useStyles()\n\n return (\n \n )\n})\n\nexport default SimpleButton\n","import typographyStyles from 'src/components/typography/styles'\nimport {\n white,\n disabledColor,\n secondaryColor,\n secondaryColorDark,\n secondaryColorDarker,\n spacer\n} from 'src/styling/variables'\n\nconst { h1, h3 } = typographyStyles\n\nconst pickSize = size => {\n switch (size) {\n case 'xl':\n return spacer * 7.625\n case 'sm':\n return spacer * 4\n case 'lg':\n default:\n return spacer * 5\n }\n}\n\nexport default {\n wrapper: ({ size }) => {\n const height = pickSize(size)\n const shadowSize = height / 12\n return { height: height + shadowSize / 2 }\n },\n button: ({ size }) => {\n const height = pickSize(size)\n const shadowSize = size === 'xl' ? 3 : height / 12\n const padding = size === 'xl' ? 20 : height / 2\n\n return {\n extend: size === 'xl' ? h1 : h3,\n border: 'none',\n color: white,\n cursor: 'pointer',\n fontWeight: 900,\n outline: 0,\n backgroundColor: secondaryColor,\n '&:disabled': {\n backgroundColor: disabledColor,\n boxShadow: 'none',\n '&:hover': {\n backgroundColor: disabledColor,\n boxShadow: 'none'\n },\n '&:active': {\n marginTop: 0\n }\n },\n shadowSize,\n height,\n padding: `0 ${padding}px`,\n borderRadius: height / 4,\n boxShadow: `0 ${shadowSize}px ${secondaryColorDark}`,\n '&:hover': {\n backgroundColor: secondaryColorDark,\n boxShadow: `0 ${shadowSize}px ${secondaryColorDarker}`\n },\n '&:active': {\n marginTop: shadowSize / 2,\n backgroundColor: secondaryColorDark,\n boxShadow: `0 ${shadowSize / 2}px ${secondaryColorDarker}`\n }\n }\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport styles from './Button.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst ActionButton = memo(({ size = 'lg', children, className, ...props }) => {\n const classes = useStyles({ size })\n return (\n
\n \n
\n )\n})\n\nexport default ActionButton\n","import {\n white,\n fontColor,\n subheaderColor,\n subheaderDarkColor,\n offColor,\n offDarkColor\n} from 'src/styling/variables'\n\nconst colors = (color1, color2, color3) => {\n return {\n backgroundColor: color1,\n '&:hover': {\n backgroundColor: color2\n },\n '&:active': {\n backgroundColor: color3\n }\n }\n}\n\nconst buttonHeight = 32\n\nexport default {\n baseButton: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor),\n cursor: 'pointer',\n border: 'none',\n outline: 0,\n height: buttonHeight,\n color: fontColor,\n '&:active': {\n color: white\n }\n },\n primary: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor),\n '&:active': {\n color: white,\n '& $buttonIcon': {\n display: 'none'\n },\n '& $buttonIconActive': {\n display: 'block'\n }\n },\n '& $buttonIconActive': {\n display: 'none'\n }\n },\n secondary: {\n extend: colors(offColor, offDarkColor, white),\n color: white,\n '&:active': {\n color: fontColor,\n '& $buttonIcon': {\n display: 'flex'\n },\n '& $buttonIconActive': {\n display: 'none'\n }\n },\n '& $buttonIcon': {\n display: 'none'\n },\n '& $buttonIconActive': {\n display: 'flex'\n }\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport baseButtonStyles from './BaseButton.styles'\n\nconst { baseButton, primary } = baseButtonStyles\n\nconst styles = {\n featureButton: {\n extend: baseButton,\n width: baseButton.height,\n borderRadius: baseButton.height / 2,\n display: 'flex',\n padding: 0\n },\n primary,\n buttonIcon: {\n margin: 'auto',\n '& svg': {\n width: 16,\n height: 16,\n overflow: 'visible',\n '& g': {\n strokeWidth: 1.8\n }\n }\n },\n buttonIconActive: {} // required to extend primary\n}\n\nconst useStyles = makeStyles(styles)\n\nconst FeatureButton = memo(\n ({ className, Icon, InverseIcon, children, ...props }) => {\n const classes = useStyles()\n\n const classNames = {\n [classes.featureButton]: true,\n [classes.primary]: true\n }\n\n return (\n \n )\n }\n)\n\nexport default FeatureButton\n","import { makeStyles, Popper as MaterialPopper, Paper } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { white } from 'src/styling/variables'\n\nconst Popover = ({\n children,\n bgColor = white,\n arrowSize = 6,\n className,\n ...props\n}) => {\n const [arrowRef, setArrowRef] = useState(null)\n\n const styles = {\n popover: {\n zIndex: 3000,\n backgroundColor: bgColor,\n borderRadius: 4\n },\n arrow: {\n position: 'absolute',\n fontSize: arrowSize,\n width: '3em',\n height: '3em'\n },\n arrowBottom: {\n top: 0,\n width: 0,\n height: 0,\n borderLeft: [['2em', 'solid', 'transparent']],\n borderRight: [['2em', 'solid', 'transparent']],\n borderBottom: [['2em', 'solid', bgColor]],\n marginTop: '-1.9em',\n '&:after': {\n zIndex: -10,\n content: '\"\"',\n position: 'absolute',\n width: arrowSize * 3,\n height: arrowSize * 3,\n marginLeft: 0,\n bottom: 0,\n top: 'calc(50% - 0px)',\n left: 0,\n border: '5px solid #fff',\n borderColor: 'transparent transparent #fff #fff',\n transformOrigin: '0 0',\n transform: 'rotate(45deg)',\n boxShadow:\n '0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)'\n }\n },\n arrowTop: {\n bottom: 0,\n width: 0,\n height: 0,\n borderLeft: [['2em', 'solid', 'transparent']],\n borderRight: [['2em', 'solid', 'transparent']],\n borderTop: [['2em', 'solid', bgColor]],\n marginBottom: '-1.9em',\n '&:after': {\n zIndex: -10,\n content: '\"\"',\n position: 'absolute',\n width: arrowSize * 3,\n height: arrowSize * 3,\n marginLeft: 0,\n bottom: 0,\n top: -(arrowSize * 4 + 2),\n left: 0,\n border: '5px solid #fff',\n borderColor: 'transparent transparent #fff #fff',\n transformOrigin: '0 0',\n transform: 'rotate(45deg)',\n boxShadow:\n '0px 2px 1px -1px rgba(0,0,0,0.2),0px 1px 1px 0px rgba(0,0,0,0.14),0px 1px 3px 0px rgba(0,0,0,0.12)'\n }\n },\n arrowRight: {\n left: 0,\n width: 0,\n height: 0,\n borderTop: [['2em', 'solid', 'transparent']],\n borderBottom: [['2em', 'solid', 'transparent']],\n borderRight: [['2em', 'solid', bgColor]],\n marginLeft: '-1.9em'\n },\n arrowLeft: {\n right: 0,\n width: 0,\n height: 0,\n borderTop: [['2em', 'solid', 'transparent']],\n borderBottom: [['2em', 'solid', 'transparent']],\n borderLeft: [['2em', 'solid', bgColor]],\n marginRight: '-1.9em'\n },\n root: {\n backgroundColor: bgColor\n }\n }\n\n const useStyles = makeStyles(styles)\n\n const classes = useStyles()\n\n const arrowClasses = {\n [classes.arrow]: true,\n [classes.arrowBottom]: props.placement === 'bottom',\n [classes.arrowTop]: props.placement === 'top',\n [classes.arrowRight]: props.placement === 'right',\n [classes.arrowLeft]: props.placement === 'left'\n }\n\n const modifiers = R.merge(props.modifiers, {\n flip: {\n enabled: false\n },\n preventOverflow: {\n enabled: true,\n boundariesElement: 'scrollParent'\n },\n offset: {\n enabled: true,\n offset: '0, 10'\n },\n arrow: {\n enabled: true,\n element: arrowRef\n },\n computeStyle: {\n gpuAcceleration: false\n }\n })\n\n return (\n <>\n \n \n \n {children}\n \n \n \n )\n}\n\nexport default Popover\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { useState, memo } from 'react'\n\nimport Popover from 'src/components/Popper'\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n subheaderColor,\n subheaderDarkColor,\n offColor\n} from 'src/styling/variables'\n\nconst { info2 } = typographyStyles\n\nconst colors = (color1, color2, color3) => {\n return {\n backgroundColor: color1,\n '&:hover': {\n backgroundColor: color2\n },\n '&:active': {\n backgroundColor: color3\n }\n }\n}\n\nconst styles = {\n idButton: {\n width: 34,\n height: 28,\n display: 'flex',\n borderRadius: 4,\n padding: 0,\n border: 'none',\n cursor: 'pointer'\n },\n buttonIcon: {\n margin: 'auto',\n lineHeight: 1,\n '& svg': {\n overflow: 'visible'\n }\n },\n closed: {\n extend: colors(subheaderColor, subheaderDarkColor, offColor)\n },\n open: {\n extend: colors(offColor, offColor, offColor)\n },\n popoverContent: {\n extend: info2,\n padding: 8,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: 4,\n '& img': {\n maxHeight: 145\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst IDButton = memo(\n ({\n name,\n className,\n Icon,\n InverseIcon,\n popoverWidth = 152,\n children,\n popoverClassname,\n ...props\n }) => {\n const [anchorEl, setAnchorEl] = useState(null)\n\n const classes = useStyles()\n\n const open = Boolean(anchorEl)\n const id = open ? `simple-popper-${name}` : undefined\n\n const classNames = {\n [classes.idButton]: true,\n [classes.primary]: true,\n [classes.open]: open,\n [classes.closed]: !open\n }\n\n const iconClassNames = {\n [classes.buttonIcon]: true\n }\n\n const handleClick = event => {\n setAnchorEl(anchorEl ? null : event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n return (\n <>\n \n {Icon && !open && (\n
\n \n
\n )}\n {InverseIcon && open && (\n
\n \n
\n )}\n \n \n
\n
{children}
\n
\n \n \n )\n }\n)\n\nexport default IDButton\n","import { makeStyles, IconButton as IconB } from '@material-ui/core'\nimport React from 'react'\n\nimport { comet } from 'src/styling/variables'\n\nconst styles = {\n label: ({ size }) => ({\n width: size,\n height: size\n }),\n root: {\n '& svg': {\n flex: 1\n },\n '&:hover': {\n backgroundColor: 'inherit'\n },\n '&:hover rect': {\n stroke: comet\n },\n '&:hover polygon': {\n stroke: comet\n },\n '&:hover path': {\n stroke: comet\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst IconButton = ({ size, children, onClick, ...props }) => {\n const classes = useStyles({ size })\n return (\n \n {children}\n \n )\n}\n\nexport default IconButton\n","import { fade } from '@material-ui/core/styles/colorManipulator'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n white,\n linkPrimaryColor,\n linkSecondaryColor,\n zircon\n} from 'src/styling/variables'\n\nconst { h4 } = typographyStyles\n\nconst color = color => ({\n boxShadow: `inset 0 -4px 0 0 ${fade(color, 0.8)}`,\n '&:hover': {\n boxShadow: 'none',\n backgroundColor: fade(color, 0.8)\n }\n})\n\nexport default {\n link: {\n extend: h4,\n textDecoration: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: '0',\n height: '100%'\n },\n primary: {\n extend: color(linkPrimaryColor)\n },\n secondary: {\n extend: color(linkSecondaryColor),\n '&:hover': {\n color: white\n }\n },\n noColor: {\n extend: color(white)\n },\n action: {\n extend: color(linkPrimaryColor),\n color: zircon\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport styles from './Link.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Link = memo(\n ({ submit, className, children, color = 'primary', ...props }) => {\n const classes = useStyles()\n const classNames = {\n [classes.link]: true,\n [classes.primary]: color === 'primary',\n [classes.secondary]: color === 'secondary',\n [classes.noColor]: color === 'noColor',\n [classes.action]: color === 'action'\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default Link\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport baseButtonStyles from './BaseButton.styles'\n\nconst { baseButton, primary } = baseButtonStyles\n\nconst styles = {\n button: {\n extend: baseButton,\n borderRadius: baseButton.height / 2,\n outline: 0,\n padding: '0 20px'\n },\n primary,\n buttonIcon: {\n marginTop: 4,\n marginRight: 4,\n '& svg': {\n width: 20,\n height: 20,\n overflow: 'visible'\n }\n },\n buttonIconActive: {} // required to extend primary\n}\n\nconst useStyles = makeStyles(styles)\n\nconst SimpleButton = memo(\n ({ className, Icon, InverseIcon, children, color, size, ...props }) => {\n const classes = useStyles()\n\n return (\n \n {Icon && (\n
\n \n
\n )}\n {InverseIcon && (\n \n \n \n )}\n {children}\n \n )\n }\n)\n\nexport default SimpleButton\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/cancel/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 10,\n y1: 0,\n x2: 0,\n y2: 10,\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 0,\n x2: 10,\n y2: 10,\n id: \"Stroke-3\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.41439910.svg\";\nexport { ForwardRef as ReactComponent };","import baseButtonStyles from 'src/components/buttons/BaseButton.styles'\nimport { offColor, white } from 'src/styling/variables'\n\nconst { baseButton } = baseButtonStyles\n\nexport default {\n button: {\n extend: baseButton,\n padding: 0,\n color: white,\n borderRadius: baseButton.height / 2\n },\n normalButton: {\n width: baseButton.height\n },\n activeButton: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center',\n backgroundColor: offColor,\n fontWeight: 'bold',\n padding: '0 5px',\n '&:hover': {\n backgroundColor: offColor\n }\n },\n buttonIcon: {\n '& svg': {\n width: 16,\n height: 16,\n overflow: 'visible',\n '& g': {\n strokeWidth: 1.8\n }\n }\n },\n buttonIconActiveLeft: {\n marginRight: 12\n },\n buttonIconActiveRight: {\n marginRight: 5,\n marginLeft: 20\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo, useState } from 'react'\n\nimport { ReactComponent as CancelIconInverse } from 'src/styling/icons/button/cancel/white.svg'\n\nimport subpageButtonStyles from './SubpageButton.styles'\n\nconst useStyles = makeStyles(subpageButtonStyles)\n\nconst SubpageButton = memo(\n ({ className, Icon, InverseIcon, toggle, children }) => {\n const [active, setActive] = useState(false)\n\n const classes = useStyles()\n\n const classNames = {\n [classes.button]: true,\n [classes.normalButton]: !active,\n [classes.activeButton]: active\n }\n\n const normalButton = \n\n const activeButton = (\n <>\n \n {children}\n \n \n )\n\n const innerToggle = () => {\n const newActiveState = !active\n toggle(newActiveState)\n setActive(newActiveState)\n }\n\n return (\n \n {active ? activeButton : normalButton}\n \n )\n }\n)\n\nexport default SubpageButton\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/external-link/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n points: \"20 12.1113 20 21.0003 0 21.0003 0 1.0003 8.889 1.0003\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n points: \"14.4443 1 20.0003 1 20.0003 6.556\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 10,\n y1: 11,\n x2: 20,\n y2: 1,\n id: \"Stroke-5\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.9814829c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/external-link/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n transform: \"translate(0.000000, 1.000000)\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"20 11.1113 20 20.0003 0 20.0003 0 0.0003 8.889 0.0003\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"14.4443 0 20.0003 0 20.0003 5.556\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 10,\n y1: 10,\n x2: 20,\n y2: 0,\n id: \"Stroke-5\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.6cff3051.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { ActionButton } from 'src/components/buttons'\nimport { ReactComponent as InverseLinkIcon } from 'src/styling/icons/action/external link/white.svg'\nimport { ReactComponent as LinkIcon } from 'src/styling/icons/action/external link/zodiac.svg'\nimport { spacer, primaryColor } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n actionButton: {\n marginBottom: spacer * 4\n },\n actionButtonLink: {\n textDecoration: 'none',\n color: primaryColor\n }\n})\n\nconst SupportLinkButton = ({ link, label }) => {\n const classes = useStyles()\n return (\n \n \n {label}\n \n \n )\n}\n\nexport default SupportLinkButton\n","import { bySize, bold } from 'src/styling/helpers'\nimport { secondaryColor } from 'src/styling/variables'\n\nexport default {\n size: ({ size }) => ({\n marginTop: size === 'lg' ? 0 : 2,\n ...bySize(size)\n }),\n bold,\n root: ({ width, textAlign }) => ({\n width,\n '& input': {\n textAlign\n }\n }),\n underline: {\n '&:before': {\n borderBottomColor: secondaryColor\n },\n '&:hover:not(.Mui-disabled)::before': {\n borderBottomColor: secondaryColor\n }\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport TextField from '@material-ui/core/TextField'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport styles from './TextInput.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst TextInput = memo(\n ({\n name,\n onChange,\n onBlur,\n value,\n error,\n suffix,\n textAlign,\n width,\n // lg or sm\n size,\n bold,\n className,\n InputProps,\n ...props\n }) => {\n const classes = useStyles({ textAlign, width, size })\n const filled = !error && !R.isNil(value) && !R.isEmpty(value)\n\n const inputClasses = {\n [classes.bold]: bold\n }\n\n return (\n \n )\n }\n)\n\nexport default TextInput\n","import MAutocomplete from '@material-ui/lab/Autocomplete'\nimport sort from 'match-sorter'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport TextInput from './TextInput'\n\nconst Autocomplete = ({\n optionsLimit = 5, // set limit = null for no limit\n limit,\n options,\n label,\n valueProp,\n multiple,\n onChange,\n getLabel,\n value: outsideValue,\n error,\n fullWidth,\n textAlign,\n size,\n autoFocus,\n ...props\n}) => {\n const mapFromValue = options => it => R.find(R.propEq(valueProp, it))(options)\n const mapToValue = R.prop(valueProp)\n\n const getValue = () => {\n if (!valueProp) return outsideValue\n\n const transform = multiple\n ? R.map(mapFromValue(options))\n : mapFromValue(options)\n\n return transform(outsideValue)\n }\n\n const value = getValue()\n\n const innerOnChange = (evt, value) => {\n if (!valueProp) return onChange(evt, value)\n\n const rValue = multiple ? R.map(mapToValue)(value) : mapToValue(value)\n onChange(evt, rValue)\n }\n\n const valueArray = () => {\n if (R.isNil(value)) return []\n return multiple ? value : [value]\n }\n\n const filter = (array, input) =>\n sort(array, input, { keys: ['code', 'display'] })\n\n const filterOptions = (array, { inputValue }) =>\n R.union(\n R.isEmpty(inputValue) ? valueArray() : [],\n filter(array, inputValue)\n ).slice(\n 0,\n R.defaultTo(undefined)(limit) &&\n Math.max(limit, R.isEmpty(inputValue) ? valueArray().length : 0)\n )\n\n return (\n {\n return (\n \n )\n }}\n />\n )\n}\n\nexport default Autocomplete\n","import Checkbox from '@material-ui/core/Checkbox'\nimport { makeStyles } from '@material-ui/core/styles'\nimport CheckBoxIcon from '@material-ui/icons/CheckBox'\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank'\nimport React from 'react'\n\nimport { fontSize2, fontSize3, secondaryColor } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n root: {\n color: secondaryColor,\n '&$checked': {\n color: secondaryColor\n }\n },\n checked: {}\n})\n\nconst CheckboxInput = ({ name, onChange, value, label, ...props }) => {\n const classes = useStyles()\n\n return (\n \n }\n checkedIcon={}\n disableRipple\n {...props}\n />\n )\n}\n\nexport default CheckboxInput\n","import React, { memo } from 'react'\nimport NumberFormat from 'react-number-format'\n\nimport TextInput from './TextInput'\n\nconst NumberInput = memo(\n ({\n name,\n onChange,\n onBlur,\n value,\n error,\n suffix,\n textAlign,\n width,\n // lg or sm\n size,\n bold,\n className,\n decimalPlaces,\n InputProps,\n ...props\n }) => {\n return (\n {\n onChange({\n target: {\n id: name,\n value: values.floatValue\n }\n })\n }}\n {...props}\n />\n )\n }\n)\n\nexport default NumberInput\n","import {\n Radio,\n RadioGroup as MRadioGroup,\n FormControlLabel,\n makeStyles\n} from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { Label1 } from 'src/components/typography'\n\nconst styles = {\n label: {\n height: 16,\n lineHeight: '16px',\n margin: [[0, 0, 4, 0]],\n paddingLeft: 3\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst RadioGroup = ({\n name,\n label,\n value,\n options,\n onChange,\n className,\n labelClassName,\n radioClassName\n}) => {\n const classes = useStyles()\n\n return (\n <>\n {label && {label}}\n \n {options.map((option, idx) => (\n }\n label={option.display}\n className={classnames(labelClassName)}\n />\n ))}\n \n \n )\n}\n\nexport default RadioGroup\n","import React, { memo, useState } from 'react'\n\nimport { TextInput } from '../base'\n\nconst SecretInput = memo(({ value, onFocus, onBlur, ...props }) => {\n const [focused, setFocused] = useState(false)\n\n const placeholder = '⚬ ⚬ ⚬ This field is set ⚬ ⚬ ⚬'\n const previouslyFilled = !!value\n const tempValue = previouslyFilled ? '' : value\n\n const innerOnFocus = event => {\n setFocused(true)\n onFocus && onFocus(event)\n }\n\n const innerOnBlur = event => {\n setFocused(false)\n onBlur && onBlur(event)\n }\n\n return (\n \n )\n})\n\nexport default SecretInput\n","import Switch from '@material-ui/core/Switch'\nimport { makeStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport {\n secondaryColor,\n offColor,\n disabledColor,\n disabledColor2\n} from '../../../styling/variables'\n\nconst useStyles = makeStyles(theme => ({\n root: {\n width: 32,\n height: 20,\n padding: 0,\n margin: theme.spacing(1)\n },\n switchBase: {\n padding: 2,\n '&$disabled': {\n color: disabledColor2,\n '& + $track': {\n backgroundColor: disabledColor,\n opacity: 1\n }\n },\n '&$checked': {\n transform: 'translateX(58%)',\n color: theme.palette.common.white,\n '&$disabled': {\n color: disabledColor2\n },\n '& + $track': {\n backgroundColor: secondaryColor,\n opacity: 1,\n border: 'none'\n }\n },\n '&$focusVisible $thumb': {\n border: '6px solid #fff'\n }\n },\n thumb: {\n width: 16,\n height: 16\n },\n track: {\n borderRadius: 17,\n border: 'none',\n backgroundColor: offColor,\n opacity: 1,\n transition: theme.transitions.create(['background-color', 'border'])\n },\n disabled: {},\n checked: {},\n focusVisible: {}\n}))\n\nconst SwitchInput = memo(({ ...props }) => {\n const classes = useStyles()\n return (\n \n )\n})\n\nexport default SwitchInput\n","import { useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Autocomplete } from '../base'\n\nconst AutocompleteFormik = ({ options, onChange, ...props }) => {\n const [open, setOpen] = useState(false)\n\n const { name, onBlur, value } = props.field\n const { touched, errors, setFieldValue, setFieldTouched } = props.form\n const error = !!(touched[name] && errors[name])\n const { initialValues, values } = useFormikContext()\n\n const innerOptions =\n R.type(options) === 'Function' ? options(initialValues, values) : options\n\n const innerOnBlur = event => {\n name && setFieldTouched(name, true)\n onBlur && onBlur(event)\n }\n\n const onChangeHandler = value => setFieldValue(name, value)\n\n return (\n {\n if (onChange) return onChange(value, item, onChangeHandler)\n setFieldValue(name, item)\n }}\n onBlur={innerOnBlur}\n value={value}\n error={error}\n open={open}\n options={innerOptions}\n onOpen={() => {\n if (!props.multiple) return setOpen(true)\n setOpen(value?.length !== props.limit)\n }}\n onClose={() => setOpen(false)}\n {...props}\n />\n )\n}\n\nexport default AutocompleteFormik\n","import React, { memo } from 'react'\n\nimport { NumberInput } from '../base'\n\nconst NumberInputFormik = memo(({ decimalPlaces, ...props }) => {\n const { name, onChange, onBlur, value } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n return (\n \n )\n})\n\nexport default NumberInputFormik\n","import React, { memo } from 'react'\n\nimport { RadioGroup } from '../base'\n\nconst RadioGroupFormik = memo(({ label, ...props }) => {\n const { name, onChange, value } = props.field\n\n return (\n {\n onChange(e)\n props.resetError && props.resetError()\n }}\n className={props.className}\n {...props}\n />\n )\n})\n\nexport default RadioGroupFormik\n","import React, { memo } from 'react'\n\nimport { SecretInput } from '../base'\n\nconst SecretInputFormik = memo(({ ...props }) => {\n const { name, onChange, onBlur, value } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n return (\n \n )\n})\n\nexport default SecretInputFormik\n","import React, { memo } from 'react'\n\nimport { TextInput } from '../base'\n\nconst TextInputFormik = memo(({ ...props }) => {\n const { name, onChange, onBlur, value } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n return (\n \n )\n})\n\nexport default TextInputFormik\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\n\\t.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#1B2559;}\\n\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"color_x2F_primary_x2F_zodiac\",\n transform: \"translate(-0.000000, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Mask\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n id: \"path-1_1_\",\n className: \"st0\",\n d: \"M11.1,9l6.5,6.5c0.6,0.6,0.6,1.5,0,2.1c-0.3,0.3-0.7,0.4-1.1,0.4c-0.4,0-0.8-0.2-1.1-0.4 L9,11.1l-6.5,6.5C2.3,17.8,1.9,18,1.5,18c-0.4,0-0.8-0.2-1.1-0.4c-0.6-0.6-0.6-1.5,0-2.1L6.9,9L0.4,2.5C-0.1,2-0.1,1,0.4,0.4 C1-0.1,2-0.1,2.5,0.4L9,6.9l6.5-6.5c0.6-0.6,1.5-0.6,2.1,0c0.6,0.6,0.6,1.5,0,2.1L11.1,9z\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 18 18\",\n style: {\n enableBackground: \"new 0 0 18 18\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.5547e32c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/warning-icon/comet\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"Rectangle\",\n stroke: \"#5F668A\",\n strokeWidth: 2,\n x: 1,\n y: 1,\n width: 22,\n height: 22,\n rx: 11\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2971429,14.4857143 L11.1085714,5.82857143 L13.3714286,5.82857143 L13.2,14.4857143 L11.2971429,14.4857143 Z M11.1942857,18 L11.1942857,15.9771429 L13.3028571,15.9771429 L13.3028571,18 L11.1942857,18 Z\",\n id: \"!\",\n fill: \"#5F668A\",\n fillRule: \"nonzero\"\n})));\n\nfunction SvgComet(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"24px\",\n viewBox: \"0 0 24 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgComet);\nexport default __webpack_public_path__ + \"static/media/comet.9dc291f2.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport {\n placeholderColor,\n backgroundColor,\n primaryColor,\n mainWidth\n} from 'src/styling/variables'\n\nconst { tl2, p } = typographyStyles\n\nconst fill = '100%'\nconst flexDirection = 'column'\n\nconst styles = {\n dialog: {\n backgroundColor,\n width: fill,\n minHeight: fill,\n display: 'flex',\n flexDirection,\n padding: 0\n },\n wrapper: {\n width: mainWidth,\n height: fill,\n margin: '0 auto',\n flex: 1,\n display: 'flex',\n flexDirection\n },\n contentDiv: {\n display: 'flex',\n flex: 1,\n flexDirection: 'row'\n },\n headerDiv: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n contentWrapper: {\n marginLeft: 48\n },\n button: {\n marginTop: 64\n },\n nameTitle: {\n marginTop: 16,\n marginBottom: 25\n },\n qrTitle: {\n marginTop: 12,\n marginBottom: 40\n },\n qrCodeWrapper: {\n display: 'flex'\n },\n qrTextWrapper: {\n width: 381,\n marginLeft: 80,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n qrTextIcon: {\n marginRight: 16\n },\n qrText: {\n marginTop: 0\n },\n item: {\n position: 'relative',\n margin: '12px 0 12px 0',\n display: 'flex'\n },\n itemText: {\n extend: p,\n color: placeholderColor,\n marginRight: 24\n },\n itemTextActive: {\n extend: tl2,\n color: primaryColor\n },\n itemTextPast: {\n color: primaryColor\n },\n stepperPath: {\n position: 'absolute',\n height: 25,\n width: 1,\n border: [[1, 'solid', placeholderColor]],\n right: 8,\n top: 18\n },\n stepperPast: {\n border: [[1, 'solid', primaryColor]]\n }\n}\n\nexport default styles\n","import { useMutation, useQuery } from '@apollo/react-hooks'\nimport { Dialog, DialogContent, SvgIcon, IconButton } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport { Form, Formik, FastField } from 'formik'\nimport gql from 'graphql-tag'\nimport QRCode from 'qrcode.react'\nimport * as R from 'ramda'\nimport React, { memo, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport Title from 'src/components/Title'\nimport { Button } from 'src/components/buttons'\nimport { TextInput } from 'src/components/inputs/formik'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport { Info2, P } from 'src/components/typography'\nimport { ReactComponent as CloseIcon } from 'src/styling/icons/action/close/zodiac.svg'\nimport { ReactComponent as CompleteStageIconZodiac } from 'src/styling/icons/stage/zodiac/complete.svg'\nimport { ReactComponent as CurrentStageIconZodiac } from 'src/styling/icons/stage/zodiac/current.svg'\nimport { ReactComponent as EmptyStageIconZodiac } from 'src/styling/icons/stage/zodiac/empty.svg'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\nimport { primaryColor } from 'src/styling/variables'\n\nimport styles from './styles'\n\nconst SAVE_CONFIG = gql`\n mutation createPairingTotem($name: String!) {\n createPairingTotem(name: $name)\n }\n`\nconst GET_MACHINES = gql`\n {\n machines {\n name\n deviceId\n }\n }\n`\n\nconst useStyles = makeStyles(styles)\n\nconst getSize = R.compose(R.length, R.pathOr([], ['machines']))\n\nconst QrCodeComponent = ({ classes, qrCode, name, count, onPaired }) => {\n const { data } = useQuery(GET_MACHINES, { pollInterval: 10000 })\n\n const addedMachine = data?.machines?.find(m => m.name === name)\n if (getSize(data) > count && addedMachine) onPaired(addedMachine)\n\n return (\n <>\n \n Scan QR code with your new cryptomat\n \n
\n
\n \n
\n
\n
\n
\n \n
\n

\n To pair the machine you need scan the QR code with your machine.\n To do this either snap a picture of this QR code or download it\n through the button above and scan it with the scanning bay on your\n machine.\n

\n
\n
\n
\n \n )\n}\n\nconst initialValues = {\n name: ''\n}\n\nconst validationSchema = Yup.object().shape({\n name: Yup.string()\n .required()\n .max(50)\n})\n\nconst MachineNameComponent = ({ nextStep, classes, setQrCode, setName }) => {\n const [register] = useMutation(SAVE_CONFIG, {\n onCompleted: ({ createPairingTotem }) => {\n if (process.env.NODE_ENV === 'development') {\n console.log(`totem: \"${createPairingTotem}\" `)\n }\n setQrCode(createPairingTotem)\n nextStep()\n },\n onError: e => console.log(e)\n })\n\n return (\n <>\n \n Machine Name (ex: Coffee shop 01)\n \n {\n setName(name)\n register({ variables: { name } })\n }}>\n
\n
\n \n
\n
\n \n
\n
\n \n \n )\n}\n\nconst steps = [\n {\n label: 'Machine name',\n component: MachineNameComponent\n },\n {\n label: 'Scan QR code',\n component: QrCodeComponent\n }\n]\n\nconst renderStepper = (step, it, idx, classes) => {\n const active = step === idx\n const past = idx < step\n const future = idx > step\n\n return (\n
\n \n {it.label}\n \n {active && }\n {past && }\n {future && }\n {idx < steps.length - 1 && (\n
\n )}\n \n )\n}\n\nconst AddMachine = memo(({ close, onPaired }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_MACHINES)\n const [qrCode, setQrCode] = useState('')\n const [name, setName] = useState('')\n const [step, setStep] = useState(0)\n const count = getSize(data)\n\n const Component = steps[step].component\n\n return (\n
\n \n \n
\n
\n Add Machine\n \n \n \n \n \n
\n
\n \n {steps.map((it, idx) => renderStepper(step, it, idx, classes))}\n \n
\n setStep(1)}\n count={count}\n onPaired={onPaired}\n qrCode={qrCode}\n setQrCode={setQrCode}\n name={name}\n setName={setName}\n />\n
\n
\n
\n
\n \n
\n )\n})\n\nexport default AddMachine\n","import AddMachine from './AddMachine'\n\nexport default AddMachine\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/add/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.5384615,6 C11.5384615,9.05815385 9.05815385,11.5384615 6,11.5384615 C2.94184615,11.5384615 0.461538462,9.05815385 0.461538462,6 C0.461538462,2.94184615 2.94184615,0.461538462 6,0.461538462 C9.05815385,0.461538462 11.5384615,2.94184615 11.5384615,6 Z\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 3.69230769,\n x2: 6,\n y2: 8.30769231,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.69230769,\n y1: 6,\n x2: 8.30769231,\n y2: 6,\n id: \"Stroke-5\",\n stroke: \"#FFFFFF\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.cc7667ff.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8413132,12.8764646 C17.8413132,12.8764646 16.6555879,12.5091919 15.661533,12.2855556 C15.661533,12.2855556 15.3477198,10.3246465 14.8939121,8.23646465 C14.8939121,8.23646465 15.1560495,8.21373737 15.3383242,8.8710101 L16.0223242,12.0219192 C16.0223242,12.0219192 17.2343571,12.2991919 18.1795549,12.6537374 L17.8413132,12.8764646 Z M15.2603407,6.10282828 L15.5328132,5.80555556 C16.0627253,5.87828283 16.3483516,6.02828283 16.3483516,6.02828283 L16.291978,6.11191919 L16.3972088,6.9310101 C16.2440604,6.93646465 16.0091703,7.05919192 16.0091703,7.05919192 L15.8315934,6.95010101 L15.8315934,6.38282828 C15.3026209,6.29919192 15.2556429,6.21828283 15.2556429,6.21828283 L15.2603407,6.10282828 Z M12.4557527,18.2873737 C11.2831813,18.4964646 9.84565385,18.2237374 9.84565385,18.2237374 L9.89732967,17.9991919 C9.89732967,17.9991919 11.6496099,18.1955556 12.6248736,17.8973737 C12.5553462,18.0628283 12.5356154,18.1137374 12.4557527,18.2873737 L12.4557527,18.2873737 Z M9.18984066,14.5464646 C8.379,15.1364646 7.56064286,15.6791919 7.00442308,16.1091919 C6.9705989,16.6955556 6.91516484,17.6464646 6.91516484,17.6464646 L5.46448352,18.5182828 L5.22207692,18.3737374 C5.27845055,17.9219192 5.34891758,17.5882828 5.34891758,17.5882828 L5.55186264,17.4410101 C5.50676374,17.7282828 5.48515385,18.1346465 5.48515385,18.1346465 L6.5928956,17.440101 C6.63705495,16.7019192 6.72443407,15.960101 6.72443407,15.960101 C6.9705989,15.7373737 8.73697253,14.5237374 10.0100803,13.6864646 C10.0100803,13.6864646 10.018533,13.9437374 9.18984066,14.5464646 L9.18984066,14.5464646 Z M14.977533,0.195555556 C15.2612802,0.167373737 15.5065055,0.184646465 15.7103901,0.228282828 L15.7103901,0.228282828 L15.8813901,0.697373737 L16.1003077,0.361919192 C16.2694286,0.447373737 16.3746593,0.547373737 16.4056648,0.624646465 C16.4056648,0.624646465 16.3615055,0.909191919 16.4319725,1.36464646 C16.5005604,1.80373737 16.6988077,2.78191919 16.6988077,2.78191919 C16.9740989,3.00646465 17.2850934,3.51282828 17.2850934,3.51282828 C17.4758242,4.41737374 17.4645495,5.04919192 17.4636099,5.1210101 C16.6734396,4.68646465 15.6173736,4.58555556 15.6173736,4.58555556 L15.6173736,4.58555556 L15.2481264,4.90828283 C15.9753462,5.00828283 16.8792033,5.26555556 17.1122143,5.44555556 C17.2484505,5.74737374 17.3386484,6.22828283 17.3386484,6.22828283 L17.3386484,6.22828283 L17.0445659,6.58919192 L17.3198571,6.8810101 C17.3386484,7.22464646 17.2183846,7.56919192 17.2183846,7.56919192 C17.7905769,7.93010101 17.9512418,8.79373737 18.3101538,10.250101 C18.6700055,11.7064646 18.9903956,12.9055556 18.9903956,12.9055556 L18.9903956,12.9055556 L18.4567253,13.2019192 C19.1623352,15.7282828 18.444511,17.7391919 17.5378352,19.0664646 C16.6320989,20.3946465 16.0862143,21.7137374 16.1031264,22.8910101 L16.1031264,22.8910101 L16.5475385,23.2346465 L16.7749121,23.9491919 L14.3048077,23.9491919 L14.293533,23.2728283 C14.2925934,21.5619192 14.9230385,20.1328283 14.9230385,20.1328283 C15.2857088,20.0473737 15.6596538,19.7628283 15.6596538,19.7628283 C15.0733681,19.8828283 14.3414505,19.7964646 14.3414505,19.7964646 C14.8676044,18.8537374 15.0292088,18.1773737 15.0292088,18.1773737 L15.0292088,18.1773737 L14.7811648,18.1228283 C14.6956648,18.310101 14.6073462,18.4937374 14.5133901,18.6710101 C13.8754286,19.8864646 13.1735769,20.6628283 12.7554725,22.4055556 L12.7554725,22.4055556 L13.1933077,22.7455556 L13.6987912,23.9491919 L10.8509835,23.9491919 C10.8340714,21.8246465 11.495522,20.2273737 11.7341703,19.7628283 C10.2233571,19.9264646 8.42128022,19.1782828 6.99314835,19.4664646 C6.60041209,21.9473737 4.59257143,22.4355556 3.65019231,22.300101 L3.65019231,22.300101 L2.97652747,23.4146465 L3.58724176,23.9491919 L1.33135714,23.9491919 C1.32008242,23.8546465 1.2918956,23.7537374 1.22988462,23.6591919 C1.22988462,23.6591919 1.97401648,22.5882828 2.48231868,21.150101 C2.89008791,21.3255556 3.75166484,20.9928283 3.78736813,20.1055556 C3.82401099,19.2191919 3.67086264,17.8419192 4.46854945,16.7891919 C5.2652967,15.7355556 6.12687363,15.1655556 7.25152747,14.3328283 C7.98250549,13.7910101 9.22084615,12.8755556 9.99974176,12.3010101 L9.99974176,12.3010101 L9.61546154,12.3864646 L6.81087363,14.6491919 L5.82997253,14.6491919 L8.66368681,12.1164646 L8.29725824,12.1091919 L5.33576374,14.6491919 L4.34170879,14.6491919 L7.27313736,11.720101 L6.9208022,11.7173737 L3.88038462,14.6491919 L2.86565934,14.6491919 L5.8093022,11.3037374 L5.46918132,11.3055556 L2.43534066,14.6491919 L1.36706044,14.6491919 L4.22614286,10.8528283 L3.89635714,10.8573737 L0.963989011,14.6491919 L0,14.6491919 C0,14.6491919 4.11809341,8.22464646 4.92893407,7.00737374 C5.73883516,5.79010101 6.6192033,4.62282828 8.06894505,4.38464646 C9.53465934,4.14282828 10.5343516,4.46646465 11.2502967,5.63373737 C11.636456,6.2610101 12.1034176,6.97828283 12.4698462,7.55919192 C12.0968407,8.1510101 11.6298791,8.6110101 11.5857198,9.32282828 C11.534044,10.1419192 12.0921429,10.6373737 12.6558791,10.6773737 C12.2321374,10.5282828 11.8976538,10.0337374 12.0489231,9.37646465 C12.2058297,8.69737374 12.7554725,8.35191919 13.1726374,7.80282828 C13.5315495,7.32828283 13.5371868,6.63282828 13.5108791,6.4010101 C13.4836319,6.16919192 13.2167967,5.98828283 13.2167967,5.98828283 C13.2167967,5.98828283 13.2252527,5.52373737 13.2167967,5.01646465 C13.2083407,4.51010101 13.4300769,4.21828283 13.4300769,4.21828283 C13.4300769,4.21828283 13.4216209,3.4610101 13.3943736,2.57646465 C13.3671264,1.72555556 13.2863242,1.46828283 13.205522,1.35464646 C13.205522,1.35464646 13.2694121,1.10919192 13.5099396,0.844646465 L13.5099396,0.844646465 L13.7542253,1.06282828 L13.8284505,0.571919192 C13.9825385,0.469191919 14.1723297,0.375555556 14.4072198,0.307373737 C14.4325879,0.30010101 14.4570165,0.294646465 14.4823846,0.288282828 L14.4823846,0.288282828 L14.7896209,0.644646465 Z M7.71628243,19.8937938 C8.32897736,19.8402566 9.02386307,19.9393405 9.75797621,20.0432188 L9.75797621,20.0432188 L9.86538462,20.058401 C9.7449004,20.8103202 9.02106112,21.7691969 7.79193531,22.0896215 L7.79193531,22.0896215 L9.01358923,23.5151515 L7.36136769,23.5151515 C7.15589073,23.2226941 6.50396838,22.32135 6.16586538,21.9681638 C6.72065317,21.6525335 7.42954868,21.0388524 7.71628243,19.8937938 Z\",\n id: \"path-1\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"nav-/-primary-/-1440\",\n transform: \"translate(-128.000000, -14.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/lamassu-logo\",\n transform: \"translate(128.000000, 14.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"color/amaz/default\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask-2\",\n fill: \"white\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-1\"\n})), /*#__PURE__*/React.createElement(\"use\", {\n id: \"Mask\",\n fill: \"#16D6D3\",\n xlinkHref: \"#path-1\"\n})))));\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"19px\",\n height: \"24px\",\n viewBox: \"0 0 19 24\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.8ee79eab.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport {\n version,\n mainWidth,\n spacer,\n white,\n primaryColor,\n placeholderColor,\n subheaderColor,\n fontColor\n} from 'src/styling/variables'\n\nconst { tl2, p } = typographyStyles\n\nlet headerHeight = spacer * 7\nlet subheaderHeight = spacer * 5\n\nif (version === 8) {\n headerHeight = spacer * 8\n subheaderHeight = spacer * 7\n}\n\nexport default {\n header: {\n backgroundColor: primaryColor,\n color: white,\n height: headerHeight,\n display: 'flex'\n },\n content: {\n maxWidth: mainWidth,\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n margin: '0 auto'\n },\n nav: {\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n ul: {\n display: 'flex',\n paddingLeft: spacer * 4.5,\n height: spacer * 7,\n margin: 0\n },\n li: {\n // extend: tl2,\n // height: spacer * 7,\n listStyle: 'none',\n color: white,\n margin: [[spacer * 2.5, spacer * 2.5, 0, spacer * 2.5]],\n '&:hover': {\n color: white\n },\n '&:hover::after': {\n width: '50%',\n marginLeft: '-25%'\n },\n position: 'relative',\n '&:after': {\n content: '\"\"',\n display: 'block',\n background: white,\n width: 0,\n height: 4,\n left: '50%',\n marginLeft: 0,\n bottom: -8,\n position: 'absolute',\n borderRadius: 1000,\n transition: [['all', '0.2s', 'cubic-bezier(0.95, 0.1, 0.45, 0.94)']]\n }\n },\n link: {\n extend: p,\n textDecoration: 'none',\n border: 'none',\n color: white,\n backgroundColor: 'transparent'\n // '&:hover': {\n // color: white\n // },\n // '&:hover::after': {\n // width: '50%',\n // marginLeft: '-25%'\n // },\n // position: 'relative',\n // '&:after': {\n // content: '\"\"',\n // display: 'block',\n // background: white,\n // width: 0,\n // height: 4,\n // left: '50%',\n // marginLeft: 0,\n // bottom: -8,\n // position: 'absolute',\n // borderRadius: 1000,\n // transition: [['all', '0.2s', 'cubic-bezier(0.95, 0.1, 0.45, 0.94)']]\n // }\n },\n forceSize: {\n display: 'inline-block',\n textAlign: 'center',\n '&:after': {\n display: 'block',\n content: 'attr(forcesize)',\n fontWeight: 700,\n height: 0,\n overflow: 'hidden',\n visibility: 'hidden'\n }\n },\n activeLink: {\n color: white,\n '& li::after': {\n width: '50%',\n marginLeft: '-25%'\n }\n },\n addMachine: {\n marginLeft: 'auto'\n },\n subheader: {\n backgroundColor: subheaderColor,\n color: white,\n height: subheaderHeight,\n display: 'flex'\n },\n subheaderUl: {\n display: 'flex',\n paddingLeft: 0\n },\n subheaderLi: {\n extend: tl2,\n display: 'flex',\n alignItems: 'center',\n height: spacer * 3,\n listStyle: 'none',\n padding: [[0, spacer * 2.5]],\n '&:first-child': {\n paddingLeft: 0\n }\n },\n subheaderLink: {\n extend: p,\n textDecoration: 'none',\n border: 'none',\n color: placeholderColor\n },\n activeSubheaderLink: {\n extend: tl2,\n color: fontColor\n },\n white: {\n color: white\n },\n logo: {\n display: 'flex',\n alignItems: 'center',\n '& > svg': {\n marginRight: 16\n }\n }\n}\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo, useState } from 'react'\nimport { NavLink, useHistory } from 'react-router-dom'\n\nimport ActionButton from 'src/components/buttons/ActionButton'\nimport { H4 } from 'src/components/typography'\nimport AddMachine from 'src/pages/AddMachine'\nimport { ReactComponent as AddIconReverse } from 'src/styling/icons/button/add/white.svg'\nimport { ReactComponent as AddIcon } from 'src/styling/icons/button/add/zodiac.svg'\nimport { ReactComponent as Logo } from 'src/styling/icons/menu/logo.svg'\n\nimport styles from './Header.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Subheader = ({ item, classes }) => {\n const [prev, setPrev] = useState(null)\n\n return (\n
\n
\n \n
\n
\n )\n}\n\nconst Header = memo(({ tree }) => {\n const [open, setOpen] = useState(false)\n const [active, setActive] = useState()\n\n const history = useHistory()\n const classes = useStyles()\n\n const onPaired = machine => {\n setOpen(false)\n history.push('/maintenance/machine-status', { id: machine.deviceId })\n }\n\n return (\n
\n
\n
\n
\n \n

Lamassu Admin

\n
\n \n
\n
\n {active && active.children && (\n \n )}\n {open && setOpen(false)} onPaired={onPaired} />}\n
\n )\n})\n\nexport default Header\n","import useAxios from '@use-hooks/axios'\nimport React from 'react'\nimport { useLocation, useHistory } from 'react-router-dom'\n\nconst useQuery = () => new URLSearchParams(useLocation().search)\nconst url =\n process.env.NODE_ENV === 'development' ? 'https://localhost:8070' : ''\n\nconst AuthRegister = () => {\n const history = useHistory()\n const query = useQuery()\n\n useAxios({\n url: `${url}/api/register?otp=${query.get('otp')}`,\n method: 'GET',\n options: {\n withCredentials: true\n },\n trigger: [],\n customHandler: (err, res) => {\n if (err) return\n if (res) {\n history.push('/wizard', { fromAuthRegister: true })\n }\n }\n })\n\n return registering...\n}\n\nexport default AuthRegister\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/help/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.0004,11 C20.0004,6.03028475 15.9701153,2 11.0004,2 C6.03004556,2 2.0004,6.02992391 2.0004,11 C2.0004,15.9700761 6.03004556,20 11.0004,20 C15.9701153,20 20.0004,15.9697153 20.0004,11 Z M22.0004,11 C22.0004,17.0742847 17.0746847,22 11.0004,22 C4.92544514,22 0.000400000001,17.0746147 0.000400000001,11 C0.000400000001,4.92538534 4.92544514,0 11.0004,0 C17.0746847,0 22.0004,4.92571525 22.0004,11 Z\",\n id: \"Stroke-1\",\n fill: \"#1B2559\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.9164,8.9063 C9.9164,9.45858475 9.46868475,9.9063 8.9164,9.9063 C8.36411525,9.9063 7.9164,9.45858475 7.9164,8.9063 C7.9164,6.89094438 9.72972438,5.35290249 11.7463843,5.7072003 C13.0663562,5.93764844 14.1348314,7.00654285 14.3652323,8.32479116 C14.6130182,9.7312185 13.941375,11.0876584 12.732214,11.7545735 C12.370484,11.9534687 12.1664,12.2664153 12.1664,12.5913 L12.1664,12.6563 C12.1664,13.2085847 11.7186847,13.6563 11.1664,13.6563 C10.6141153,13.6563 10.1664,13.2085847 10.1664,12.6563 L10.1664,12.5913 C10.1664,11.5009567 10.7946963,10.5375141 11.7674377,10.0026589 C12.2360927,9.74417086 12.493064,9.22519581 12.3953326,8.67046887 C12.3098185,8.1811985 11.8915858,7.76280177 11.4013649,7.67721566 C10.6126181,7.53864454 9.9164,8.1291691 9.9164,8.9063 Z\",\n id: \"Stroke-3\",\n fill: \"#1B2559\",\n fillRule: \"nonzero\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1039,15.2188 C10.1039,14.6318 10.5799,14.1568 11.1659,14.1568 C11.7529,14.1568 12.2289,14.6318 12.2289,15.2188 C12.2289,15.8058 11.7529,16.2808 11.1659,16.2808 C10.5799,16.2808 10.1039,15.8058 10.1039,15.2188\",\n id: \"Fill-5\",\n fill: \"#1B2559\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.1bd00dea.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, ClickAwayListener } from '@material-ui/core'\nimport React, { useState, memo } from 'react'\n\nimport Popper from 'src/components/Popper'\nimport { ReactComponent as HelpIcon } from 'src/styling/icons/action/help/zodiac.svg'\n\nconst useStyles = makeStyles({\n transparentButton: {\n border: 'none',\n backgroundColor: 'transparent',\n marginTop: 4,\n outline: 'none',\n cursor: 'pointer'\n },\n popoverContent: ({ width }) => ({\n width,\n padding: [[10, 15]]\n })\n})\n\nconst Tooltip = memo(({ children, width, Icon = HelpIcon }) => {\n const classes = useStyles({ width })\n const [helpPopperAnchorEl, setHelpPopperAnchorEl] = useState(null)\n\n const handleOpenHelpPopper = event => {\n setHelpPopperAnchorEl(helpPopperAnchorEl ? null : event.currentTarget)\n }\n\n const handleCloseHelpPopper = () => {\n setHelpPopperAnchorEl(null)\n }\n\n const helpPopperOpen = Boolean(helpPopperAnchorEl)\n\n return (\n \n
\n \n \n \n \n
{children}
\n \n
\n
\n )\n})\n\nexport default Tooltip\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"arrow-path\",\n d: \"M5.3501239,7.53208616 L0.473798314,2.73082122 C-0.158421727,2.1051411 -0.158421727,1.0952488 0.476737158,0.466675069 C1.11220338,-0.155816755 2.1378971,-0.155816755 2.77494316,0.468226909 L6.49990857,4.13723769 L10.2264532,0.466675069 C10.8619195,-0.155816755 11.8876132,-0.155816755 12.5260183,0.469568675 C13.1582383,1.0952488 13.1582383,2.1051411 12.5245507,2.73226987 L7.64673876,7.53497972 C7.33802629,7.83583835 6.92590837,8 6.49990828,8 C6.0739082,8 5.66179027,7.83583835 5.3501239,7.53208616 Z\"\n}));\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/arrow/regular\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask-2\",\n fill: \"white\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#path-1\"\n})), /*#__PURE__*/React.createElement(\"use\", {\n id: \"Mask\",\n fillRule: \"nonzero\",\n xlinkHref: \"#arrow-path\"\n})));\n\nfunction SvgRegular(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"13px\",\n height: \"8px\",\n viewBox: \"0 0 13 8\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRegular);\nexport default __webpack_public_path__ + \"static/media/regular.3140e691.svg\";\nexport { ForwardRef as ReactComponent };","import * as sanctuary from 'sanctuary'\n\nconst checkOnlyDev = () => {\n if (!process.env.NODE_ENV === 'production') return false\n\n return (\n process.env.NODE_ENV === 'development' &&\n process.env.REACT_APP_TYPE_CHECK_SANCTUARY === 'true'\n )\n}\n\nconst S = sanctuary.create({\n checkTypes: checkOnlyDev(),\n env: sanctuary.env\n})\n\nexport default S\n","import * as R from 'ramda'\n\nimport S from './sanctuary'\n\nconst formatLong = value => {\n if (!value || value.length <= 20) return value\n\n return `${value.slice(0, 8)}(...)${value.slice(\n value.length - 8,\n value.length\n )}`\n}\n\nconst toFirstLower = S.compose(S.joinWith(''))(R.adjust(0, S.toLower))\nconst toFirstUpper = S.compose(S.joinWith(''))(R.adjust(0, S.toUpper))\nconst onlyFirstToUpper = S.compose(toFirstUpper)(S.toLower)\n\nconst splitOnUpper = R.compose(\n S.splitOn(' '),\n R.replace(/([A-Z])/g, ' $1'),\n toFirstLower\n)\nconst startCase = R.compose(\n S.joinWith(' '),\n S.map(onlyFirstToUpper),\n splitOnUpper\n)\n\nexport { startCase, onlyFirstToUpper, formatLong }\n","import { subheaderColor, offColor, white } from '../../../styling/variables'\nimport typographyStyles from '../../typography/styles'\n\nconst { p, label1 } = typographyStyles\n\nconst WIDTH = 152\n\nexport default {\n selectedItem: {\n width: WIDTH - 41,\n display: 'block',\n whiteSpace: 'nowrap',\n overflow: 'hidden'\n },\n select: {\n width: WIDTH,\n zIndex: 2,\n '& label': {\n extend: label1,\n color: offColor,\n paddingLeft: 10\n },\n '& button': {\n extend: p,\n position: 'relative',\n border: 0,\n backgroundColor: subheaderColor,\n width: WIDTH,\n padding: [[6, 0, 6, 12]],\n borderRadius: 20,\n lineHeight: '1.14',\n textAlign: 'left',\n color: offColor,\n cursor: 'pointer',\n outline: '0 none'\n },\n '& ul': {\n maxHeight: '200px',\n width: WIDTH,\n overflowY: 'auto',\n position: 'absolute',\n margin: 0,\n borderTop: 0,\n padding: 0,\n borderRadius: [[0, 0, 8, 8]],\n backgroundColor: subheaderColor,\n outline: '0 none',\n '& li': {\n extend: p,\n listStyleType: 'none',\n padding: [[6, 12]],\n cursor: 'pointer',\n '& span': {\n width: '100%',\n display: 'block',\n overflow: 'hidden',\n whiteSpace: 'nowrap'\n }\n },\n '& li:hover': {\n backgroundColor: offColor,\n color: white\n }\n },\n '& svg': {\n position: 'absolute',\n top: 12,\n right: 14,\n fill: offColor\n }\n },\n selectFiltered: {\n '& button': {\n backgroundColor: offColor,\n color: white\n },\n '& ul': {\n '& li': {\n backgroundColor: offColor,\n color: white\n },\n '& li:hover': {\n backgroundColor: subheaderColor,\n color: offColor\n }\n },\n '& svg': {\n fill: [[white], '!important']\n }\n },\n open: {\n '& button': {\n borderRadius: [[8, 8, 0, 0]]\n }\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { useSelect } from 'downshift'\nimport React from 'react'\n\nimport { ReactComponent as Arrowdown } from 'src/styling/icons/action/arrow/regular.svg'\nimport { startCase } from 'src/utils/string'\n\nimport styles from './Select.styles'\n\nconst useStyles = makeStyles(styles)\n\nfunction Select({ label, items, ...props }) {\n const classes = useStyles()\n\n const {\n isOpen,\n selectedItem,\n getToggleButtonProps,\n getLabelProps,\n getMenuProps,\n getItemProps\n } = useSelect({\n items,\n selectedItem: props.selectedItem,\n onSelectedItemChange: item => {\n props.onSelectedItemChange(item.selectedItem)\n }\n })\n\n const selectClassNames = {\n [classes.select]: true,\n [classes.selectFiltered]: selectedItem !== props.default,\n [classes.open]: isOpen\n }\n\n return (\n
\n \n \n
    \n {isOpen &&\n items.map((item, index) => (\n
  • \n {startCase(item)}\n
  • \n ))}\n
\n
\n )\n}\n\nexport default Select\n","import Chip from '@material-ui/core/Chip'\nimport { withStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport {\n fontColor,\n inputFontWeight,\n subheaderColor,\n smallestFontSize,\n inputFontFamily\n} from 'src/styling/variables'\n\nconst styles = theme => ({\n root: {\n backgroundColor: subheaderColor,\n borderRadius: 4,\n margin: theme.spacing(0.5, 0.25),\n height: 18\n },\n label: {\n fontSize: smallestFontSize,\n color: fontColor,\n fontWeight: inputFontWeight,\n fontFamily: inputFontFamily,\n paddingRight: 4,\n paddingLeft: 4\n }\n})\n\nconst LsChip = memo(({ classes, ...props }) => (\n \n))\n\nexport default withStyles(styles)(LsChip)\n","import { spacer, tomato, primaryColor as zodiac } from 'src/styling/variables'\n\nconst colors = {\n cashOut: {\n empty: tomato,\n full: zodiac\n },\n cashIn: {\n empty: zodiac,\n full: tomato\n }\n}\n\nconst colorPicker = ({ percent, cashOut }) =>\n colors[cashOut ? 'cashOut' : 'cashIn'][percent >= 50 ? 'full' : 'empty']\n\nconst cashboxStyles = {\n cashbox: {\n borderColor: colorPicker,\n backgroundColor: colorPicker,\n height: 118,\n width: 80,\n border: '2px solid',\n textAlign: 'end',\n display: 'inline-block'\n },\n emptyPart: {\n backgroundColor: 'white',\n height: ({ percent }) => `${100 - percent}%`,\n position: 'relative',\n '& > p': {\n color: colorPicker,\n display: 'inline-block',\n position: 'absolute',\n margin: 0,\n bottom: 0,\n right: 0\n }\n },\n fullPart: {\n backgroundColor: colorPicker,\n '& > p': {\n color: 'white',\n display: 'inline'\n }\n }\n}\n\nconst gridStyles = {\n row: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n innerRow: {\n display: 'flex',\n justifyContent: 'flex-start'\n },\n col2: {\n marginLeft: 16\n },\n noMarginText: {\n marginTop: 0,\n marginBottom: 0\n },\n link: {\n marginTop: spacer\n },\n chip: {\n margin: [[0, 0, 0, 7]]\n }\n}\n\nexport { cashboxStyles, gridStyles }\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport Chip from 'src/components/Chip'\nimport { Link } from 'src/components/buttons'\nimport { Info2, Label1, Label2 } from 'src/components/typography'\n\nimport TextInputFormik from '../base/TextInput'\n\nimport { cashboxStyles, gridStyles } from './Cashbox.styles'\n\nconst cashboxClasses = makeStyles(cashboxStyles)\nconst gridClasses = makeStyles(gridStyles)\n\nconst Cashbox = ({ percent = 0, cashOut = false, className }) => {\n const classes = cashboxClasses({ percent, cashOut })\n const threshold = 51\n\n return (\n
\n
\n {percent <= threshold && {percent.toFixed(0)}%}\n
\n
\n {percent > threshold && {percent.toFixed(0)}%}\n
\n
\n )\n}\n\n// https://support.lamassu.is/hc/en-us/articles/360025595552-Installing-the-Sintra-Forte\n// Sintra and Sintra Forte can have up to 500 notes per cashOut box and up to 1000 per cashIn box\nconst CashIn = ({ capacity = 1000, notes = 0, total = 0 }) => {\n const percent = (100 * notes) / capacity\n const classes = gridClasses()\n return (\n <>\n
\n
\n \n
\n
\n
\n {notes} notes\n {total}\n
\n
\n
\n \n )\n}\n\nconst CashInFormik = ({\n capacity = 1000,\n onEmpty,\n field: {\n value: { notes, deviceId }\n },\n form: { setFieldValue }\n}) => {\n const classes = gridClasses()\n\n return (\n <>\n
\n
\n \n
\n
\n
\n {\n onEmpty({\n variables: {\n deviceId,\n action: 'emptyCashInBills'\n }\n }).then(() => setFieldValue('cashin.notes', 0))\n }}\n className={classes.link}\n color={'primary'}>\n Empty\n \n
\n
\n
\n \n )\n}\n\nconst CashOut = ({\n capacity = 500,\n denomination = 0,\n currency,\n notes,\n className\n}) => {\n const percent = (100 * notes) / capacity\n const classes = gridClasses()\n return (\n <>\n
\n
\n \n
\n
\n
\n {notes}\n \n
\n
\n \n {notes * denomination} {currency.code}\n \n
\n
\n
\n \n )\n}\n\nconst CashOutFormik = ({ capacity = 500, ...props }) => {\n const {\n name,\n onChange,\n onBlur,\n value: { notes }\n } = props.field\n const { touched, errors } = props.form\n\n const error = !!(touched[name] && errors[name])\n\n const percent = (100 * notes) / capacity\n const classes = gridClasses()\n\n return (\n <>\n
\n
\n \n
\n
\n
\n \n
\n
\n
\n \n )\n}\n\nexport { Cashbox, CashIn, CashInFormik, CashOut, CashOutFormik }\n","import * as R from 'ramda'\n\nconst namespaces = {\n CASH_OUT: 'cashOut',\n WALLETS: 'wallets',\n OPERATOR_INFO: 'operatorInfo',\n NOTIFICATIONS: 'notifications',\n LOCALE: 'locale',\n COMMISSIONS: 'commissions',\n RECEIPT: 'receipt',\n COIN_ATM_RADAR: 'coinAtmRadar',\n TERMS_CONDITIONS: 'termsConditions'\n}\n\nconst mapKeys = R.curry((fn, obj) =>\n R.fromPairs(R.map(R.adjust(0, fn), R.toPairs(obj)))\n)\n\nconst filterByKey = R.curry((fn, obj) =>\n R.fromPairs(R.filter(it => fn(it[0]), R.toPairs(obj)))\n)\n\nconst stripl = R.curry((q, str) =>\n R.startsWith(q, str) ? str.slice(q.length) : str\n)\n\nconst filtered = key => filterByKey(R.startsWith(`${key}_`))\nconst stripped = key => mapKeys(stripl(`${key}_`))\n\nconst fromNamespace = R.curry((key, config) =>\n R.compose(stripped(key), filtered(key))(config)\n)\n\nconst toNamespace = R.curry((key, config) =>\n mapKeys(it => `${key}_${it}`)(config)\n)\n\nexport { fromNamespace, toNamespace, namespaces }\n","import {\n spacer,\n fontPrimary,\n primaryColor,\n white,\n errorColor\n} from 'src/styling/variables'\nconst styles = {\n grid: {\n flex: 1,\n height: '100%'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n marginLeft: spacer * 6\n },\n footer: {\n margin: [['auto', 0, spacer * 3, 'auto']]\n },\n modalTitle: {\n lineHeight: '120%',\n color: primaryColor,\n fontSize: 14,\n fontFamily: fontPrimary,\n fontWeight: 900\n },\n subtitle: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n },\n white: {\n color: white\n },\n deleteButton: {\n paddingLeft: 13\n },\n addressRow: {\n marginLeft: 8\n },\n error: {\n color: errorColor\n }\n}\n\nexport default styles\n","import { makeStyles, Modal as MaterialModal, Paper } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { IconButton } from 'src/components/buttons'\nimport { H1, H4 } from 'src/components/typography'\nimport { ReactComponent as CloseIcon } from 'src/styling/icons/action/close/zodiac.svg'\n\nconst styles = {\n modal: {\n display: 'flex',\n justifyContent: 'center',\n flexDirection: 'column',\n alignItems: 'center'\n },\n wrapper: ({ width, height }) => ({\n width,\n height,\n display: 'flex',\n flexDirection: 'column',\n minHeight: height ?? 400,\n maxHeight: '90vh',\n overflowY: 'auto',\n borderRadius: 8,\n outline: 0\n }),\n infoPanelWrapper: ({ width, infoPanelHeight }) => ({\n width,\n height: infoPanelHeight,\n marginTop: 16,\n display: 'flex',\n flexDirection: 'column',\n minHeight: infoPanelHeight ?? 200,\n maxHeight: '90vh',\n overflowY: 'auto',\n borderRadius: 8,\n outline: 0\n }),\n panelContent: {\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n padding: [[0, 24]]\n },\n content: ({ small, xl }) => ({\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n padding: xl ? [[0, 60 + 28]] : small ? [[0, 16]] : [[0, 32]]\n }),\n button: ({ small, xl }) => ({\n padding: [[0, 0, xl ? 26 : 0, 0]],\n margin: xl\n ? [[0, 0, 'auto', 'auto']]\n : small\n ? [[12, 12, 'auto', 'auto']]\n : [[16, 16, 'auto', 'auto']]\n }),\n header: {\n display: 'flex'\n },\n title: ({ small }) => ({\n margin: small ? [[20, 0, 8, 16]] : [[28, 0, 8, 32]]\n })\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Modal = ({\n width,\n height,\n infoPanelHeight,\n title,\n small,\n xl,\n infoPanel,\n handleClose,\n children,\n secondaryModal,\n className,\n closeOnEscape,\n closeOnBackdropClick,\n ...props\n}) => {\n const classes = useStyles({ width, height, small, infoPanelHeight, xl })\n const TitleCase = small ? H4 : H1\n const closeSize = xl ? 28 : small ? 16 : 20\n\n const innerClose = (evt, reason) => {\n if (!closeOnBackdropClick && reason === 'backdropClick') return\n if (!closeOnEscape && reason === 'escapeKeyDown') return\n handleClose()\n }\n\n return (\n \n <>\n \n
\n {title && {title}}\n handleClose()}>\n \n \n
\n
{children}
\n
\n {infoPanel && (\n \n
{infoPanel}
\n
\n )}\n \n
\n )\n}\n\nexport default Modal\n","import { makeStyles } from '@material-ui/core/styles'\nimport { Formik, Form, Field } from 'formik'\nimport * as R from 'ramda'\nimport React from 'react'\nimport * as Yup from 'yup'\n\nimport Modal from 'src/components/Modal'\nimport { Link } from 'src/components/buttons'\nimport { TextInput } from 'src/components/inputs/formik'\nimport { H3 } from 'src/components/typography'\n\nimport styles from './Blacklist.styles'\nconst useStyles = makeStyles(styles)\n\nconst BlackListModal = ({\n onClose,\n selectedCoin,\n addToBlacklist,\n errorMsg\n}) => {\n const classes = useStyles()\n const handleAddToBlacklist = address => {\n if (selectedCoin.code === 'BCH' && !address.startsWith('bitcoincash:')) {\n address = 'bitcoincash:' + address\n }\n addToBlacklist(selectedCoin.code, address)\n }\n const placeholderAddress = {\n BTC: '1ADwinnimZKGgQ3dpyfoUZvJh4p1UWSSpD',\n ETH: '0x71C7656EC7ab88b098defB751B7401B5f6d8976F',\n LTC: 'LPKvbjwV1Kaksktzkr7TMK3FQtQEEe6Wqa',\n DASH: 'XqQ7gU8eM76rEfey726cJpT2RGKyJyBrcn',\n ZEC: 't1KGyyv24eL354C9gjveBGEe8Xz9UoPKvHR',\n BCH: 'qrd6za97wm03lfyg82w0c9vqgc727rhemg5yd9k3dm'\n }\n\n return (\n \n {\n handleAddToBlacklist(address.trim())\n resetForm()\n }}>\n
\n

\n {selectedCoin.display\n ? `Blacklist ${R.toLower(selectedCoin.display)} address`\n : ''}\n

\n {errorMsg}\n \n \n \n
\n \n Blacklist address\n \n
\n \n )\n}\n\nexport default BlackListModal\n","import typographyStyles from 'src/components/typography/styles'\nimport { bySize, bold } from 'src/styling/helpers'\nimport {\n tableHeaderColor,\n tableHeaderHeight,\n tableErrorColor,\n spacer,\n white,\n tableDoubleHeaderHeight,\n offColor,\n errorColor\n} from 'src/styling/variables'\n\nconst { tl2, p, label1 } = typographyStyles\n\nexport default {\n size: ({ size }) => bySize(size),\n bold,\n header: {\n extend: tl2,\n backgroundColor: tableHeaderColor,\n height: tableHeaderHeight,\n textAlign: 'left',\n color: white,\n display: 'flex',\n alignItems: 'center'\n },\n doubleHeader: {\n extend: tl2,\n backgroundColor: tableHeaderColor,\n height: tableDoubleHeaderHeight,\n color: white,\n display: 'table-row'\n },\n thDoubleLevel: ({ width }) => ({\n width,\n display: 'table-cell',\n '& > :first-child': {\n margin: [[0, 10]],\n extend: label1,\n fontWeight: 700,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n backgroundColor: offColor,\n color: white,\n borderRadius: [[0, 0, 8, 8]],\n height: 28\n },\n '& > :last-child': {\n padding: [[0, 11]],\n display: 'table-cell',\n verticalAlign: 'middle',\n height: tableDoubleHeaderHeight - 28\n }\n }),\n cellDoubleLevel: {\n display: 'flex',\n padding: [[0, spacer * 2]]\n },\n td: ({ textAlign, width }) => ({\n width,\n padding: [[1, spacer * 3, 0, spacer * 3]],\n textAlign\n }),\n tdHeader: {\n verticalAlign: 'middle',\n display: 'table-cell',\n padding: [[0, spacer * 3]]\n },\n trError: {\n backgroundColor: tableErrorColor\n },\n mainContent: ({ size }) => {\n const minHeight = size === 'lg' ? 68 : 48\n return {\n display: 'flex',\n alignItems: 'center',\n minHeight\n }\n },\n // mui-overrides\n cardContentRoot: {\n margin: 0,\n padding: 0,\n '&:last-child': {\n padding: 0\n }\n },\n card: {\n extend: p,\n '&:before': {\n height: 0\n },\n margin: [[4, 0, 0, 0]],\n width: '100%',\n boxShadow: [[0, 0, 4, 0, 'rgba(0, 0, 0, 0.08)']]\n },\n actionCol: {\n marginLeft: 'auto'\n },\n errorContent: {\n padding: [[12, 0, 12, 24]],\n color: errorColor\n }\n}\n","import Card from '@material-ui/core/Card'\nimport CardContent from '@material-ui/core/CardContent'\nimport { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { Link } from 'src/components/buttons'\n\nimport styles from './Table.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Table = ({ children, className, ...props }) => (\n
\n {children}\n
\n)\n\nconst THead = ({ children, className }) => {\n const classes = useStyles()\n return
{children}
\n}\n\nconst TDoubleLevelHead = ({ children, className }) => {\n const classes = useStyles()\n\n return (\n
\n {children}\n
\n )\n}\n\nconst TBody = ({ children, className }) => {\n return
{children}
\n}\n\nconst Td = ({\n children,\n header,\n className,\n width = 100,\n size,\n bold,\n textAlign,\n action\n}) => {\n const classes = useStyles({ textAlign, width, size })\n const classNames = {\n [classes.td]: true,\n [classes.tdHeader]: header,\n [classes.actionCol]: action,\n [classes.size]: !header,\n [classes.bold]: !header && bold\n }\n\n return
{children}
\n}\n\nconst Th = ({ children, ...props }) => {\n return (\n \n {children}\n \n )\n}\n\nconst ThDoubleLevel = ({ title, children, className, width }) => {\n const classes = useStyles({ width })\n\n return (\n
\n
{title}
\n
{children}
\n
\n )\n}\n\nconst Tr = ({ onClick, error, errorMessage, children, className, size }) => {\n const classes = useStyles({ size })\n const cardClasses = { root: classes.cardContentRoot }\n const classNames = {\n [classes.tr]: true,\n [classes.trError]: error,\n [classes.card]: true,\n className\n }\n\n return (\n <>\n \n \n
{children}
\n {error &&
{errorMessage}
}\n
\n
\n \n )\n}\n\nconst EditCell = ({ save, cancel }) => (\n \n \n Cancel\n \n \n Save\n \n \n)\n\nexport {\n Table,\n THead,\n TDoubleLevelHead,\n TBody,\n Tr,\n Td,\n Th,\n ThDoubleLevel,\n EditCell\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/expand/closed\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#1B2559\",\n strokeWidth: 1.5\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4\",\n cx: 14,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy\",\n cx: 8,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy-2\",\n cx: 2,\n cy: 2,\n r: 2\n})));\n\nfunction SvgClosed(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"6px\",\n viewBox: \"0 0 18 6\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgClosed);\nexport default __webpack_public_path__ + \"static/media/closed.b853a619.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/expand/open\",\n transform: \"translate(1.000000, 1.000000)\",\n fill: \"#1B2559\",\n stroke: \"#1B2559\",\n strokeWidth: 1.5\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4\",\n cx: 14,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy\",\n cx: 8,\n cy: 2,\n r: 2\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-4-Copy-2\",\n cx: 2,\n cy: 2,\n r: 2\n})));\n\nfunction SvgOpen(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"6px\",\n viewBox: \"0 0 18 6\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgOpen);\nexport default __webpack_public_path__ + \"static/media/open.7196c113.svg\";\nexport { ForwardRef as ReactComponent };","import { zircon } from 'src/styling/variables'\n\nexport default {\n expandButton: {\n outline: 'none',\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n padding: 4\n },\n rowWrapper: {\n // workaround to shadows cut by r-virtualized when scroll is visible\n padding: 1\n },\n row: {\n border: [[2, 'solid', 'transparent']],\n borderRadius: 0\n },\n expanded: {\n border: [[2, 'solid', zircon]],\n boxShadow: '0 0 8px 0 rgba(0,0,0,0.08)'\n },\n before: {\n paddingTop: 12\n },\n after: {\n paddingBottom: 12\n },\n pointer: {\n cursor: 'pointer'\n },\n body: {\n flex: [[1, 1, 'auto']]\n },\n table: ({ width }) => ({\n marginBottom: 30,\n minHeight: 200,\n width,\n flex: 1,\n display: 'flex',\n flexDirection: 'column'\n })\n}\n","import { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useState, useEffect } from 'react'\nimport {\n AutoSizer,\n List,\n CellMeasurer,\n CellMeasurerCache\n} from 'react-virtualized'\n\nimport {\n Table,\n TBody,\n THead,\n Tr,\n Td,\n Th\n} from 'src/components/fake-table/Table'\nimport { H4 } from 'src/components/typography'\nimport { ReactComponent as ExpandClosedIcon } from 'src/styling/icons/action/expand/closed.svg'\nimport { ReactComponent as ExpandOpenIcon } from 'src/styling/icons/action/expand/open.svg'\n\nimport styles from './DataTable.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Row = ({\n id,\n elements,\n data,\n width,\n Details,\n expanded,\n expandRow,\n expWidth,\n expandable,\n onClick\n}) => {\n const classes = useStyles()\n\n const hasPointer = onClick || expandable\n const trClasses = {\n [classes.pointer]: hasPointer,\n [classes.row]: true,\n [classes.expanded]: expanded\n }\n\n return (\n
\n
\n {\n expandable && expandRow(id)\n onClick && onClick(data)\n }}\n error={data.error}\n errorMessage={data.errorMessage}>\n {elements.map(({ view = it => it?.toString(), ...props }, idx) => (\n \n {view(data)}\n \n ))}\n {expandable && (\n \n expandRow(id)}\n className={classes.expandButton}>\n {expanded && }\n {!expanded && }\n \n \n )}\n \n
\n {expandable && expanded && (\n
\n \n \n
\n \n \n
\n )}\n
\n )\n}\n\nconst DataTable = ({\n elements = [],\n data = [],\n Details,\n className,\n expandable,\n initialExpanded,\n onClick,\n loading,\n emptyText,\n ...props\n}) => {\n const [expanded, setExpanded] = useState(initialExpanded)\n\n useEffect(() => setExpanded(initialExpanded), [initialExpanded])\n\n const coreWidth = R.compose(R.sum, R.map(R.prop('width')))(elements)\n const expWidth = 1200 - coreWidth\n const width = coreWidth + (expandable ? expWidth : 0)\n\n const classes = useStyles({ width })\n\n const expandRow = id => {\n setExpanded(id === expanded ? null : id)\n }\n\n const cache = new CellMeasurerCache({\n defaultHeight: 62,\n fixedWidth: true\n })\n\n function rowRenderer({ index, key, parent, style }) {\n return (\n \n
\n \n
\n \n )\n }\n\n return (\n \n \n \n {elements.map(({ width, className, textAlign, header }, idx) => (\n \n {header}\n \n ))}\n {expandable && }\n \n \n {loading &&

Loading...

}\n {!loading && R.isEmpty(data) &&

{emptyText}

}\n \n {({ height }) => (\n \n )}\n \n \n
\n
\n )\n}\n\nexport default DataTable\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/copy\",\n transform: \"translate(1.000000, 1.000000)\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5-Copy-2\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n strokeWidth: 2,\n points: \"6 1.2 6 -0.00024 16 -0.00024 16 13.06376 12 13.06376\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n points: \"0 15.9368 10 15.9368 10 2.9368 0 2.9368\"\n}))));\n\nfunction SvgCopy(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCopy);\nexport default __webpack_public_path__ + \"static/media/copy.f4cea549.svg\";\nexport { ForwardRef as ReactComponent };","import { fontSize5 } from 'src/styling/variables'\n\nexport default {\n titleWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n flexDirection: 'row'\n },\n wrapper: {\n flex: 1,\n display: 'flex',\n flexDirection: 'row',\n height: '100%'\n },\n tableWrapper: {\n flex: 1,\n marginLeft: 40,\n display: 'block',\n overflowX: 'auto',\n width: '100%',\n maxWidth: '78%',\n maxHeight: '70vh'\n },\n table: {\n whiteSpace: 'nowrap',\n display: 'block',\n '& th': {\n position: 'sticky',\n top: 0\n }\n },\n dateColumn: {\n minWidth: 160\n },\n levelColumn: {\n minWidth: 100\n },\n fillColumn: {\n width: '100%'\n },\n shareButton: {\n margin: 8,\n display: 'flex',\n alignItems: 'center',\n fontSize: fontSize5,\n padding: [[0, 12]]\n },\n shareIcon: {\n marginRight: 6\n },\n button: {\n margin: 8\n },\n titleAndButtonsContainer: {\n display: 'flex'\n },\n buttonsWrapper: {\n display: 'flex',\n marginLeft: 16,\n '& > *': {\n margin: 'auto 6px'\n }\n }\n}\n","import typographyStyles from 'src/components/typography/styles'\nimport baseStyles from 'src/pages/Logs.styles'\nimport { offColor, white } from 'src/styling/variables'\n\nconst { label1, mono, p } = typographyStyles\nconst { titleWrapper, titleAndButtonsContainer, buttonsWrapper } = baseStyles\n\nconst cpcStyles = {\n wrapper: {\n extend: mono,\n display: 'flex',\n alignItems: 'center',\n height: 32\n },\n address: {\n lineBreak: 'anywhere'\n },\n buttonWrapper: {\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n popoverContent: {\n extend: label1,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n color: white,\n borderRadius: 4,\n padding: [[5, 9]]\n }\n}\n\nconst detailsRowStyles = {\n idCardDataCard: {\n extend: p,\n display: 'flex',\n padding: [[11, 8]],\n '& > div': {\n display: 'flex',\n flexDirection: 'column',\n '& > div': {\n width: 144,\n height: 37,\n marginBottom: 15,\n '&:last-child': {\n marginBottom: 0\n }\n }\n }\n }\n}\n\nconst labelStyles = {\n label: {\n extend: label1,\n color: offColor,\n marginBottom: 4\n }\n}\n\nconst mainStyles = {\n titleWrapper,\n titleAndButtonsContainer,\n buttonsWrapper,\n headerLabels: {\n display: 'flex',\n flexDirection: 'row',\n '& div': {\n display: 'flex',\n alignItems: 'center'\n },\n '& > div:first-child': {\n marginRight: 24\n },\n '& span': {\n extend: label1,\n marginLeft: 6\n }\n },\n overflowTd: {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n }\n}\n\nexport { cpcStyles, detailsRowStyles, labelStyles, mainStyles }\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useState, useEffect } from 'react'\nimport { CopyToClipboard as ReactCopyToClipboard } from 'react-copy-to-clipboard'\n\nimport Popover from 'src/components/Popper'\nimport { ReactComponent as CopyIcon } from 'src/styling/icons/action/copy/copy.svg'\nimport { comet } from 'src/styling/variables'\n\nimport { cpcStyles } from './Transactions.styles'\n\nconst useStyles = makeStyles(cpcStyles)\n\nconst CopyToClipboard = ({\n className,\n buttonClassname,\n children,\n ...props\n}) => {\n const [anchorEl, setAnchorEl] = useState(null)\n\n useEffect(() => {\n if (anchorEl) setTimeout(() => setAnchorEl(null), 3000)\n }, [anchorEl])\n\n const classes = useStyles()\n\n const handleClick = event => {\n setAnchorEl(anchorEl ? null : event.currentTarget)\n }\n\n const handleClose = () => {\n setAnchorEl(null)\n }\n\n const open = Boolean(anchorEl)\n const id = open ? 'simple-popper' : undefined\n\n return (\n
\n {children && (\n <>\n
\n {children}\n
\n
\n \n handleClick(event)}>\n \n \n \n
\n \n
\n
Copied to clipboard!
\n
\n \n \n )}\n
\n )\n}\n\nexport default CopyToClipboard\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/delete/enabled\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 9,\n x2: 9,\n y2: 18,\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13,\n y1: 9,\n x2: 13,\n y2: 18,\n id: \"Stroke-2\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n strokeLinejoin: \"round\",\n points: \"3 6 5 21 17 21 19 6\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 1,\n y1: 5,\n x2: 21,\n y2: 5,\n id: \"Stroke-5\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14,4 C14,2.343 12.657,1 11,1 C9.343,1 8,2.343 8,4\",\n id: \"Stroke-7\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}));\n\nfunction SvgEnabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEnabled);\nexport default __webpack_public_path__ + \"static/media/enabled.a058fdfc.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { IconButton } from 'src/components/buttons'\nimport DataTable from 'src/components/tables/DataTable'\nimport { Label1 } from 'src/components/typography'\nimport CopyToClipboard from 'src/pages/Transactions/CopyToClipboard'\nimport { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg'\n\nimport styles from './Blacklist.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst BlacklistTable = ({ data, selectedCoin, handleDeleteEntry }) => {\n const classes = useStyles()\n\n const elements = [\n {\n name: 'address',\n header: {'Addresses'},\n width: 800,\n textAlign: 'left',\n size: 'sm',\n view: it => (\n
\n {R.path(['address'], it)}\n
\n )\n },\n {\n name: 'deleteButton',\n header: {'Delete'},\n width: 130,\n textAlign: 'center',\n size: 'sm',\n view: it => (\n \n handleDeleteEntry(\n R.path(['cryptoCode'], it),\n R.path(['address'], it)\n )\n }>\n \n \n )\n }\n ]\n const dataToShow = selectedCoin\n ? data[selectedCoin.code]\n : data[R.keys(data)[0]]\n\n return (\n \n )\n}\n\nexport default BlacklistTable\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { Box } from '@material-ui/core'\nimport Grid from '@material-ui/core/Grid'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { Link } from 'src/components/buttons'\nimport { Switch } from 'src/components/inputs'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { H4, Label2, P } from 'src/components/typography'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport styles from './Blacklist.styles'\nimport BlackListModal from './BlacklistModal'\nimport BlacklistTable from './BlacklistTable'\n\nconst useStyles = makeStyles(styles)\n\nconst groupByCode = R.groupBy(obj => obj.cryptoCode)\n\nconst DELETE_ROW = gql`\n mutation DeleteBlacklistRow($cryptoCode: String!, $address: String!) {\n deleteBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n`\n\nconst GET_BLACKLIST = gql`\n query getBlacklistData {\n blacklist {\n cryptoCode\n address\n }\n cryptoCurrencies {\n display\n code\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n config\n }\n`\n\nconst ADD_ROW = gql`\n mutation InsertBlacklistRow($cryptoCode: String!, $address: String!) {\n insertBlacklistRow(cryptoCode: $cryptoCode, address: $address) {\n cryptoCode\n address\n }\n }\n`\n\nconst Blacklist = () => {\n const { data: blacklistResponse } = useQuery(GET_BLACKLIST)\n const { data: configData } = useQuery(GET_INFO)\n const [showModal, setShowModal] = useState(false)\n const [clickedItem, setClickedItem] = useState({\n code: 'BTC',\n display: 'Bitcoin'\n })\n const [errorMsg, setErrorMsg] = useState(null)\n\n const [deleteEntry] = useMutation(DELETE_ROW, {\n onError: () => console.error('Error while deleting row'),\n refetchQueries: () => ['getBlacklistData']\n })\n\n const [addEntry] = useMutation(ADD_ROW, {\n onError: () => console.log('Error while adding row'),\n refetchQueries: () => ['getBlacklistData']\n })\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: () => ['getData']\n })\n\n const classes = useStyles()\n\n const blacklistData = R.path(['blacklist'])(blacklistResponse) ?? []\n const availableCurrencies =\n R.path(['cryptoCurrencies'], blacklistResponse) ?? []\n\n const formattedData = groupByCode(blacklistData)\n\n const complianceConfig =\n configData?.config && fromNamespace('compliance')(configData.config)\n\n const rejectAddressReuse = complianceConfig?.rejectAddressReuse ?? false\n\n const addressReuseSave = rawConfig => {\n const config = toNamespace('compliance')(rawConfig)\n return saveConfig({ variables: { config } })\n }\n\n const onClickSidebarItem = e => {\n setClickedItem({ code: e.code, display: e.display })\n }\n\n const handleDeleteEntry = (cryptoCode, address) => {\n deleteEntry({ variables: { cryptoCode, address } })\n }\n\n const addToBlacklist = async (cryptoCode, address) => {\n setErrorMsg(null)\n const res = await addEntry({ variables: { cryptoCode, address } })\n if (!res.errors) {\n return setShowModal(false)\n }\n const duplicateKeyError = res.errors.some(e => {\n return e.message.includes('duplicate')\n })\n if (duplicateKeyError) {\n setErrorMsg('This address is already being blocked')\n } else {\n setErrorMsg('Server error')\n }\n }\n\n return (\n <>\n \n
\n setShowModal(true)}>\n Blacklist new addresses\n \n
\n
\n \n it.display}\n onClick={onClickSidebarItem}\n />\n
\n \n

\n {clickedItem.display\n ? `${clickedItem.display} blacklisted addresses`\n : ''}{' '}\n

\n \n

Reject reused addresses

\n {\n addressReuseSave({ rejectAddressReuse: event.target.checked })\n }}\n value={rejectAddressReuse}\n />\n {rejectAddressReuse ? 'On' : 'Off'}\n \n

\n The \"Reject reused addresses\" option means that all addresses\n that are used once will be automatically rejected if there's\n an attempt to use them again on a new transaction.\n

\n
\n
\n \n \n
\n
\n {showModal && (\n {\n setErrorMsg(null)\n setShowModal(false)\n }}\n errorMsg={errorMsg}\n selectedCoin={clickedItem}\n addToBlacklist={addToBlacklist}\n />\n )}\n \n )\n}\n\nexport default Blacklist\n","import Blacklist from './Blacklist'\n\nexport default Blacklist\n","import { useFormikContext } from 'formik'\nimport React from 'react'\nimport { Prompt } from 'react-router-dom'\n\nconst PROMPT_DEFAULT_MESSAGE =\n 'You have unsaved changes on this page. Are you sure you want to leave?'\n\nconst PromptWhenDirty = ({ message = PROMPT_DEFAULT_MESSAGE }) => {\n const formik = useFormikContext()\n\n return (\n \n )\n}\n\nexport default PromptWhenDirty\n","import React from 'react'\n\nexport default React.createContext()\n","import * as R from 'ramda'\nimport React, { useContext } from 'react'\n\nimport {\n Td,\n THead,\n TDoubleLevelHead,\n ThDoubleLevel\n} from 'src/components/fake-table/Table'\nimport { startCase } from 'src/utils/string'\n\nimport TableCtx from './Context'\n\nconst groupSecondHeader = elements => {\n const [toSHeader, noSHeader] = R.partition(R.has('doubleHeader'))(elements)\n\n if (!toSHeader.length) {\n return [elements, THead]\n }\n\n const index = R.indexOf(toSHeader[0], elements)\n const width = R.compose(R.sum, R.map(R.path(['width'])))(toSHeader)\n\n const innerElements = R.insert(\n index,\n { width, elements: toSHeader, name: toSHeader[0].doubleHeader },\n noSHeader\n )\n\n return [innerElements, TDoubleLevelHead]\n}\n\nconst Header = () => {\n const {\n elements,\n enableEdit,\n editWidth,\n enableDelete,\n deleteWidth,\n enableToggle,\n toggleWidth,\n DEFAULT_COL_SIZE\n } = useContext(TableCtx)\n\n const mapElement2 = (it, idx) => {\n const { width, elements, name } = it\n\n if (elements && elements.length) {\n return (\n \n {elements.map(mapElement)}\n \n )\n }\n\n return mapElement(it, idx)\n }\n\n const mapElement = (\n { name, width = DEFAULT_COL_SIZE, header, textAlign },\n idx\n ) => (\n \n {header || startCase(name)}\n \n )\n\n const [innerElements, HeaderElement] = groupSecondHeader(elements)\n\n return (\n \n {innerElements.map(mapElement2)}\n {enableEdit && (\n \n Edit\n \n )}\n {enableDelete && (\n \n Delete\n \n )}\n {enableToggle && (\n \n Enable\n \n )}\n \n )\n}\n\nexport default Header\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"path\", {\n id: \"a\",\n d: \"M0 0h22v22H0z\"\n}));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"b\",\n fill: \"#fff\"\n}, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#a\"\n})), /*#__PURE__*/React.createElement(\"path\", {\n stroke: \"#9B9B9B\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n mask: \"url(#b)\",\n d: \"M9 9v9M13 9v9\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#b)\",\n stroke: \"#9B9B9B\",\n strokeLinecap: \"round\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinejoin: \"round\",\n d: \"M3 6l2 15h12l2-15\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1 5h20M14 4a3 3 0 10-6 0\"\n})));\n\nfunction SvgDisabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDisabled);\nexport default __webpack_public_path__ + \"static/media/disabled.347e2b5e.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/edit/disabled\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18\",\n id: \"Stroke-1\",\n stroke: \"#9B9B9B\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#9B9B9B\",\n strokeWidth: 2,\n points: \"6 12 17 1 21 5 10 16 6 16\"\n}));\n\nfunction SvgDisabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDisabled);\nexport default __webpack_public_path__ + \"static/media/disabled.aede2073.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/edit/enabled\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n points: \"6 12 17 1 21 5 10 16 6 16\"\n}));\n\nfunction SvgEnabled(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEnabled);\nexport default __webpack_public_path__ + \"static/media/enabled.5aae4510.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern_68JiZ\",\n patternUnits: \"userSpaceOnUse\",\n width: 5.5,\n height: 5.5,\n patternTransform: \"rotate(45)\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y: 0,\n x2: 0,\n y2: 5.5,\n stroke: \"#DBDFED\",\n strokeWidth: 3\n})));\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"rect\", {\n width: \"100%\",\n height: \"100%\",\n fill: \"url(#pattern_68JiZ)\",\n opacity: 1\n});\n\nfunction SvgStripes(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"100%\",\n height: \"36px\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, \"{' '}\\n \", _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgStripes);\nexport default __webpack_public_path__ + \"static/media/stripes.876e4081.svg\";\nexport { ForwardRef as ReactComponent };","import { bySize, bold } from 'src/styling/helpers'\n\nexport default {\n saveButton: {\n marginRight: 20\n },\n lastOfGroup: {\n marginBottom: 24\n },\n extraPadding: {\n paddingLeft: 35,\n paddingRight: 30\n },\n extraPaddingRight: {\n paddingRight: 39\n },\n withSuffix: ({ textAlign }) => {\n const justifyContent = textAlign === 'right' ? 'end' : textAlign\n return {\n display: 'flex',\n alignItems: 'baseline',\n justifyContent\n }\n },\n suffix: {\n marginLeft: 7\n },\n size: ({ size }) => bySize(size),\n bold\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Field, useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { useContext } from 'react'\n\nimport { Link, IconButton } from 'src/components/buttons'\nimport { Td, Tr } from 'src/components/fake-table/Table'\nimport { Switch } from 'src/components/inputs'\nimport { TL2 } from 'src/components/typography'\nimport { ReactComponent as DisabledDeleteIcon } from 'src/styling/icons/action/delete/disabled.svg'\nimport { ReactComponent as DeleteIcon } from 'src/styling/icons/action/delete/enabled.svg'\nimport { ReactComponent as DisabledEditIcon } from 'src/styling/icons/action/edit/disabled.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { ReactComponent as StripesSvg } from 'src/styling/icons/stripes.svg'\n\nimport TableCtx from './Context'\nimport styles from './Row.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst ActionCol = ({ disabled, editing }) => {\n const classes = useStyles()\n const { values, submitForm, resetForm } = useFormikContext()\n const {\n editWidth,\n onEdit,\n enableEdit,\n enableDelete,\n disableRowEdit,\n onDelete,\n deleteWidth,\n enableToggle,\n onToggle,\n toggleWidth,\n forceAdd,\n clearError,\n actionColSize\n } = useContext(TableCtx)\n\n const disableEdit = disabled || (disableRowEdit && disableRowEdit(values))\n const cancel = () => {\n clearError()\n resetForm()\n }\n\n return (\n <>\n {editing && (\n \n \n Save\n \n {!forceAdd && (\n \n Cancel\n \n )}\n \n )}\n {!editing && enableEdit && (\n \n onEdit && onEdit(values.id)}>\n {disableEdit ? : }\n \n \n )}\n {!editing && enableDelete && (\n \n onDelete(values.id)}>\n {disabled ? : }\n \n \n )}\n {!editing && enableToggle && (\n \n onToggle(values.id)}\n />\n \n )}\n \n )\n}\n\nconst ECol = ({ editing, focus, config, extraPaddingRight, extraPadding }) => {\n const {\n name,\n bypassField,\n input,\n editable = true,\n size,\n bold,\n width,\n textAlign,\n suffix,\n SuffixComponent = TL2,\n view = it => it?.toString(),\n inputProps = {}\n } = config\n\n const { values } = useFormikContext()\n const classes = useStyles({ textAlign, size })\n\n const innerProps = {\n fullWidth: true,\n autoFocus: focus,\n size,\n bold,\n textAlign,\n ...inputProps\n }\n\n // Autocomplete\n if (innerProps.options && !innerProps.getLabel) {\n innerProps.getLabel = view\n }\n\n const isEditing = editing && editable\n const isField = !bypassField\n\n return (\n \n {isEditing && isField && (\n \n )}\n {isEditing && !isField && }\n {!isEditing && values && <>{view(values[name], values)}}\n {suffix && (\n {suffix}\n )}\n \n )\n}\n\nconst groupStriped = elements => {\n const [toStripe, noStripe] = R.partition(R.has('stripe'))(elements)\n\n if (!toStripe.length) {\n return elements\n }\n\n const index = R.indexOf(toStripe[0], elements)\n const width = R.compose(R.sum, R.map(R.path(['width'])))(toStripe)\n\n return R.insert(\n index,\n { width, editable: false, view: () => },\n noStripe\n )\n}\n\nconst ERow = ({ editing, disabled, lastOfGroup }) => {\n const { touched, errors, values } = useFormikContext()\n const {\n elements,\n enableEdit,\n enableDelete,\n error,\n enableToggle,\n rowSize,\n stripeWhen\n } = useContext(TableCtx)\n\n const classes = useStyles()\n\n const shouldStripe = stripeWhen && stripeWhen(values) && !editing\n\n const innerElements = shouldStripe ? groupStriped(elements) : elements\n const [toSHeader] = R.partition(R.has('doubleHeader'))(elements)\n\n const extraPaddingIndex = toSHeader?.length\n ? R.indexOf(toSHeader[0], elements)\n : -1\n\n const extraPaddingRightIndex = toSHeader?.length\n ? R.indexOf(toSHeader[toSHeader.length - 1], elements)\n : -1\n\n const elementToFocusIndex = innerElements.findIndex(\n it => it.editable === undefined || it.editable\n )\n\n const classNames = {\n [classes.lastOfGroup]: lastOfGroup\n }\n\n const touchedErrors = R.pick(R.keys(touched), errors)\n const hasTouchedErrors = touchedErrors && R.keys(touchedErrors).length > 0\n const hasErrors = hasTouchedErrors || !!error\n\n const errorMessage =\n error || (touchedErrors && R.values(touchedErrors).join(', '))\n\n return (\n \n {innerElements.map((it, idx) => {\n return (\n \n )\n })}\n {(enableEdit || enableDelete || enableToggle) && (\n \n )}\n \n )\n}\n\nexport default ERow\n","import { offColor } from 'src/styling/variables'\n\nexport default {\n wrapper: ({ width }) => ({\n width: width\n }),\n addLink: {\n marginLeft: 'auto'\n },\n title: {\n margin: 0,\n color: offColor\n },\n outerHeader: {\n minHeight: 16,\n marginBottom: 24,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport { Form, Formik } from 'formik'\nimport * as R from 'ramda'\nimport React, { useState, useEffect } from 'react'\nimport { v4 } from 'uuid'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport Link from 'src/components/buttons/Link.js'\nimport { AddButton } from 'src/components/buttons/index.js'\nimport { TBody, Table } from 'src/components/fake-table/Table'\nimport { Info2, TL1 } from 'src/components/typography'\n\nimport TableCtx from './Context'\nimport Header from './Header'\nimport ERow from './Row'\nimport styles from './Table.styles'\n\nconst ACTION_COL_SIZE = 87\nconst DEFAULT_COL_SIZE = 100\n\nconst useStyles = makeStyles(styles)\n\nconst getWidth = R.compose(\n R.reduce(R.add)(0),\n R.map(it => it.width ?? DEFAULT_COL_SIZE)\n)\n\nconst ETable = ({\n name,\n title,\n titleLg,\n elements = [],\n data = [],\n save,\n error: externalError,\n rowSize = 'md',\n validationSchema,\n enableCreate,\n enableEdit,\n editWidth: outerEditWidth,\n enableDelete,\n deleteWidth = ACTION_COL_SIZE,\n enableToggle,\n toggleWidth = ACTION_COL_SIZE,\n onToggle,\n forceDisable,\n disableAdd,\n initialValues,\n setEditing,\n shouldOverrideEdit,\n editOverride,\n stripeWhen,\n disableRowEdit,\n groupBy,\n sortBy,\n createText = 'Add override',\n forceAdd = false\n}) => {\n const [editingId, setEditingId] = useState(null)\n const [adding, setAdding] = useState(false)\n const [saving, setSaving] = useState(false)\n const [error, setError] = useState(null)\n\n useEffect(() => setError(externalError), [externalError])\n useEffect(() => {\n setError(null)\n setAdding(forceAdd)\n }, [forceAdd])\n\n const innerSave = async value => {\n if (saving) return\n\n setSaving(true)\n\n const it = validationSchema.cast(value)\n const index = R.findIndex(R.propEq('id', it.id))(data)\n const list = index !== -1 ? R.update(index, it, data) : R.prepend(it, data)\n\n if (!R.equals(data[index], it)) {\n try {\n await save({ [name]: list }, it)\n } catch (err) {\n setSaving(false)\n return\n }\n }\n\n setAdding(false)\n setEditingId(null)\n setEditing && setEditing(false)\n setSaving(false)\n }\n\n const onDelete = id => {\n const list = R.reject(it => it.id === id, data)\n return save({ [name]: list })\n }\n\n const onReset = () => {\n setAdding(false)\n setEditingId(null)\n setEditing && setEditing(false)\n }\n\n const onEdit = it => {\n if (shouldOverrideEdit && shouldOverrideEdit(it)) return editOverride(it)\n setEditingId(it)\n setError(null)\n setEditing && setEditing(it, true)\n }\n\n const addField = () => {\n setAdding(true)\n setError(null)\n setEditing && setEditing(true, true)\n }\n\n const widthIfEditNull =\n enableDelete || enableToggle ? ACTION_COL_SIZE : ACTION_COL_SIZE * 2\n\n const editWidth = R.defaultTo(widthIfEditNull)(outerEditWidth)\n\n const actionColSize =\n ((enableDelete && deleteWidth) ?? 0) +\n ((enableEdit && editWidth) ?? 0) +\n ((enableToggle && toggleWidth) ?? 0)\n\n const width = getWidth(elements) + actionColSize\n const classes = useStyles({ width })\n\n const showButtonOnEmpty = !data.length && enableCreate && !adding\n const canAdd = !forceDisable && !editingId && !disableAdd && !adding\n const showTable = adding || data.length !== 0\n\n const innerData = sortBy ? R.sortWith(sortBy)(data) : data\n\n const ctxValue = {\n elements,\n enableEdit,\n onEdit,\n clearError: () => setError(null),\n error: error,\n disableRowEdit,\n editWidth,\n enableDelete,\n onDelete,\n deleteWidth,\n enableToggle,\n rowSize,\n onToggle,\n toggleWidth,\n actionColSize,\n stripeWhen,\n forceAdd,\n DEFAULT_COL_SIZE\n }\n\n return (\n \n
\n {showButtonOnEmpty && canAdd && (\n {createText}\n )}\n {showTable && (\n <>\n {(title || enableCreate) && (\n
\n {title && titleLg && (\n {title}\n )}\n {title && !titleLg && (\n {title}\n )}\n {enableCreate && canAdd && (\n \n {createText}\n \n )}\n
\n )}\n \n
\n
\n {adding && (\n \n
\n \n \n \n \n )}\n {innerData.map((it, idx) => {\n const nextElement = innerData[idx + 1]\n\n const canGroup = !!groupBy && nextElement\n const isFunction = R.type(groupBy) === 'Function'\n const groupFunction = isFunction ? groupBy : R.prop(groupBy)\n\n const isLastOfGroup =\n canGroup && groupFunction(it) !== groupFunction(nextElement)\n\n return (\n \n
\n \n \n \n \n )\n })}\n
\n
\n \n )}\n
\n
\n )\n}\n\nexport default ETable\n","import * as R from 'ramda'\nimport React from 'react'\n\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport EditableTable from './Table'\n\nconst NamespacedTable = ({\n name,\n save,\n data = {},\n namespaces = [],\n ...props\n}) => {\n const innerSave = (...[, it]) => {\n return save(toNamespace(it.id)(R.omit(['id2'], it)))\n }\n\n const innerData = R.map(it => ({\n id: it,\n ...fromNamespace(it)(data)\n }))(namespaces)\n\n return (\n \n )\n}\n\nexport default NamespacedTable\n","const denomiations = {\n AUD: {\n 5: 130,\n 10: 137,\n 20: 144,\n 50: 151,\n 100: 158\n },\n BBD: {\n 2: 150,\n 5: 150,\n 10: 150,\n 20: 150,\n 50: 150,\n 100: 150\n },\n CAD: {\n 5: 152,\n 10: 152,\n 20: 152,\n 50: 152,\n 100: 152\n },\n CHF: {\n 10: 126,\n 20: 137,\n 50: 148,\n 100: 159,\n 200: 170,\n 1000: 181\n },\n DKK: {\n 50: 125,\n 100: 135,\n 200: 145,\n 500: 155,\n 1000: 165\n },\n EUR: {\n 5: 120,\n 10: 127,\n 20: 133,\n 50: 140,\n 100: 147,\n 200: 153,\n 500: 160\n },\n GBP: {\n 5: 135,\n 10: 142,\n 20: 149,\n 50: 156\n },\n HKD: {\n 10: 134,\n 20: 143,\n 50: 148,\n 100: 153,\n 500: 158,\n 1000: 163\n },\n HUF: {\n 200: 154,\n 500: 154,\n 1000: 154,\n 2000: 154,\n 5000: 154,\n 10000: 154,\n 20000: 154\n },\n ILS: {\n 20: 129,\n 50: 136,\n 100: 143,\n 200: 150\n },\n JMD: {\n 50: 145,\n 100: 145,\n 500: 145,\n 1000: 145,\n 5000: 145\n },\n JPY: {\n 1000: 150,\n 2000: 154,\n 5000: 156,\n 10000: 160\n },\n KZT: {\n 200: 126,\n 500: 130,\n 1000: 134,\n 2000: 139,\n 5000: 144,\n 10000: 155,\n 20000: 155\n },\n MXN: {\n 20: 120,\n 50: 127,\n 100: 134,\n 200: 141,\n 500: 148,\n 1000: 155\n },\n MYR: {\n 1: 120,\n 5: 135,\n 10: 140,\n 20: 145,\n 50: 145,\n 100: 150\n },\n NZD: {\n 5: 135,\n 10: 140,\n 20: 145,\n 50: 150,\n 100: 155\n },\n PHP: {\n 20: 160,\n 50: 160,\n 100: 160,\n 200: 160,\n 500: 160,\n 1000: 160\n },\n PLN: {\n 10: 120,\n 20: 126,\n 50: 132,\n 100: 138,\n 200: 144,\n 500: 150\n },\n SGD: {\n 2: 126,\n 5: 133,\n 10: 141,\n 50: 156,\n 100: 162,\n 1000: 170\n },\n TWD: {\n 100: 145,\n 200: 150,\n 500: 155,\n 1000: 160,\n 2000: 165\n },\n UAH: {\n 1: 118,\n 2: 118,\n 5: 118,\n 10: 124,\n 20: 130,\n 50: 136,\n 100: 142,\n 200: 148,\n 500: 154\n },\n USD: {\n 1: 156,\n 5: 156,\n 10: 156,\n 20: 156,\n 50: 156,\n 100: 156\n },\n VND: {\n 10000: 132,\n 20000: 136,\n 50000: 140,\n 100000: 144,\n 200000: 148,\n 500000: 152\n },\n ZAR: {\n 10: 128,\n 20: 134,\n 50: 140,\n 100: 146,\n 200: 152\n }\n}\n\nexport default denomiations\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/direction/cash-out\",\n transform: \"translate(-1.000000, 0.000000)\",\n fill: \"#5A67FF\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z\",\n id: \"Path-3\",\n transform: \"translate(6.000000, 6.000000) scale(-1, 1) translate(-6.000000, -6.000000) \"\n})));\n\nfunction SvgCashOut(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"10px\",\n height: \"12px\",\n viewBox: \"0 0 10 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCashOut);\nexport default __webpack_public_path__ + \"static/media/cash-out.f029ae96.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { H1, P, Info2 } from 'src/components/typography'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { neon, spacer } from 'src/styling/variables'\n\nconst styles = {\n logo: {\n maxHeight: 80,\n maxWidth: 200\n },\n subtitle: {\n margin: 0,\n marginBottom: 42,\n textAlign: 'center'\n },\n text: {\n margin: 0\n },\n button: {\n margin: [[0, 'auto']]\n },\n modalContent: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1,\n padding: [[0, 34, 107, 34]]\n },\n innerContent: {\n paddingBottom: 72\n },\n title: {\n color: neon,\n marginBottom: 12,\n marginTop: 30,\n textAlign: 'center'\n },\n titleDecorator: {\n verticalAlign: 'bottom',\n marginRight: spacer * 1.5,\n width: spacer * 3,\n height: spacer * 3.25\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst WizardSplash = ({ name, onContinue }) => {\n const classes = useStyles()\n\n return (\n
\n
\n

\n \n Enable cash-out\n

\n {name}\n

\n You are about to activate cash-out functionality on your {name}{' '}\n machine which will allow your customers to sell crypto to you.\n

\n

\n In order to activate cash-out for this machine, please enter the\n denominations for the machine.\n

\n
\n \n
\n )\n}\n\nexport default WizardSplash\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/spring/complete\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n stroke: \"#48F694\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.80983711,12 C7.54819546,12 7.28655382,11.9032616 7.08725647,11.710772 L5.29971255,9.98428824 C4.90009582,9.59832189 4.90009582,8.97445811 5.29971255,8.58849175 C5.69932929,8.2025254 6.34525711,8.2025254 6.74487384,8.58849175 L7.80983711,9.61707728 L11.2551262,6.28947477 C11.6547429,5.90350841 12.3016927,5.90350841 12.7002874,6.28947477 C13.0999042,6.674454 13.0999042,7.2993049 12.7002874,7.68527125 L8.53241776,11.710772 C8.33312041,11.9032616 8.07147876,12 7.80983711,12\",\n id: \"Path\",\n fill: \"#48F694\"\n}));\n\nfunction SvgComplete(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgComplete);\nexport default __webpack_public_path__ + \"static/media/complete.d94d5045.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/spring/current\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-2-Copy\",\n fill: \"#48F694\",\n cx: 9,\n cy: 9,\n r: 4\n}), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-5\",\n stroke: \"#48F694\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgCurrent(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCurrent);\nexport default __webpack_public_path__ + \"static/media/current.9bbfa93f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/stage/spring/empty\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval-Copy-6\",\n stroke: \"#DDDDDD\",\n strokeWidth: 2,\n transform: \"translate(9.000000, 9.000000) rotate(-270.000000) translate(-9.000000, -9.000000) \",\n cx: 9,\n cy: 9,\n r: 8\n}));\n\nfunction SvgEmpty(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"18px\",\n height: \"18px\",\n viewBox: \"0 0 18 18\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgEmpty);\nexport default __webpack_public_path__ + \"static/media/empty.862ae4bb.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport { ReactComponent as CompleteStageIconSpring } from 'src/styling/icons/stage/spring/complete.svg'\nimport { ReactComponent as CurrentStageIconSpring } from 'src/styling/icons/stage/spring/current.svg'\nimport { ReactComponent as EmptyStageIconSpring } from 'src/styling/icons/stage/spring/empty.svg'\nimport { ReactComponent as CompleteStageIconZodiac } from 'src/styling/icons/stage/zodiac/complete.svg'\nimport { ReactComponent as CurrentStageIconZodiac } from 'src/styling/icons/stage/zodiac/current.svg'\nimport { ReactComponent as EmptyStageIconZodiac } from 'src/styling/icons/stage/zodiac/empty.svg'\nimport {\n primaryColor,\n secondaryColor,\n offColor,\n disabledColor\n} from 'src/styling/variables'\n\nconst styles = {\n stages: {\n display: 'flex',\n alignItems: 'center'\n },\n wrapper: {\n display: 'flex',\n alignItems: 'center',\n margin: 0\n },\n stage: {\n display: 'flex',\n height: 28,\n width: 28,\n zIndex: 2,\n '& > svg': {\n height: '100%',\n width: '100%',\n overflow: 'visible'\n }\n },\n separator: {\n width: 28,\n height: 2,\n border: [[2, 'solid']],\n zIndex: 1\n },\n separatorSpring: {\n borderColor: secondaryColor\n },\n separatorZodiac: {\n borderColor: primaryColor\n },\n separatorSpringEmpty: {\n borderColor: disabledColor\n },\n separatorZodiacEmpty: {\n borderColor: offColor\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Stepper = memo(({ steps, currentStep, color = 'spring', className }) => {\n if (currentStep < 1 || currentStep > steps)\n throw Error('Value of currentStage is invalid')\n if (steps < 1) throw Error('Value of stages is invalid')\n\n const classes = useStyles()\n\n const separatorClasses = {\n [classes.separator]: true,\n [classes.separatorSpring]: color === 'spring',\n [classes.separatorZodiac]: color === 'zodiac'\n }\n\n const separatorEmptyClasses = {\n [classes.separator]: true,\n [classes.separatorSpringEmpty]: color === 'spring',\n [classes.separatorZodiacEmpty]: color === 'zodiac'\n }\n\n return (\n
\n {R.range(1, currentStep).map(idx => (\n
\n {idx > 1 &&
}\n
\n {color === 'spring' && }\n {color === 'zodiac' && }\n
\n
\n ))}\n
\n {currentStep > 1 &&
}\n
\n {color === 'spring' && }\n {color === 'zodiac' && }\n
\n
\n {R.range(currentStep + 1, steps + 1).map(idx => (\n
\n
\n
\n {color === 'spring' && }\n {color === 'zodiac' && }\n
\n
\n ))}\n
\n )\n})\n\nexport default Stepper\n","export default __webpack_public_path__ + \"static/media/cashout-cassette-1.fac6c691.svg\";","export default __webpack_public_path__ + \"static/media/cashout-cassette-2.34a98cfa.svg\";","import { errorColor, spacer } from 'src/styling/variables'\n\nconst LABEL_WIDTH = 150\n\nexport default {\n title: {\n margin: [[0, 0, 12, 0]]\n },\n titleDiv: {\n paddingBottom: 32\n },\n subtitle: {\n margin: [[32, 0, 21, 0]]\n },\n edit: {\n margin: [[0, 0, 0, 0]]\n },\n error: {\n color: errorColor\n },\n bill: {\n width: 131,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'end'\n },\n billInput: {\n width: '100%'\n },\n suffix: {\n paddingLeft: spacer * 2\n },\n button: {\n marginLeft: 'auto'\n },\n submit: {\n float: 'right'\n },\n picker: {\n width: LABEL_WIDTH\n },\n header: {\n display: 'flex',\n paddingBottom: 95\n },\n thirdStepHeader: {\n display: 'flex',\n paddingBottom: 188\n },\n step: {\n flex: 1\n },\n stepImage: {\n position: 'relative',\n top: -20,\n right: 14\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n flex: 1,\n paddingBottom: 32\n },\n disclaimer: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between'\n },\n disclaimerIcon: {\n float: 'left',\n margin: [[-4, 16, 48, 0]]\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport { Formik, Form, Field } from 'formik'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Stepper from 'src/components/Stepper'\nimport { Button } from 'src/components/buttons'\nimport { NumberInput } from 'src/components/inputs/formik'\nimport { Info2, H4, P, Info1, Label1 } from 'src/components/typography'\nimport cassetteOne from 'src/styling/icons/cassettes/cashout-cassette-1.svg'\nimport cassetteTwo from 'src/styling/icons/cassettes/cashout-cassette-2.svg'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nimport styles from './WizardStep.styles'\nconst useStyles = makeStyles(styles)\n\nconst WizardStep = ({\n name,\n step,\n schema,\n error,\n lastStep,\n onContinue,\n steps,\n fiatCurrency,\n options\n}) => {\n const classes = useStyles()\n\n const label = lastStep ? 'Finish' : 'Next'\n\n const cassetesArtworks = {\n 1: cassetteOne,\n 2: cassetteTwo\n }\n\n return (\n
\n
\n {name}\n \n
\n\n {step <= 2 && (\n \n
\n
\n {steps.map(\n ({ type, display, component }, idx) =>\n 1 + idx === step && (\n
\n

Edit {display}

\n\n Choose bill denomination\n
\n 0 ? component : NumberInput\n }\n fullWidth\n decimalPlaces={0}\n name={type}\n options={options}\n valueProp={'code'}\n getLabel={R.path(['display'])}>\n \n {fiatCurrency}\n \n
\n
\n )\n )}\n \n
\n\n \n
\n \n )}\n\n {step === 3 && (\n \n
\n
\n
\n

Edit 0-conf Limit

\n\n Choose a limit\n
\n \n \n {fiatCurrency}\n \n
\n
\n
\n\n \n
\n \n )}\n\n {lastStep && (\n
\n Cash-out Bill Count\n

\n \n When enabling cash-out, your bill count will be automatically set to\n zero. Make sure you physically put cash inside the cash cassettes to\n allow the machine to dispense it to your users. If you already did,\n make sure you set the correct cash-out bill count for this machine\n on your Cash Cassettes tab under Maintenance.\n

\n\n Default Commissions\n

\n \n When enabling cash-out, default commissions will be set. To change\n commissions for this machine, please go to the Commissions tab under\n Settings where you can set exceptions for each of the available\n cryptocurrencies.\n

\n
\n {error && Failed to save}\n \n
\n
\n )}\n
\n )\n}\n\nexport default WizardStep\n","import * as Yup from 'yup'\n\nimport { NumberInput } from 'src/components/inputs/formik'\n\nconst currencyMax = 999999999\nconst DenominationsSchema = Yup.object().shape({\n top: Yup.number()\n .label('Cassette 1 (Top)')\n .required()\n .min(0)\n .max(currencyMax),\n bottom: Yup.number()\n .label('Cassette 2 (Bottom)')\n .required()\n .min(0)\n .max(currencyMax),\n zeroConfLimit: Yup.number()\n .label('0-conf Limit')\n .required()\n .min(0)\n .max(currencyMax)\n})\n\nconst getElements = (machines, { fiatCurrency } = {}) => {\n return [\n {\n name: 'id',\n header: 'Machine',\n width: 200,\n view: it => machines.find(({ deviceId }) => deviceId === it).name,\n size: 'sm',\n editable: false\n },\n {\n name: 'top',\n header: 'Cassette 1 (Top)',\n size: 'sm',\n stripe: true,\n width: 200,\n textAlign: 'right',\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n },\n suffix: fiatCurrency\n },\n {\n name: 'bottom',\n header: 'Cassette 2 (Bottom)',\n size: 'sm',\n stripe: true,\n textAlign: 'right',\n width: 200,\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n },\n suffix: fiatCurrency\n },\n {\n name: 'zeroConfLimit',\n header: '0-conf Limit',\n size: 'sm',\n stripe: true,\n textAlign: 'right',\n width: 200,\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n },\n suffix: fiatCurrency\n }\n ]\n}\n\nexport { DenominationsSchema, getElements }\n","import * as R from 'ramda'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport Modal from 'src/components/Modal'\nimport { Autocomplete } from 'src/components/inputs/formik'\nimport denominations from 'src/utils/bill-denominations'\nimport { toNamespace } from 'src/utils/config'\n\nimport WizardSplash from './WizardSplash'\nimport WizardStep from './WizardStep'\nimport { DenominationsSchema } from './helper'\n\nconst LAST_STEP = 4\nconst MODAL_WIDTH = 554\nconst MODAL_HEIGHT = 520\n\nconst getOptions = R.curry((locale, denomiations) => {\n const currency = R.prop('fiatCurrency')(locale)\n return R.compose(\n R.map(code => ({ code, display: code })),\n R.keys,\n R.path([currency])\n )(denomiations)\n})\n\nconst Wizard = ({ machine, locale, onClose, save, error }) => {\n const [{ step, config }, setState] = useState({\n step: 0,\n config: { active: true }\n })\n\n const options = getOptions(locale, denominations)\n\n const title = `Enable cash-out`\n const isLastStep = step === LAST_STEP\n\n const onContinue = async it => {\n if (isLastStep) {\n return save(\n toNamespace(machine.deviceId, DenominationsSchema.cast(config))\n )\n }\n\n const newConfig = R.merge(config, it)\n\n setState({\n step: step + 1,\n config: newConfig\n })\n }\n\n const steps = [\n {\n type: 'top',\n display: 'Cassette 1 (Top)',\n component: Autocomplete\n },\n {\n type: 'bottom',\n display: 'Cassette 2',\n component: Autocomplete\n },\n {\n type: 'zeroConfLimit',\n display: '0-conf Limit',\n schema: Yup.object().shape({\n zeroConfLimit: Yup.number().required()\n })\n }\n ]\n\n const schema = () =>\n Yup.object().shape({\n top: Yup.number().required(),\n bottom: step >= 2 ? Yup.number().required() : Yup.number()\n })\n\n return (\n \n {step === 0 && (\n onContinue()} />\n )}\n {step !== 0 && (\n \n )}\n \n )\n}\n\nexport default Wizard\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { NamespacedTable as EditableTable } from 'src/components/editableTable'\nimport { Switch } from 'src/components/inputs'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { P, Label2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport Wizard from './Wizard'\nimport { DenominationsSchema, getElements } from './helper'\n\nconst useStyles = makeStyles({\n fudgeFactor: {\n display: 'flex',\n alignItems: 'center',\n marginRight: 156\n },\n switchLabel: {\n margin: 6,\n width: 24\n }\n})\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n machines {\n name\n deviceId\n cashbox\n cassette1\n cassette2\n }\n config\n }\n`\n\nconst CashOut = ({ name: SCREEN_KEY }) => {\n const classes = useStyles()\n const [wizard, setWizard] = useState(false)\n const { data } = useQuery(GET_INFO)\n\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const save = (rawConfig, accounts) => {\n const config = toNamespace(SCREEN_KEY)(rawConfig)\n return saveConfig({ variables: { config, accounts } })\n }\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const fudgeFactorActive = config?.fudgeFactorActive ?? false\n const locale = data?.config && fromNamespace('locale')(data.config)\n const machines = data?.machines ?? []\n\n const onToggle = id => {\n const namespaced = fromNamespace(id)(config)\n if (!DenominationsSchema.isValidSync(namespaced)) return setWizard(id)\n save(toNamespace(id, { active: !namespaced?.active }))\n }\n\n return (\n <>\n \n
\n

Transaction fudge factor

\n {\n save({ fudgeFactorActive: event.target.checked })\n }}\n value={fudgeFactorActive}\n />\n \n {fudgeFactorActive ? 'On' : 'Off'}\n \n \n

\n Automatically accept customer deposits as complete if their\n received amount is 100 crypto atoms or less.\n

\n

\n (Crypto atoms are the smallest unit in each cryptocurrency. E.g.,\n satoshis in Bitcoin, or wei in Ethereum.)\n

\n
\n
\n
\n !DenominationsSchema.isValidSync(it)}\n enableEdit\n editWidth={134}\n enableToggle\n toggleWidth={109}\n onToggle={onToggle}\n save={save}\n error={error?.message}\n validationSchema={DenominationsSchema}\n disableRowEdit={R.compose(R.not, R.path(['active']))}\n elements={getElements(machines, locale)}\n />\n {wizard && (\n setWizard(false)}\n save={save}\n error={error?.message}\n locale={locale}\n />\n )}\n \n )\n}\n\nexport default CashOut\n","import Cashout from './Cashout'\n\nexport default Cashout\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { spacer, offColor } from 'src/styling/variables'\n\nimport { TL1 } from './typography'\n\nconst useStyles = makeStyles({\n subtitle: {\n color: offColor,\n marginTop: spacer * 2,\n marginBottom: spacer * 2\n },\n extraMarginTop: {\n marginTop: spacer * 9\n }\n})\n\nconst Subtitle = memo(({ children, className, extraMarginTop }) => {\n const classes = useStyles()\n const classNames = {\n [classes.subtitle]: true,\n [classes.extraMarginTop]: extraMarginTop\n }\n\n return {children}\n})\n\nexport default Subtitle\n","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Subtitle from 'src/components/Subtitle'\n\nimport styles from './Section.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Section = ({ error, children, title }) => {\n const classes = useStyles()\n return (\n
\n {(title || error) && (\n
\n {title}\n {error && Failed to save changes}\n
\n )}\n {children}\n
\n )\n}\n\nexport default Section\n","export default {\n section: {\n marginBottom: 72\n },\n sectionHeader: {\n display: 'flex',\n alignItems: 'center'\n },\n sectionTitle: {\n margin: [[16, 20, 23, 0]]\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Styleguide\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/direction/cash-in\",\n transform: \"translate(-1.000000, 0.000000)\",\n fill: \"#16D6D3\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.99134364,0.321790399 L10.1430099,4.40569595 C11.0271728,4.99266501 11.2660914,6.1822461 10.6766494,7.06269968 C10.5357408,7.27317585 10.3543728,7.45378298 10.1430099,7.59410043 L3.99134364,11.678006 C3.10718075,12.264975 1.91258801,12.0270588 1.32314609,11.1466052 C1.11243854,10.8318699 1,10.4620686 1,10.0838037 L1,1.91599264 C1,0.857819122 1.86143307,0 2.92406462,0 C3.30392305,0 3.67528233,0.11196683 3.99134364,0.321790399 Z\",\n id: \"Path-3\"\n})));\n\nfunction SvgCashIn(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"10px\",\n height: \"12px\",\n viewBox: \"0 0 10 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCashIn);\nexport default __webpack_public_path__ + \"static/media/cash-in.c06970a7.svg\";\nexport { ForwardRef as ReactComponent };","import * as R from 'ramda'\nimport React from 'react'\nimport * as Yup from 'yup'\n\nimport { NumberInput } from 'src/components/inputs/formik'\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\n\nconst ALL_MACHINES = {\n name: 'All Machines',\n deviceId: 'ALL_MACHINES'\n}\n\nconst ALL_COINS = {\n display: 'All Coins',\n code: 'ALL_COINS'\n}\n\nconst cashInAndOutHeaderStyle = { marginLeft: 6 }\n\nconst cashInHeader = (\n
\n \n Cash-in\n
\n)\n\nconst cashOutHeader = (\n
\n \n Cash-out\n
\n)\n\nconst getView = (data, code, compare) => it => {\n if (!data) return ''\n\n return R.compose(R.prop(code), R.find(R.propEq(compare ?? 'code', it)))(data)\n}\n\nconst displayCodeArray = data => it => {\n if (!it) return it\n\n return R.compose(R.join(', '), R.map(getView(data, 'display')))(it)\n}\n\nconst onCryptoChange = (prev, curr, setValue) => {\n const hasAllCoins = R.includes(ALL_COINS.code)(curr)\n const hadAllCoins = R.includes(ALL_COINS.code)(prev)\n\n if (hasAllCoins && hadAllCoins && R.length(curr) > 1) {\n return setValue(R.reject(R.equals(ALL_COINS.code))(curr))\n }\n\n if (hasAllCoins && !hadAllCoins) {\n return setValue([ALL_COINS.code])\n }\n\n setValue(curr)\n}\n\nconst getOverridesFields = (getData, currency, auxElements) => {\n const machineData = [ALL_MACHINES].concat(getData(['machines']))\n const rawCryptos = getData(['cryptoCurrencies'])\n const cryptoData = [ALL_COINS].concat(\n R.map(it => ({ display: it.code, code: it.code }))(rawCryptos ?? [])\n )\n\n return [\n {\n name: 'machine',\n width: 196,\n size: 'sm',\n view: getView(machineData, 'name', 'deviceId'),\n input: Autocomplete,\n inputProps: {\n options: machineData,\n valueProp: 'deviceId',\n getLabel: R.path(['name'])\n }\n },\n {\n name: 'cryptoCurrencies',\n width: 280,\n size: 'sm',\n view: displayCodeArray(cryptoData),\n input: Autocomplete,\n inputProps: {\n options: cryptoData,\n valueProp: 'code',\n getLabel: R.path(['display']),\n multiple: true,\n onChange: onCryptoChange\n }\n },\n {\n header: cashInHeader,\n name: 'cashIn',\n display: 'Cash-in',\n width: 130,\n input: NumberInput,\n textAlign: 'right',\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n header: cashOutHeader,\n name: 'cashOut',\n display: 'Cash-out',\n width: 130,\n input: NumberInput,\n textAlign: 'right',\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n name: 'fixedFee',\n display: 'Fixed fee',\n width: 144,\n input: NumberInput,\n doubleHeader: 'Cash-in only',\n textAlign: 'right',\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n },\n {\n name: 'minimumTx',\n display: 'Minimun Tx',\n width: 144,\n input: NumberInput,\n doubleHeader: 'Cash-in only',\n textAlign: 'right',\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n }\n ]\n}\n\nconst mainFields = currency => [\n {\n header: cashInHeader,\n name: 'cashIn',\n display: 'Cash-in',\n width: 169,\n size: 'lg',\n input: NumberInput,\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n header: cashOutHeader,\n name: 'cashOut',\n display: 'Cash-out',\n width: 169,\n size: 'lg',\n input: NumberInput,\n suffix: '%',\n inputProps: {\n decimalPlaces: 3\n }\n },\n {\n name: 'fixedFee',\n display: 'Fixed fee',\n width: 169,\n size: 'lg',\n doubleHeader: 'Cash-in only',\n textAlign: 'center',\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n },\n {\n name: 'minimumTx',\n display: 'Minimun Tx',\n width: 169,\n size: 'lg',\n doubleHeader: 'Cash-in only',\n textAlign: 'center',\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n }\n]\n\nconst overrides = (auxData, currency, auxElements) => {\n const getData = R.path(R.__, auxData)\n\n return getOverridesFields(getData, currency, auxElements)\n}\n\nconst percentMax = 100\nconst currencyMax = 9999999\nconst schema = Yup.object().shape({\n cashIn: Yup.number()\n .label('Cash-in')\n .min(0)\n .max(percentMax)\n .required(),\n cashOut: Yup.number()\n .label('Cash-out')\n .min(0)\n .max(percentMax)\n .required(),\n fixedFee: Yup.number()\n .label('Fixed Fee')\n .min(0)\n .max(currencyMax)\n .required(),\n minimumTx: Yup.number()\n .label('Minimum Tx')\n .min(0)\n .max(currencyMax)\n .required()\n})\n\nconst getAlreadyUsed = (id, machine, values) => {\n const getCrypto = R.prop('cryptoCurrencies')\n const getMachineId = R.prop('machine')\n\n const filteredOverrides = R.filter(R.propEq('machine', machine))(values)\n const originalValue = R.find(R.propEq('id', id))(values)\n\n const originalCryptos = getCrypto(originalValue)\n const originalMachineId = getMachineId(originalValue)\n\n const alreadyUsed = R.compose(\n R.uniq,\n R.flatten,\n R.map(getCrypto)\n )(filteredOverrides)\n\n if (machine !== originalMachineId) return alreadyUsed ?? []\n\n return R.difference(alreadyUsed, originalCryptos)\n}\n\nconst getOverridesSchema = (values, rawData) => {\n const getData = R.path(R.__, rawData)\n const machineData = [ALL_MACHINES].concat(getData(['machines']))\n const rawCryptos = getData(['cryptoCurrencies'])\n const cryptoData = [ALL_COINS].concat(\n R.map(it => ({ display: it.code, code: it.code }))(rawCryptos ?? [])\n )\n\n return Yup.object().shape({\n machine: Yup.string()\n .nullable()\n .label('Machine')\n .required(),\n cryptoCurrencies: Yup.array()\n .test({\n test() {\n const { id, machine, cryptoCurrencies } = this.parent\n const alreadyUsed = getAlreadyUsed(id, machine, values)\n\n const isAllMachines = machine === ALL_MACHINES.deviceId\n const isAllCoins = R.includes(ALL_COINS.code, cryptoCurrencies)\n if (isAllMachines && isAllCoins) {\n return this.createError({\n message: `All machines and all coins should be configured in the default setup table`\n })\n }\n\n const repeated = R.intersection(alreadyUsed, cryptoCurrencies)\n if (!R.isEmpty(repeated)) {\n const codes = displayCodeArray(cryptoData)(repeated)\n const machineView = getView(\n machineData,\n 'name',\n 'deviceId'\n )(machine)\n\n const message = `${codes} already overriden for machine: ${machineView}`\n\n return this.createError({ message })\n }\n return true\n }\n })\n .label('Crypto Currencies')\n .required(),\n cashIn: Yup.number()\n .label('Cash-in')\n .min(0)\n .max(percentMax)\n .required(),\n cashOut: Yup.number()\n .label('Cash-out')\n .min(0)\n .max(percentMax)\n .required(),\n fixedFee: Yup.number()\n .label('Fixed Fee')\n .min(0)\n .max(currencyMax)\n .required(),\n minimumTx: Yup.number()\n .label('Minimum Tx')\n .min(0)\n .max(currencyMax)\n .required()\n })\n}\n\nconst defaults = {\n cashIn: '',\n cashOut: '',\n fixedFee: '',\n minimumTx: ''\n}\n\nconst overridesDefaults = {\n machine: null,\n cryptoCurrencies: [],\n cashIn: '',\n cashOut: '',\n fixedFee: '',\n minimumTx: ''\n}\n\nconst getOrder = ({ machine, cryptoCurrencies }) => {\n const isAllMachines = machine === ALL_MACHINES.deviceId\n const isAllCoins = R.contains(ALL_COINS.code, cryptoCurrencies)\n\n if (isAllMachines && isAllCoins) return 0\n if (isAllMachines) return 1\n if (isAllCoins) return 2\n\n return 3\n}\n\nexport {\n mainFields,\n overrides,\n schema,\n getOverridesSchema,\n defaults,\n overridesDefaults,\n getOrder\n}\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport {\n mainFields,\n overrides,\n schema,\n getOverridesSchema,\n defaults,\n overridesDefaults,\n getOrder\n} from './helper'\n\nconst GET_DATA = gql`\n query getData {\n config\n cryptoCurrencies {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst Commissions = ({ name: SCREEN_KEY }) => {\n const [isEditingDefault, setEditingDefault] = useState(false)\n const [isEditingOverrides, setEditingOverrides] = useState(false)\n const { data } = useQuery(GET_DATA)\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n refetchQueries: () => ['getData']\n })\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n const commission = config && !R.isEmpty(config) ? config : defaults\n const commissionOverrides = commission?.overrides ?? []\n\n const orderedCommissionsOverrides = R.sortWith([\n R.ascend(getOrder),\n R.ascend(R.prop('machine'))\n ])(commissionOverrides)\n\n const save = it => {\n const config = toNamespace(SCREEN_KEY)(it.commissions[0])\n return saveConfig({ variables: { config } })\n }\n\n const saveOverrides = it => {\n const config = toNamespace(SCREEN_KEY)(it)\n return saveConfig({ variables: { config } })\n }\n\n const onEditingDefault = (it, editing) => setEditingDefault(editing)\n const onEditingOverrides = (it, editing) => setEditingOverrides(editing)\n\n return (\n <>\n \n
\n \n
\n
\n \n
\n \n )\n}\n\nexport default Commissions\n","import Commissions from './Commissions'\n\nexport default Commissions\n","import Chip from '@material-ui/core/Chip'\nimport { makeStyles } from '@material-ui/core/styles'\nimport React from 'react'\n\nimport {\n tomato,\n mistyRose,\n pumpkin,\n secondaryColorDarker as spring4,\n inputFontWeight,\n spring3,\n zircon,\n primaryColor,\n smallestFontSize,\n inputFontFamily,\n spacer,\n linen\n} from '../styling/variables'\n\nconst colors = {\n error: tomato,\n warning: pumpkin,\n success: spring4,\n neutral: primaryColor\n}\n\nconst backgroundColors = {\n error: mistyRose,\n warning: linen,\n success: spring3,\n neutral: zircon\n}\n\nconst useStyles = makeStyles({\n root: {\n borderRadius: spacer / 2,\n marginTop: spacer / 2,\n marginRight: spacer / 4,\n marginBottom: spacer / 2,\n marginLeft: spacer / 4,\n height: spacer * 3,\n backgroundColor: ({ type }) => backgroundColors[type]\n },\n label: {\n fontSize: smallestFontSize,\n fontWeight: inputFontWeight,\n fontFamily: inputFontFamily,\n paddingRight: spacer / 2,\n paddingLeft: spacer / 2,\n color: ({ type }) => colors[type]\n }\n})\n\nconst Status = ({ status }) => {\n const classes = useStyles({ type: status.type })\n return \n}\n\nconst MainStatus = ({ statuses }) => {\n const mainStatus =\n statuses.find(s => s.type === 'error') ||\n statuses.find(s => s.type === 'warning') ||\n statuses[0]\n const plus = { label: `+${statuses.length - 1}`, type: mainStatus.type }\n\n return (\n
\n \n {statuses.length > 1 && }\n
\n )\n}\n\nexport { Status, MainStatus }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/authorize/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n stroke: \"#FFFFFF\",\n cx: 6,\n cy: 6,\n r: 5\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-13\",\n stroke: \"#FFFFFF\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n points: \"4 6.66666667 5 8 8 4\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.51296906.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/authorize/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-9\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 6,\n cy: 6,\n r: 5\n})), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-13\",\n stroke: \"#1B2559\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n points: \"4 6.66666667 5 8 8 4\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.2fe856d5.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/cancel/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n stroke: \"#1B2559\",\n strokeWidth: 1.2\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 12,\n y1: 0,\n x2: 0,\n y2: 12,\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 0,\n x2: 12,\n y2: 12,\n id: \"Stroke-3\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.3b13c0b7.svg\";\nexport { ForwardRef as ReactComponent };","import { white, tomato, spring4, comet } from 'src/styling/variables'\n\nconst propertyCardStyles = {\n label1: {\n display: 'flex',\n marginBottom: 2,\n marginTop: 'auto',\n width: 85\n },\n label1Pending: {\n color: comet\n },\n label1Rejected: {\n color: tomato\n },\n label1Accepted: {\n color: spring4\n },\n cardActionButton: {\n display: 'flex',\n height: 28,\n marginRight: 'auto',\n marginLeft: 12\n },\n propertyCardTopRow: {\n display: 'flex',\n margin: [[0, 10, 5, 0]]\n },\n propertyCardBottomRow: {\n display: 'flex',\n flexDirection: 'row',\n height: 45\n },\n propertyCard: {\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 8,\n width: '100%',\n height: 100,\n padding: [[20]],\n boxSizing: 'border-box',\n boxShadow: '0 0 8px 0 rgba(0, 0, 0, 0.04)',\n border: 'solid 0',\n backgroundColor: white,\n margin: [[20, 0, 0, 0]]\n },\n rowSpaceBetween: {\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n columnSpaceBetween: {\n display: 'flex',\n flexFlow: 'column nowrap',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 90\n },\n buttonsWrapper: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'flex-end',\n marginLeft: 'auto',\n marginTop: 'auto'\n }\n}\n\nexport { propertyCardStyles }\n","import { Paper } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { MainStatus } from 'src/components/Status'\nimport { ActionButton } from 'src/components/buttons'\nimport { H3 } from 'src/components/typography'\nimport { ReactComponent as AuthorizeReversedIcon } from 'src/styling/icons/button/authorize/white.svg'\nimport { ReactComponent as AuthorizeIcon } from 'src/styling/icons/button/authorize/zodiac.svg'\nimport { ReactComponent as RejectReversedIcon } from 'src/styling/icons/button/cancel/white.svg'\nimport { ReactComponent as RejectIcon } from 'src/styling/icons/button/cancel/zodiac.svg'\n\nimport { propertyCardStyles } from './PropertyCard.styles'\n\nconst useStyles = makeStyles(propertyCardStyles)\n\nconst OVERRIDE_PENDING = 'automatic'\nconst OVERRIDE_AUTHORIZED = 'verified'\nconst OVERRIDE_REJECTED = 'blocked'\n\nconst PropertyCard = memo(\n ({ className, title, state, authorize, reject, children }) => {\n const classes = useStyles()\n\n const label1ClassNames = {\n [classes.label1]: true,\n [classes.label1Pending]: state === OVERRIDE_PENDING,\n [classes.label1Rejected]: state === OVERRIDE_REJECTED,\n [classes.label1Accepted]: state === OVERRIDE_AUTHORIZED\n }\n\n const AuthorizeButton = () => (\n authorize()}>\n Authorize\n \n )\n\n const RejectButton = () => (\n reject()}>\n Reject\n \n )\n\n const authorized =\n state === OVERRIDE_PENDING\n ? { label: 'Pending', type: 'neutral' }\n : state === OVERRIDE_REJECTED\n ? { label: 'Rejected', type: 'error' }\n : { label: 'Accepted', type: 'success' }\n\n return (\n \n

{title}

\n
\n
\n \n
\n {children}\n
\n {authorize && state !== OVERRIDE_AUTHORIZED && AuthorizeButton()}\n {reject && state !== OVERRIDE_REJECTED && RejectButton()}\n
\n
\n \n )\n }\n)\n\nexport {\n PropertyCard,\n OVERRIDE_PENDING,\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/block/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 6,\n cy: 6,\n r: 5\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 3,\n x2: 3,\n y2: 9,\n id: \"Stroke-3\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.e72682b5.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/block/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Oval\",\n cx: 6,\n cy: 6,\n r: 5\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9,\n y1: 3,\n x2: 3,\n y2: 9,\n id: \"Stroke-3\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.bb7722c5.svg\";\nexport { ForwardRef as ReactComponent };","import { comet } from 'src/styling/variables'\n\nexport default {\n labelLink: {\n cursor: 'pointer',\n color: comet\n },\n breadcrumbs: {\n margin: [[20, 0]]\n },\n actionLabel: {\n color: comet,\n margin: [[4, 0]]\n },\n customerDetails: {\n marginBottom: 18\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/search/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.7035238,\n y1: 13.7046667,\n x2: 19.4844762,\n y2: 19.485619,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.e8851a0a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/search/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.8635238,8.17028571 C15.8635238,12.4198095 12.4187619,15.8645714 8.1692381,15.8645714 C3.92066667,15.8645714 0.475904762,12.4198095 0.475904762,8.17028571 C0.475904762,3.9207619 3.92066667,0.476 8.1692381,0.476 C12.4187619,0.476 15.8635238,3.9207619 15.8635238,8.17028571 Z\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.7035238,\n y1: 13.7046667,\n x2: 19.4844762,\n y2: 19.485619,\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n strokeLinecap: \"round\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.91792e22.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, ClickAwayListener } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React, { memo, useState } from 'react'\n\nimport Popper from 'src/components/Popper'\nimport { FeatureButton } from 'src/components/buttons'\nimport { ReactComponent as ZoomIconInverse } from 'src/styling/icons/circle buttons/search/white.svg'\nimport { ReactComponent as ZoomIcon } from 'src/styling/icons/circle buttons/search/zodiac.svg'\n\nimport imagePopperStyles from './ImagePopper.styles'\n\nconst useStyles = makeStyles(imagePopperStyles)\n\nconst ImagePopper = memo(\n ({ className, width, height, popupWidth, popupHeight, src }) => {\n const classes = useStyles({\n width,\n height,\n popupWidth,\n popupHeight\n })\n const [popperAnchorEl, setPopperAnchorEl] = useState(null)\n\n const handleOpenPopper = event => {\n setPopperAnchorEl(popperAnchorEl ? null : event.currentTarget)\n }\n\n const handleClosePopper = () => {\n setPopperAnchorEl(null)\n }\n\n const popperOpen = Boolean(popperAnchorEl)\n\n const Image = ({ className }) => (\n \"\"\n )\n\n return (\n \n
\n \n \n \n
\n \n
\n
\n
\n
\n )\n }\n)\n\nexport default ImagePopper\n","export default {\n row: {\n display: 'flex',\n flexDirection: 'row'\n },\n image: ({ width, height }) => ({\n objectFit: 'cover',\n borderRadius: '8px 0px 0px 8px',\n width,\n height\n }),\n popupImage: ({ popupWidth, popupHeight }) => ({\n objectFit: 'cover',\n width: popupWidth,\n height: popupHeight\n }),\n button: ({ height }) => ({\n borderRadius: '0px 8px 8px 0px',\n height\n }),\n popoverContent: {\n display: 'block',\n padding: [[10, 15]]\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/crossed-camera\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"crossed-camera\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/cam/zodiac\",\n transform: \"translate(0.000000, 3.657143)\",\n fill: \"#1B2559\",\n fillRule: \"nonzero\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16,19.1876029 C12.4482116,19.1876029 9.56809571,16.389776 9.56809571,12.9394673 C9.56809571,9.48915858 12.4482116,6.69133172 16,6.69133172 C19.5517884,6.69133172 22.4319043,9.48915858 22.4319043,12.9394673 C22.4319043,16.389776 19.5517884,19.1876029 16,19.1876029 Z M16,17.104891 C18.3677075,17.104891 20.2879362,15.239526 20.2879362,12.9394673 C20.2879362,10.6394086 18.3677075,8.77404358 16,8.77404358 C13.6322925,8.77404358 11.7120638,10.6394086 11.7120638,12.9394673 C11.7120638,15.239526 13.6322925,17.104891 16,17.104891 Z M22.7667469,3.30692494 L30.7397807,3.30692494 C31.3318211,3.30692494 31.8117647,3.77315587 31.8117647,4.34828087 L31.8117647,22.0513317 C31.8117647,22.6264567 31.3318211,23.0926877 30.7397807,23.0926877 L1.26021934,23.0926877 C0.6681789,23.0926877 0.188235294,22.6264567 0.188235294,22.0513317 L0.188235294,4.34828087 C0.188235294,3.77315587 0.6681789,3.30692494 1.26021934,3.30692494 L9.23325311,3.30692494 L12.0766705,0.494526627 C12.2782333,0.295162767 12.5538198,0.182857143 12.8414756,0.182857143 L19.1585244,0.182857143 C19.4461802,0.182857143 19.7217667,0.295162767 19.9233295,0.494526627 L22.7667469,3.30692494 Z M29.6677966,5.3896368 L22.3170489,5.3896368 C22.0293931,5.3896368 21.7538065,5.27733118 21.5522438,5.07796732 L18.7088264,2.26556901 L13.2911736,2.26556901 L10.4477562,5.07796732 C10.2461935,5.27733118 9.97060695,5.3896368 9.68295115,5.3896368 L2.33220339,5.3896368 L2.33220339,21.0099758 L29.6677966,21.0099758 L29.6677966,5.3896368 Z\",\n id: \"Stroke-1\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 32,\n y1: 0,\n x2: 0,\n y2: 32,\n id: \"Line\",\n stroke: \"#FF584A\",\n strokeWidth: 2,\n strokeLinecap: \"square\"\n}))));\n\nfunction SvgCrossedCamera(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"32px\",\n height: \"32px\",\n viewBox: \"0 0 32 32\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgCrossedCamera);\nexport default __webpack_public_path__ + \"static/media/crossed-camera.28e8f7eb.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { Info3, Label1 } from 'src/components/typography'\nimport { comet } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n field: {\n height: 46\n },\n label: {\n color: comet,\n margin: [[0, 3]]\n },\n value: {\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n margin: 0,\n paddingLeft: 4\n }\n})\n\nconst Field = memo(({ label, display, size, className }) => {\n const classes = useStyles()\n\n return (\n \n {label}\n {display}\n
\n )\n})\n\nexport default Field\n","import { Box } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport ImagePopper from 'src/components/ImagePopper'\nimport { H3, Info3 } from 'src/components/typography'\nimport {\n PropertyCard,\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n} from 'src/pages/Customers/components/propertyCard'\nimport { ReactComponent as CrossedCameraIcon } from 'src/styling/icons/ID/photo/crossed-camera.svg'\nimport { URI } from 'src/utils/apollo'\n\nimport { complianceDetailsStyles } from './ComplianceDetails.styles'\nimport Field from './Field'\n\nimport { IdDataCard } from './'\n\nconst useStyles = makeStyles(complianceDetailsStyles)\n\nconst imageWidth = 165\nconst imageHeight = 45\nconst popupImageWidth = 360\nconst popupImageHeight = 240\n\nconst Photo = ({ show, src }) => {\n const classes = useStyles({ width: imageWidth })\n\n return (\n <>\n {show ? (\n \n ) : (\n
\n \n
\n )}\n \n )\n}\n\nconst ComplianceDetails = ({ customer, updateCustomer }) => {\n const classes = useStyles({ width: imageWidth })\n\n const sanctions = R.path(['sanctions'])(customer)\n const sanctionsAt = R.path(['sanctionsAt'])(customer)\n const sanctionsDisplay = !sanctionsAt\n ? 'Not checked yet'\n : sanctions\n ? 'Passed'\n : 'Failed'\n\n return (\n
\n

Compliance details

\n
\n \n \n \n \n updateCustomer({ idCardPhotoOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ idCardPhotoOverride: OVERRIDE_REJECTED })\n }>\n \n \n \n updateCustomer({ frontCameraOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ frontCameraOverride: OVERRIDE_REJECTED })\n }>\n \n \n \n \n \n updateCustomer({ usSsnOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ usSsnOverride: OVERRIDE_REJECTED })\n }>\n \n \n \n updateCustomer({ sanctionsOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() =>\n updateCustomer({ sanctionsOverride: OVERRIDE_REJECTED })\n }>\n {sanctionsDisplay}\n \n \n \n
\n
\n )\n}\n\nexport default ComplianceDetails\n","const complianceDetailsStyles = {\n complianceDetailsGrid: {\n display: 'flex',\n flexDirection: 'row'\n },\n firstColumn: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginRight: 10\n },\n lastColumn: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginLeft: 10\n },\n photoWrapper: ({ width }) => ({\n display: 'flex',\n justifyContent: 'center',\n width\n })\n}\n\nexport { complianceDetailsStyles }\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/card/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n stroke: \"#1B2559\",\n strokeWidth: 1.6\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"id-copy\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-1\",\n points: \"0 16 22 16 22 0 0 0\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 4,\n x2: 18.8571429,\n y2: 4,\n id: \"Stroke-3\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 7.2,\n x2: 18.8571429,\n y2: 7.2,\n id: \"Stroke-4\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-5\",\n points: \"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4\"\n}))));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.05a22c3a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/law/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"bevel\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.4141,\n y1: 7.4648,\n x2: 14.0711,\n y2: 1.8078,\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 12.6568,\n y1: 0.3936,\n x2: 15.4858,\n y2: 3.2216,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7,\n y1: 6.0498,\n x2: 9.829,\n y2: 8.8788,\n id: \"Stroke-6\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.2427,\n y1: 4.6357,\n x2: 19.2427,\n y2: 12.6357,\n id: \"Stroke-7\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3,\n y1: 16.5,\n x2: 10,\n y2: 16.5,\n id: \"Stroke-9\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 19.5,\n x2: 13,\n y2: 19.5,\n id: \"Stroke-10\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"icon/sf-small/law/white\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.57984891.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/law/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"bevel\"\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.4141,\n y1: 7.4648,\n x2: 14.0711,\n y2: 1.8078,\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 12.6568,\n y1: 0.3936,\n x2: 15.4858,\n y2: 3.2216,\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7,\n y1: 6.0498,\n x2: 9.829,\n y2: 8.8788,\n id: \"Stroke-6\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.2427,\n y1: 4.6357,\n x2: 19.2427,\n y2: 12.6357,\n id: \"Stroke-7\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3,\n y1: 16.5,\n x2: 10,\n y2: 16.5,\n id: \"Stroke-9\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 0,\n y1: 19.5,\n x2: 13,\n y2: 19.5,\n id: \"Stroke-10\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"icon/sf-small/law/zodiac\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.56f832ee.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport baseStyles from 'src/pages/Logs.styles'\nimport { zircon, comet, primaryColor, fontSize4 } from 'src/styling/variables'\n\nconst { label1 } = typographyStyles\nconst { titleWrapper, titleAndButtonsContainer } = baseStyles\n\nexport default {\n titleWrapper,\n titleAndButtonsContainer,\n row: {\n display: 'flex',\n flexFlow: 'row nowrap'\n },\n rowSpaceBetween: {\n display: 'flex',\n flexFlow: 'row nowrap',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n column: {\n display: 'flex',\n flexFlow: 'column nowrap',\n width: '100%',\n height: '100%',\n justifyContent: 'space-between'\n },\n textInput: {\n width: 144\n },\n p: {\n fontFamily: 'MuseoSans',\n fontSize: fontSize4,\n fontWeight: 500,\n fontStretch: 'normal',\n fontStyle: 'normal',\n lineHeight: 1.14,\n letterSpacing: 'normal',\n color: primaryColor\n },\n txId: {\n fontFamily: 'MuseoSans',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n txClassIconLeft: {\n marginRight: 11\n },\n txClassIconRight: {\n marginLeft: 11\n },\n headerLabels: {\n display: 'flex',\n flexDirection: 'row',\n '& div': {\n display: 'flex',\n alignItems: 'center'\n },\n '& > div:first-child': {\n marginRight: 24\n },\n '& span': {\n extend: label1,\n marginLeft: 6\n }\n },\n photo: {\n width: 92,\n height: 92,\n borderRadius: 8,\n backgroundColor: zircon,\n margin: [[0, 28, 0, 0]],\n alignItems: 'center',\n justifyContent: 'center',\n display: 'flex'\n },\n img: {\n width: 80\n },\n customerName: {\n marginBottom: 32\n },\n icon: {\n marginRight: 11\n },\n name: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center'\n },\n value: {\n height: 16\n },\n label: {\n marginBottom: 4,\n color: comet\n },\n idIcon: {\n marginRight: 10\n },\n subpageButton: {\n marginLeft: 16\n }\n}\n","import { parsePhoneNumberFromString } from 'libphonenumber-js'\nimport * as R from 'ramda'\n\nconst CUSTOMER_BLOCKED = 'blocked'\n\nconst getAuthorizedStatus = it =>\n it.authorizedOverride === CUSTOMER_BLOCKED\n ? { label: 'Blocked', type: 'error' }\n : it.daysSuspended > 0\n ? { label: `${it.daysSuspended} day suspension`, type: 'warning' }\n : { label: 'Authorized', type: 'success' }\n\nconst getFormattedPhone = (phone, country) => {\n const phoneNumber =\n phone && country ? parsePhoneNumberFromString(phone, country) : null\n\n return phoneNumber ? phoneNumber.formatInternational() : phone\n}\n\nconst getName = it => {\n const idData = R.path(['idCardData'])(it)\n\n return `${R.path(['firstName'])(idData) ?? ''} ${R.path(['lastName'])(\n idData\n ) ?? ''}`.trim()\n}\n\nexport { getAuthorizedStatus, getFormattedPhone, getName }\n","import { Paper } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport React, { memo } from 'react'\n\nimport { ReactComponent as CrossedCameraIcon } from 'src/styling/icons/ID/photo/crossed-camera.svg'\nimport { URI } from 'src/utils/apollo'\n\nimport mainStyles from '../CustomersList.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst FrontCameraPhoto = memo(({ frontCameraPath }) => {\n const classes = useStyles()\n\n return (\n \n {frontCameraPath ? (\n \n ) : (\n \n )}\n \n )\n})\n\nexport default FrontCameraPhoto\n","import { makeStyles, Box } from '@material-ui/core'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport { SubpageButton } from 'src/components/buttons'\nimport { H2, Label1, P } from 'src/components/typography'\nimport { ReactComponent as IdIcon } from 'src/styling/icons/ID/card/zodiac.svg'\nimport { ReactComponent as LawIconInverse } from 'src/styling/icons/circle buttons/law/white.svg'\nimport { ReactComponent as LawIcon } from 'src/styling/icons/circle buttons/law/zodiac.svg'\n\nimport mainStyles from '../CustomersList.styles'\nimport { getFormattedPhone, getName } from '../helper'\n\nimport FrontCameraPhoto from './FrontCameraPhoto'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst CustomerDetails = memo(({ customer, locale, setShowCompliance }) => {\n const classes = useStyles()\n\n const elements = [\n {\n header: 'Phone number',\n size: 172,\n value: getFormattedPhone(customer.phone, locale.country)\n },\n {\n header: 'ID number',\n size: 172,\n value: R.path(['idCardData', 'documentNumber'])(customer) ?? ''\n },\n {\n header: 'US SSN',\n size: 127,\n value: R.path(['usSsn'])(customer) ?? ''\n }\n ]\n\n const name = getName(customer)\n\n return (\n \n \n \n
\n \n

\n {name.length\n ? name\n : getFormattedPhone(R.path(['phone'])(customer), locale.country)}\n

\n \n Compliance details\n \n
\n \n {elements.map(({ size, header }, idx) => (\n \n {header}\n \n ))}\n \n \n {elements.map(({ size, value }, idx) => (\n \n {value}\n

\n ))}\n
\n
\n
\n )\n})\n\nexport default CustomerDetails\n","import * as R from 'ramda'\n\nconst ifNotNull = (value, valueIfNotNull) => {\n return R.isNil(value) ? '' : valueIfNotNull\n}\n\nexport { ifNotNull }\n","import { Box } from '@material-ui/core'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport {\n PropertyCard,\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n} from 'src/pages/Customers/components/propertyCard'\nimport { ifNotNull } from 'src/utils/nullCheck'\n\nimport { getName } from '../helper'\n\nimport Field from './Field'\n\nconst IdDataCard = memo(({ customerData, updateCustomer }) => {\n const idData = R.path(['idCardData'])(customerData)\n const rawExpirationDate = R.path(['expirationDate'])(idData)\n const country = R.path(['country'])(idData)\n const rawDob = R.path(['dateOfBirth'])(idData)\n\n const elements = [\n {\n header: 'Name',\n display: `${getName(customerData)}`,\n size: 190\n },\n {\n header: 'ID number',\n display: R.path(['documentNumber'])(idData),\n size: 160\n },\n {\n header: 'Birth Date',\n display: ifNotNull(rawDob, moment.utc(rawDob).format('YYYY-MM-DD')),\n size: 110\n },\n {\n header: 'Age',\n display: ifNotNull(\n rawDob,\n moment.utc().diff(moment.utc(rawDob).format('YYYY-MM-DD'), 'years')\n ),\n size: 50\n },\n {\n header: 'Gender',\n display: R.path(['gender'])(idData),\n size: 80\n },\n {\n header: country === 'Canada' ? 'Province' : 'State',\n display: R.path(['state'])(idData),\n size: 120\n },\n {\n header: 'Expiration Date',\n display: ifNotNull(\n rawExpirationDate,\n moment.utc(rawExpirationDate).format('YYYY-MM-DD')\n )\n }\n ]\n\n return (\n \n updateCustomer({ idCardDataOverride: OVERRIDE_AUTHORIZED })\n }\n reject={() => updateCustomer({ idCardDataOverride: OVERRIDE_REJECTED })}>\n \n {elements.map(({ header, display, size }, idx) => (\n \n ))}\n \n \n )\n})\n\nexport default IdDataCard\n","import * as R from 'ramda'\n\nconst CRYPTO_CURRENCIES = [\n {\n cryptoCode: 'BTC',\n display: 'Bitcoin',\n code: 'bitcoin',\n unitScale: 8\n },\n {\n cryptoCode: 'ETH',\n display: 'Ethereum',\n code: 'ethereum',\n unitScale: 18\n },\n {\n cryptoCode: 'LTC',\n display: 'Litecoin',\n code: 'litecoin',\n unitScale: 8\n },\n {\n cryptoCode: 'DASH',\n display: 'Dash',\n code: 'dash',\n unitScale: 8\n },\n {\n cryptoCode: 'ZEC',\n display: 'Zcash',\n code: 'zcash',\n unitScale: 8\n },\n {\n cryptoCode: 'BCH',\n display: 'Bitcoin Cash',\n code: 'bitcoincash',\n unitScale: 8\n }\n]\n\nfunction getCryptoCurrency(cryptoCode) {\n const coin = R.find(R.propEq('cryptoCode', cryptoCode))(CRYPTO_CURRENCIES)\n\n if (!coin) throw new Error(`Unsupported crypto: ${cryptoCode}`)\n return coin\n}\n\nfunction toUnit(cryptoAtoms, cryptoCode) {\n const cryptoRec = getCryptoCurrency(cryptoCode)\n const unitScale = cryptoRec.unitScale\n return cryptoAtoms.shiftedBy(-unitScale)\n}\n\nfunction formatCryptoAddress(cryptoCode = '', address = '') {\n return cryptoCode === 'BCH' ? address.replace('bitcoincash:', '') : address\n}\n\nexport { toUnit, formatCryptoAddress }\n","import { makeStyles, Box } from '@material-ui/core'\nimport BigNumber from 'bignumber.js'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport DataTable from 'src/components/tables/DataTable'\nimport { H3, H4, Label1, Label2, P } from 'src/components/typography'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { toUnit } from 'src/utils/coin'\nimport { ifNotNull } from 'src/utils/nullCheck'\n\nimport CopyToClipboard from '../../Transactions/CopyToClipboard'\nimport mainStyles from '../CustomersList.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst TransactionsList = ({ customer, data, loading }) => {\n const classes = useStyles()\n const LastTxIcon = customer.lastTxClass === 'cashOut' ? TxOutIcon : TxInIcon\n const hasData = !(R.isEmpty(data) || R.isNil(data))\n\n const summaryElements = [\n {\n header: 'Transactions',\n size: 127,\n value: ifNotNull(\n customer.totalTxs,\n `${Number.parseInt(customer.totalTxs)}`\n )\n },\n {\n header: 'Transaction volume',\n size: 167,\n value: ifNotNull(\n customer.totalSpent,\n `${Number.parseFloat(customer.totalSpent)} ${customer.lastTxFiatCode}`\n )\n },\n {\n header: 'Last active',\n size: 142,\n value: ifNotNull(\n customer.lastActive,\n moment.utc(customer.lastActive).format('YYYY-MM-D')\n )\n },\n {\n header: 'Last transaction',\n size: 198,\n value: ifNotNull(\n customer.lastTxFiat,\n <>\n \n {`${Number.parseFloat(customer.lastTxFiat)} \n ${customer.lastTxFiatCode}`}\n \n )\n }\n ]\n\n const tableElements = [\n {\n header: 'Direction',\n width: 207,\n view: it => (\n <>\n {it.txClass === 'cashOut' ? (\n \n ) : (\n \n )}\n {it.txClass === 'cashOut' ? 'Cach-out' : 'Cash-in'}\n \n )\n },\n {\n header: 'Transaction ID',\n width: 414,\n view: it => (\n {it.id}\n )\n },\n {\n header: 'Cash',\n width: 146,\n textAlign: 'right',\n view: it => (\n <>\n {`${Number.parseFloat(it.fiat)} `}\n {it.fiatCode}\n \n )\n },\n {\n header: 'Crypto',\n width: 142,\n textAlign: 'right',\n view: it => (\n <>\n {`${toUnit(new BigNumber(it.cryptoAtoms), it.cryptoCode).toFormat(\n 5\n )} `}\n {it.cryptoCode}\n \n )\n },\n {\n header: 'Date',\n width: 157,\n view: it => moment.utc(it.created).format('YYYY-MM-D')\n },\n {\n header: 'Time (h:m:s)',\n width: 134,\n view: it => moment.utc(it.created).format('hh:mm:ss')\n }\n ]\n\n return (\n <>\n

Transactions

\n \n \n {summaryElements.map(({ size, header }, idx) => (\n \n {header}\n \n ))}\n \n \n {summaryElements.map(({ size, value }, idx) => (\n \n {value}\n

\n ))}\n
\n
\n
\n
\n

\n {loading\n ? 'Loading'\n : hasData\n ? 'All transactions from this customer'\n : 'No transactions so far'}\n

\n
\n
\n {hasData && }\n \n )\n}\n\nexport default TransactionsList\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles, Breadcrumbs, Box } from '@material-ui/core'\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { memo, useState } from 'react'\nimport { useHistory, useParams } from 'react-router-dom'\n\nimport { ActionButton } from 'src/components/buttons'\nimport { Label1, Label2 } from 'src/components/typography'\nimport {\n OVERRIDE_AUTHORIZED,\n OVERRIDE_REJECTED\n} from 'src/pages/Customers/components/propertyCard'\nimport { ReactComponent as AuthorizeReversedIcon } from 'src/styling/icons/button/authorize/white.svg'\nimport { ReactComponent as AuthorizeIcon } from 'src/styling/icons/button/authorize/zodiac.svg'\nimport { ReactComponent as BlockReversedIcon } from 'src/styling/icons/button/block/white.svg'\nimport { ReactComponent as BlockIcon } from 'src/styling/icons/button/block/zodiac.svg'\nimport { fromNamespace, namespaces } from 'src/utils/config'\n\nimport styles from './CustomerProfile.styles'\nimport {\n CustomerDetails,\n TransactionsList,\n ComplianceDetails\n} from './components'\nimport { getFormattedPhone, getName } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CUSTOMER = gql`\n query customer($customerId: ID!) {\n config\n customer(customerId: $customerId) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n transactions {\n txClass\n id\n fiat\n fiatCode\n cryptoAtoms\n cryptoCode\n created\n errorMessage: error\n error: errorCode\n }\n }\n }\n`\n\nconst SET_CUSTOMER = gql`\n mutation setCustomer($customerId: ID!, $customerInput: CustomerInput) {\n setCustomer(customerId: $customerId, customerInput: $customerInput) {\n id\n authorizedOverride\n frontCameraPath\n frontCameraOverride\n phone\n smsOverride\n idCardData\n idCardDataOverride\n idCardDataExpiration\n idCardPhotoPath\n idCardPhotoOverride\n usSsn\n usSsnOverride\n sanctions\n sanctionsAt\n sanctionsOverride\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n }\n }\n`\n\nconst CustomerProfile = memo(() => {\n const classes = useStyles()\n const history = useHistory()\n const [showCompliance, setShowCompliance] = useState(false)\n const { id: customerId } = useParams()\n\n const { data: customerResponse, refetch: getCustomer, loading } = useQuery(\n GET_CUSTOMER,\n {\n variables: { customerId }\n }\n )\n\n const [setCustomer] = useMutation(SET_CUSTOMER, {\n onCompleted: () => getCustomer()\n })\n\n const updateCustomer = it =>\n setCustomer({\n variables: {\n customerId,\n customerInput: it\n }\n })\n\n const configData = R.path(['config'])(customerResponse) ?? []\n const locale = configData && fromNamespace(namespaces.LOCALE, configData)\n const customerData = R.path(['customer'])(customerResponse) ?? []\n const rawTransactions = R.path(['transactions'])(customerData) ?? []\n const sortedTransactions = R.sort(R.descend(R.prop('cryptoAtoms')))(\n rawTransactions\n )\n const name = getName(customerData)\n const blocked =\n R.path(['authorizedOverride'])(customerData) === OVERRIDE_REJECTED\n\n return (\n <>\n }\n aria-label=\"breadcrumb\">\n history.push('/compliance/customers')}>\n Customers\n \n \n {name.length\n ? name\n : getFormattedPhone(\n R.path(['phone'])(customerData),\n locale.country\n )}\n \n \n
\n \n setShowCompliance(!showCompliance)}\n />\n
\n Actions\n \n updateCustomer({\n authorizedOverride: blocked\n ? OVERRIDE_AUTHORIZED\n : OVERRIDE_REJECTED\n })\n }>\n {`${blocked ? 'Authorize' : 'Block'} customer`}\n \n
\n \n
\n {!showCompliance && (\n \n )}\n {showCompliance && (\n \n )}\n \n )\n})\n\nexport default CustomerProfile\n","import { makeStyles } from '@material-ui/core/styles'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { MainStatus } from 'src/components/Status'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport DataTable from 'src/components/tables/DataTable'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { ifNotNull } from 'src/utils/nullCheck'\n\nimport styles from './CustomersList.styles'\nimport { getAuthorizedStatus, getFormattedPhone, getName } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst CustomersList = ({ data, locale, onClick, loading }) => {\n const classes = useStyles()\n\n const elements = [\n {\n header: 'Phone',\n width: 172,\n view: it => getFormattedPhone(it.phone, locale.country)\n },\n {\n header: 'Name',\n width: 241,\n view: getName\n },\n {\n header: 'Total TXs',\n width: 126,\n textAlign: 'right',\n view: it => `${Number.parseInt(it.totalTxs)}`\n },\n {\n header: 'Total spent',\n width: 152,\n textAlign: 'right',\n view: it =>\n `${Number.parseFloat(it.totalSpent)} ${it.lastTxFiatCode ?? ''}`\n },\n {\n header: 'Last active',\n width: 133,\n view: it =>\n ifNotNull(it.lastActive, moment.utc(it.lastActive).format('YYYY-MM-D'))\n },\n {\n header: 'Last transaction',\n width: 161,\n textAlign: 'right',\n view: it => {\n const hasLastTx = !R.isNil(it.lastTxFiatCode)\n const LastTxIcon = it.lastTxClass === 'cashOut' ? TxOutIcon : TxInIcon\n const lastIcon = \n return (\n <>\n {hasLastTx &&\n `${parseFloat(it.lastTxFiat)} ${it.lastTxFiatCode ?? ''}`}\n {hasLastTx && lastIcon}\n \n )\n }\n },\n {\n header: 'Status',\n width: 188,\n view: it => \n }\n ]\n\n return (\n <>\n },\n { label: 'Cash-out', icon: }\n ]}\n />\n \n \n )\n}\n\nexport default CustomersList\n","import { useQuery } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React from 'react'\nimport { useHistory } from 'react-router-dom'\n\nimport { fromNamespace, namespaces } from 'src/utils/config'\n\nimport CustomersList from './CustomersList'\n\nconst GET_CUSTOMERS = gql`\n {\n config\n customers {\n id\n idCardData\n phone\n totalTxs\n totalSpent\n lastActive\n lastTxFiat\n lastTxFiatCode\n lastTxClass\n authorizedOverride\n daysSuspended\n }\n }\n`\n\nconst Customers = () => {\n const history = useHistory()\n const { data: customersResponse, loading } = useQuery(GET_CUSTOMERS)\n\n const handleCustomerClicked = customer =>\n history.push(`/compliance/customer/${customer.id}`)\n\n const configData = R.path(['config'])(customersResponse) ?? []\n const locale = configData && fromNamespace(namespaces.LOCALE, configData)\n const customersData = R.sortWith([R.descend(R.prop('lastActive'))])(\n R.path(['customers'])(customersResponse) ?? []\n )\n\n return (\n \n )\n}\n\nexport default Customers\n","import { makeStyles } from '@material-ui/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { Label1 } from './typography'\n\nconst useStyles = makeStyles({\n wrapper: {\n display: 'flex',\n alignItems: 'center'\n },\n colorIndicator: {\n borderRadius: 3,\n height: 12,\n width: 12,\n marginRight: 8\n }\n})\n\nconst TableLabel = ({ className, label, color, ...props }) => {\n const classes = useStyles()\n return (\n
\n {color && (\n \n )}\n {label}\n
\n )\n}\n\nexport default TableLabel\n","import typographyStyles from 'src/components/typography/styles'\nimport {\n disabledColor2,\n spacer,\n subheaderColor,\n errorColor,\n placeholderColor,\n comet\n} from 'src/styling/variables'\n\nconst { label1 } = typographyStyles\n\nexport default {\n wrapper: {\n display: 'flex',\n flex: 1,\n flexDirection: 'row',\n height: '100%'\n },\n main: {\n display: 'flex',\n flex: 1\n },\n firstSide: {\n margin: `0 ${spacer * 8}px 0 ${spacer * 6}px`\n },\n secondSide: {\n marginTop: -29\n },\n error: {\n color: errorColor\n },\n coinTotal: {\n margin: `${spacer * 1.5}px 0`\n },\n leftSpacer: {\n marginLeft: spacer\n },\n topSpacer: {\n marginTop: spacer * 5\n },\n addressWrapper: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n backgroundColor: subheaderColor\n },\n address: {\n width: 375,\n margin: `${spacer * 1.5}px ${spacer * 3}px`\n },\n itemWrapper: {\n textAlign: 'end'\n },\n item: {\n extend: label1,\n margin: 2\n },\n inactiveItem: {\n color: comet\n },\n firstItem: {\n fontWeight: 700,\n margin: 2\n },\n total: {\n marginTop: 'auto',\n textAlign: 'right',\n marginRight: 24\n },\n totalPending: {\n marginTop: 2\n },\n totalTitle: {\n color: placeholderColor,\n marginBottom: 2\n },\n table: {\n marginTop: spacer,\n marginLeft: spacer * 6\n },\n tableLabel: {\n justifyContent: 'end',\n marginTop: -38\n },\n pending: {\n backgroundColor: disabledColor2\n },\n copyToClipboard: {\n marginLeft: 'auto',\n paddingTop: 6,\n paddingLeft: 15,\n marginRight: -11\n }\n}\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport BigNumber from 'bignumber.js'\nimport classnames from 'classnames'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport QRCode from 'qrcode.react'\nimport React, { useState } from 'react'\n\nimport TableLabel from 'src/components/TableLabel'\nimport Title from 'src/components/Title'\nimport { Tr, Td, THead, TBody, Table } from 'src/components/fake-table/Table'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport {\n H3,\n Info1,\n Info2,\n Info3,\n Mono,\n Label1,\n Label3\n} from 'src/components/typography'\nimport CopyToClipboard from 'src/pages/Transactions/CopyToClipboard'\nimport { primaryColor } from 'src/styling/variables'\nimport { formatCryptoAddress } from 'src/utils/coin'\n\nimport styles from './Funding.styles'\n\nconst useStyles = makeStyles(styles)\nconst sizes = {\n big: 165,\n time: 140,\n date: 130\n}\n\nconst GET_FUNDING = gql`\n {\n funding {\n cryptoCode\n errorMsg\n fundingAddress\n fundingAddressUrl\n confirmedBalance\n pending\n fiatConfirmedBalance\n fiatPending\n fiatCode\n display\n unitScale\n }\n }\n`\n\nconst formatAddress = (cryptoCode = '', address = '') =>\n formatCryptoAddress(cryptoCode, address).replace(/(.{4})/g, '$1 ')\nconst sumReducer = (acc, value) => acc.plus(value)\nconst formatNumber = it => new BigNumber(it).toFormat(2)\n\nconst getConfirmedTotal = list => {\n return formatNumber(\n list\n .filter(it => !it.errorMsg)\n .map(it => new BigNumber(it.fiatConfirmedBalance))\n .reduce(sumReducer, new BigNumber(0))\n )\n}\n\nconst getPendingTotal = list => {\n return formatNumber(\n list\n .filter(it => !it.errorMsg)\n .map(it => new BigNumber(it.fiatPending))\n .reduce(sumReducer, new BigNumber(0))\n )\n}\n\nconst Funding = () => {\n const [selected, setSelected] = useState(null)\n const [viewHistory] = useState(false)\n const classes = useStyles()\n const fundingHistory = [\n {\n cryptoAmount: 2.0,\n balance: 10.23,\n fiatValue: 1000.0,\n date: new Date(),\n performedBy: null,\n pending: true\n },\n {\n cryptoAmount: 10.0,\n balance: 12.23,\n fiatValue: 12000.0,\n date: new Date(),\n performedBy: null\n },\n {\n cryptoAmount: 5.0,\n balance: 5.0,\n fiatValue: 50000.0,\n date: new Date(),\n performedBy: null\n }\n ]\n\n const isSelected = it => {\n return selected && selected.cryptoCode === it.cryptoCode\n }\n\n const { data: fundingResponse } = useQuery(GET_FUNDING)\n\n if (fundingResponse?.funding?.length && !selected) {\n setSelected(fundingResponse?.funding[0])\n }\n\n const itemRender = (it, active) => {\n const itemClass = {\n [classes.item]: true,\n [classes.inactiveItem]: !active\n }\n const wrapperClass = {\n [classes.itemWrapper]: true,\n [classes.error]: it.errorMsg\n }\n\n return (\n
\n
{it.display}
\n {!it.errorMsg && (\n <>\n
\n {it.fiatConfirmedBalance} {it.fiatCode}\n
\n
\n {it.confirmedBalance} {it.cryptoCode}\n
\n \n )}\n
\n )\n }\n\n const pendingTotal = getPendingTotal(fundingResponse?.funding || [])\n const signIfPositive = num => (num >= 0 ? '+' : '')\n\n return (\n <>\n
\n Funding\n {/* */}\n
\n
\n it.display}\n itemRender={itemRender}>\n {fundingResponse?.funding && fundingResponse?.funding?.length && (\n
\n \n Total Crypto Balance\n \n \n {getConfirmedTotal(fundingResponse.funding)}\n {fundingResponse.funding[0].fiatCode}\n \n \n ({signIfPositive(pendingTotal)} {pendingTotal} pending)\n \n
\n )}\n \n {selected && !viewHistory && selected.errorMsg && (\n
\n
\n {selected.errorMsg}\n
\n
\n )}\n {selected && !viewHistory && !selected.errorMsg && (\n
\n
\n

Balance ({selected.display})

\n
\n \n {`${selected.confirmedBalance} ${selected.cryptoCode}`}\n \n \n {`(${signIfPositive(selected.pending)} ${\n selected.pending\n } pending)`}\n \n
\n\n
\n \n {`= ${formatNumber(selected.fiatConfirmedBalance)} ${\n selected.fiatCode\n }`}\n \n \n {`(${signIfPositive(selected.fiatPending)} ${formatNumber(\n selected.fiatPending\n )} pending)`}\n \n
\n\n

Address

\n
\n \n \n \n {formatAddress(\n selected.cryptoCode,\n selected.fundingAddress\n )}\n \n \n \n
\n
\n\n
\n Scan to send {selected.display}\n \n
\n
\n )}\n {selected && viewHistory && (\n
\n \n \n \n \n \n \n \n \n \n \n \n {fundingHistory.map((it, idx) => (\n \n \n \n \n \n \n \n \n ))}\n \n
\n Amount Entered\n \n Balance After\n \n Cash Value\n \n Date\n \n Time (h:m:s)\n \n Performed By\n
\n {it.cryptoAmount} {selected.cryptoCode}\n \n {it.balance} {selected.cryptoCode}\n \n {it.fiatValue} {selected.fiatCode}\n \n {moment(it.date).format('YYYY-MM-DD')}\n \n {moment(it.date).format('hh:mm:ss')}\n add
\n
\n )}\n
\n \n )\n}\n\nexport default Funding\n","import * as Yup from 'yup'\n\nimport {\n TextInput,\n SecretInput,\n Autocomplete\n} from 'src/components/inputs/formik'\n\nconst isDefined = it => it && it.length\n\nexport default {\n code: 'bitgo',\n name: 'BitGo',\n title: 'BitGo (Wallet)',\n elements: [\n {\n code: 'token',\n display: 'API Token',\n component: TextInput,\n face: true,\n long: true\n },\n {\n code: 'environment',\n display: 'Environment',\n component: Autocomplete,\n inputProps: {\n options: ['prod', 'test']\n },\n face: true\n },\n {\n code: 'BTCWalletId',\n display: 'BTC Wallet ID',\n component: TextInput\n },\n {\n code: 'BTCWalletPassphrase',\n display: 'BTC Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'LTCWalletId',\n display: 'LTC Wallet ID',\n component: TextInput\n },\n {\n code: 'LTCWalletPassphrase',\n display: 'LTC Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'ZECWalletId',\n display: 'ZEC Wallet ID',\n component: TextInput\n },\n {\n code: 'ZECWalletPassphrase',\n display: 'ZEC Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'BCHWalletId',\n display: 'BCH Wallet ID',\n component: TextInput\n },\n {\n code: 'BCHWalletPassphrase',\n display: 'BCH Wallet Passphrase',\n component: SecretInput\n },\n {\n code: 'DASHWalletId',\n display: 'DASH Wallet ID',\n component: TextInput\n },\n {\n code: 'DASHWalletPassphrase',\n display: 'DASH Wallet Passphrase',\n component: SecretInput\n }\n ],\n validationSchema: Yup.object().shape({\n token: Yup.string()\n .max(100, 'Too long')\n .required(),\n BTCWalletId: Yup.string().max(100, 'Too long'),\n BTCWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('BTCWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n LTCWalletId: Yup.string().max(100, 'Too long'),\n LTCWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('LTCWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n ZECWalletId: Yup.string().max(100, 'Too long'),\n ZECWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('ZECWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n BCHWalletId: Yup.string().max(100, 'Too long'),\n BCHWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('BCHWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n DASHWalletId: Yup.string().max(100, 'Too long'),\n DASHWalletPassphrase: Yup.string()\n .max(100, 'Too long')\n .when('DASHWalletId', {\n is: isDefined,\n then: Yup.string().required()\n }),\n environment: Yup.string()\n .matches(/(prod|test)/)\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'bitstamp',\n name: 'Bitstamp',\n title: 'Bitstamp (Exchange)',\n elements: [\n {\n code: 'clientId',\n display: 'Client ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'key',\n display: 'API Key',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'secret',\n display: 'API Secret',\n component: SecretInputFormik\n }\n ],\n\n validationSchema: Yup.object().shape({\n clientId: Yup.string()\n .max(100, 'Too long')\n .required(),\n key: Yup.string()\n .max(100, 'Too long')\n .required(),\n secret: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'blockcypher',\n name: 'Blockcypher',\n title: 'Blockcypher (Payments)',\n elements: [\n {\n code: 'token',\n display: 'API Token',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'confidenceFactor',\n display: 'Confidence Factor',\n component: TextInputFormik,\n face: true\n }\n ],\n\n validationSchema: Yup.object().shape({\n token: Yup.string()\n .max(100, 'Too long')\n .required(),\n confidenceFactor: Yup.number()\n .integer('Please input a positive integer')\n .positive('Please input a positive integer')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'infura',\n name: 'Infura',\n title: 'Infura (Wallet)',\n elements: [\n {\n code: 'apiKey',\n display: 'Project ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'apiSecret',\n display: 'Project Secret',\n component: SecretInputFormik\n },\n {\n code: 'endpoint',\n display: 'Endpoint',\n component: TextInputFormik,\n face: true\n }\n ],\n validationSchema: Yup.object().shape({\n apiKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n apiSecret: Yup.string()\n .max(100, 'Too long')\n .required(),\n endpoint: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'itbit',\n name: 'itBit',\n title: 'itBit (Exchange)',\n elements: [\n {\n code: 'userId',\n display: 'User ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'walletId',\n display: 'Wallet ID',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'clientKey',\n display: 'Client Key',\n component: TextInputFormik\n },\n {\n code: 'clientSecret',\n display: 'Client Secret',\n component: SecretInputFormik\n }\n ],\n validationSchema: Yup.object().shape({\n userId: Yup.string()\n .max(100, 'Too long')\n .required(),\n walletId: Yup.string()\n .max(100, 'Too long')\n .required(),\n clientKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n clientSecret: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'kraken',\n name: 'Kraken',\n title: 'Kraken (Exchange)',\n elements: [\n {\n code: 'apiKey',\n display: 'API Key',\n component: TextInputFormik,\n face: true,\n long: true\n },\n {\n code: 'privateKey',\n display: 'Private Key',\n component: SecretInputFormik\n }\n ],\n validationSchema: Yup.object().shape({\n apiKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n privateKey: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'mailgun',\n name: 'Mailgun',\n title: 'Mailgun (Email)',\n elements: [\n {\n code: 'apiKey',\n display: 'API Key',\n component: TextInputFormik\n },\n {\n code: 'domain',\n display: 'Domain',\n component: TextInputFormik\n },\n {\n code: 'fromEmail',\n display: 'From Email',\n component: TextInputFormik,\n face: true\n },\n {\n code: 'toEmail',\n display: 'To Email',\n component: TextInputFormik,\n face: true\n }\n ],\n validationSchema: Yup.object().shape({\n apiKey: Yup.string()\n .max(100, 'Too long')\n .required(),\n domain: Yup.string()\n .max(100, 'Too long')\n .required(),\n fromEmail: Yup.string()\n .max(100, 'Too long')\n .email('Please input a valid email address')\n .required(),\n toEmail: Yup.string()\n .max(100, 'Too long')\n .email('Please input a valid email address')\n .required()\n })\n}\n","import * as Yup from 'yup'\n\nimport SecretInputFormik from 'src/components/inputs/formik/SecretInput'\nimport TextInputFormik from 'src/components/inputs/formik/TextInput'\n\nexport default {\n code: 'twilio',\n name: 'Twilio',\n title: 'Twilio (SMS)',\n elements: [\n {\n code: 'accountSid',\n display: 'Account SID',\n component: TextInputFormik\n },\n {\n code: 'authToken',\n display: 'Auth Token',\n component: SecretInputFormik\n },\n {\n code: 'fromNumber',\n display: 'Twilio Number (international format)',\n component: TextInputFormik,\n face: true\n },\n {\n code: 'toNumber',\n display: 'Notifications Number (international format)',\n component: TextInputFormik,\n face: true\n }\n ],\n validationSchema: Yup.object().shape({\n accountSid: Yup.string()\n .max(100, 'Too long')\n .required(),\n authToken: Yup.string()\n .max(100, 'Too long')\n .required(),\n fromNumber: Yup.string()\n .max(100, 'Too long')\n .required(),\n toNumber: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n}\n","import bitgo from './bitgo'\nimport bitstamp from './bitstamp'\nimport blockcypher from './blockcypher'\nimport infura from './infura'\nimport itbit from './itbit'\nimport kraken from './kraken'\nimport mailgun from './mailgun'\nimport twilio from './twilio'\n\nexport default {\n [bitgo.code]: bitgo,\n [bitstamp.code]: bitstamp,\n [blockcypher.code]: blockcypher,\n [infura.code]: infura,\n [itbit.code]: itbit,\n [kraken.code]: kraken,\n [mailgun.code]: mailgun,\n [twilio.code]: twilio\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 52,\n cy: 32,\n r: 32,\n fill: \"#F7931A\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"m66.1 27.4c0.6-4.3-2.6-6.5-7-8.1l1.4-5.8-3.5-0.9-1.4 5.6c-0.9-0.2-1.9-0.4-2.8-0.7l1.4-5.7-3.5-0.9-1.4 5.8c-0.8-0.2-1.5-0.3-2.2-0.5l0 0-4.8-1.2-0.9 3.8s2.6 0.6 2.6 0.6c1.4 0.4 1.7 1.3 1.6 2l-1.6 6.6c0.1 0 0.2 0.1 0.4 0.1-0.1 0-0.2-0.1-0.4-0.1l-2.3 9.2c-0.2 0.4-0.6 1.1-1.6 0.8 0 0.1-2.6-0.6-2.6-0.6l-1.7 4 4.6 1.1c0.9 0.2 1.7 0.4 2.5 0.6l-1.5 5.8 3.5 0.9 1.4-5.8c1 0.3 1.9 0.5 2.8 0.7l-1.4 5.7 3.5 0.9 1.5-5.8c6 1.1 10.5 0.7 12.4-4.7 1.5-4.4-0.1-6.9-3.2-8.5 2.3-0.5 4-2 4.5-5.2zm-8 11.2c-1.1 4.4-8.4 2-10.8 1.4l1.9-7.7c2.4 0.6 10 1.8 8.9 6.3zm1.1-11.3c-1 4-7.1 2-9.1 1.5l1.7-7c2 0.5 8.4 1.4 7.3 5.6z\",\n fill: \"#FFF\"\n});\n\nfunction SvgIconBitcoinColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 104,\n height: 64,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconBitcoinColour);\nexport default __webpack_public_path__ + \"static/media/icon-bitcoin-colour.bd8da481.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F7931A\",\n d: \"m0,0l29.7,0a39,39,0,0,0,0,64l-29.7,0zm52,0a32,32,0,0,0,0,64a32,32,0,0,0,0,-64m52,0l-29.7,0a39,39,0,0,1,0,64l29.7,0z\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n transform: \"rotate(-28 52 32)\",\n d: \"m66.103,27.444c0.637-4.258-2.605-6.547-7.038-8.074l1.438-5.768-3.511-0.875-1.4,5.616c-0.923-0.23-1.871-0.447-2.813-0.662l1.41-5.653-3.509-0.875-1.439,5.766c-0.764-0.174-1.514-0.346-2.242-0.527l0.004-0.018-4.842-1.209-0.934,3.75s2.605,0.597,2.55,0.634c1.422,0.355,1.679,1.296,1.636,2.042l-1.638,6.571c0.098,0.025,0.225,0.061,0.365,0.117-0.117-0.029-0.242-0.061-0.371-0.092l-2.296,9.205c-0.174,0.432-0.615,1.08-1.609,0.834,0.035,0.051-2.552-0.637-2.552-0.637l-1.743,4.019,4.569,1.139c0.85,0.213,1.683,0.436,2.503,0.646l-1.453,5.834,3.507,0.875,1.439-5.772c0.958,0.26,1.888,0.5,2.798,0.726l-1.434,5.745,3.511,0.875,1.453-5.823c5.987,1.133,10.489,0.676,12.384-4.739,1.527-4.36-0.076-6.875-3.226-8.515,2.294-0.529,4.022-2.038,4.483-5.155zm-8.022,11.249c-1.085,4.36-8.426,2.003-10.806,1.412l1.928-7.729c2.38,0.594,10.012,1.77,8.878,6.317zm1.086-11.312c-0.99,3.966-7.1,1.951-9.082,1.457l1.748-7.01c1.982,0.494,8.365,1.416,7.334,5.553z\"\n});\n\nfunction SvgIconBitcoincashColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 104,\n height: 64,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconBitcoincashColour);\nexport default __webpack_public_path__ + \"static/media/icon-bitcoincash-colour.3b27f3ed.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1000,\n cy: 1000,\n r: 1000,\n fill: \"#2573c2\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#fff\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1652.6 736.8a143.65 143.65 0 0 0-19.2-63.6c-10-20-27.8-35.6-48.6-43.6a143.51 143.51 0 0 0-68.4-15H628.8l-63.6 190.6h804.2l-127 389.6h-804l-63.6 190.6h891.8a246.33 246.33 0 0 0 77.8-15c25-14.2 53.6-28.6 77.8-48.6a382.69 382.69 0 0 0 63.6-63.6 432.2 432.2 0 0 0 39.2-73.4l117.8-370.4a137.38 137.38 0 0 0 9.8-77.6z\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M882.2 911.6H409l-63.6 176.2h478z\"\n}));\n\nfunction SvgIconDashColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 2000 2000\",\n width: 2500,\n height: 2500,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconDashColour);\nexport default __webpack_public_path__ + \"static/media/icon-dash-colour.e01c021b.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#343434\",\n points: \"127.9611 0 125.1661 9.5 125.1661 285.168 127.9611 287.958 255.9231 212.32\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#8C8C8C\",\n points: \"127.962 0 0 212.32 127.962 287.959 127.962 154.158\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#3C3C3B\",\n points: \"127.9611 312.1866 126.3861 314.1066 126.3861 412.3056 127.9611 416.9066 255.9991 236.5866\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#8C8C8C\",\n points: \"127.962 416.9052 127.962 312.1852 0 236.5852\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#141414\",\n points: \"127.9611 287.9577 255.9211 212.3207 127.9611 154.1587\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n fill: \"#393939\",\n points: \"0.0009 212.3208 127.9609 287.9578 127.9609 154.1588\"\n}));\n\nfunction SvgIconEthereumColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"256px\",\n height: \"417px\",\n viewBox: \"0 0 256 417\",\n preserveAspectRatio: \"xMidYMid\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconEthereumColour);\nexport default __webpack_public_path__ + \"static/media/icon-ethereum-colour.761723a2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n fill: \"#989898\",\n cx: 52,\n cy: 32,\n r: 32\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFF\",\n d: \"m46.92598,12.31703l-4.97801,18.8088l-3.42705,1.32711l-1.64691,6.17189l3.42705,-1.29514l-2.8461,10.76083l30.60893,0l2.09993,-7.98401l-18.42505,0l2.09993,-7.82412l3.3631,-1.26316l1.6469,-6.17188l-3.36309,1.29513l3.6509,-13.83611l-12.21053,0z\"\n});\n\nfunction SvgIconLitecoinColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 104,\n height: 64,\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconLitecoinColour);\nexport default __webpack_public_path__ + \"static/media/icon-litecoin-colour.bd861b5e.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"style\", {\n type: \"text/css\"\n}, \"\\n\\t.st0{fill:#231F20;}\\n\\t.st1{fill:#F4B728;}\\n\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M245.4,20C121.1,20,20,121.1,20,245.4s101.1,225.4,225.4,225.4s225.4-101.1,225.4-225.4S369.7,20,245.4,20z M245.4,433.6c-103.8,0-188.2-84.4-188.2-188.2S141.6,57.2,245.4,57.2s188.2,84.4,188.2,188.2S349.2,433.6,245.4,433.6z\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"circle\", {\n className: \"st1\",\n cx: 245.4,\n cy: 245.4,\n r: 177.6\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"polygon\", {\n className: \"st0\",\n points: \"165,315.5 165,349.9 226.5,349.9 226.5,387.6 264.3,387.6 264.3,349.9 325.8,349.9 325.8,304.4 230.4,304.4 325.8,175 325.8,140.6 264.3,140.6 264.3,103 226.5,103 226.5,140.6 165,140.6 165,186.2 260.4,186.2 \"\n});\n\nfunction SvgIconZcashColour(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n x: \"0px\",\n y: \"0px\",\n viewBox: \"0 0 493.3 490.2\",\n style: {\n enableBackground: \"new 0 0 493.3 490.2\"\n },\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), _ref2, title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"headerArtboard 7\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgIconZcashColour);\nexport default __webpack_public_path__ + \"static/media/icon-zcash-colour.68b1c20b.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { H1, P } from 'src/components/typography'\nimport { ReactComponent as BitcoinLogo } from 'src/styling/logos/icon-bitcoin-colour.svg'\nimport { ReactComponent as BitcoinCashLogo } from 'src/styling/logos/icon-bitcoincash-colour.svg'\nimport { ReactComponent as DashLogo } from 'src/styling/logos/icon-dash-colour.svg'\nimport { ReactComponent as EthereumLogo } from 'src/styling/logos/icon-ethereum-colour.svg'\nimport { ReactComponent as LitecoinLogo } from 'src/styling/logos/icon-litecoin-colour.svg'\nimport { ReactComponent as ZCashLogo } from 'src/styling/logos/icon-zcash-colour.svg'\n\nconst styles = {\n logo: {\n maxHeight: 80,\n maxWidth: 200\n },\n title: {\n margin: [[24, 0, 32, 0]]\n },\n text: {\n margin: 0\n },\n button: {\n marginTop: 'auto',\n marginBottom: 58\n },\n modalContent: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: [[0, 42]],\n flex: 1\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst getLogo = code => {\n switch (code) {\n case 'BTC':\n return BitcoinLogo\n case 'BCH':\n return BitcoinCashLogo\n case 'DASH':\n return DashLogo\n case 'ETH':\n return EthereumLogo\n case 'LTC':\n return LitecoinLogo\n case 'ZEC':\n return ZCashLogo\n default:\n return null\n }\n}\n\nconst WizardSplash = ({ code, name, onContinue }) => {\n const classes = useStyles()\n const Logo = getLogo(code)\n\n return (\n
\n \n

Enable {name}

\n

\n You are about to enable {name} on your system. This will allow you to\n use this cryptocurrency on your machines. To be able to do that, you’ll\n have to set up all the necessary 3rd party services.\n

\n \n
\n )\n}\n\nexport default WizardSplash\n","import { makeStyles, Grid } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Formik, Form, FastField } from 'formik'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\n\nconst styles = {\n button: {\n margin: [['auto', 0, 32, 'auto']]\n },\n form: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column'\n },\n grid: {\n marginBottom: 24,\n marginTop: 12\n }\n}\n\nconst useStyles = makeStyles(styles)\nconst FormRenderer = ({\n validationSchema,\n elements,\n value,\n save,\n buttonLabel = 'Save changes',\n buttonClass,\n xs = 12\n}) => {\n const classes = useStyles()\n\n const initialValues = R.compose(\n R.mergeAll,\n R.map(({ code }) => ({ [code]: (value && value[code]) ?? '' }))\n )(elements)\n\n const values = R.merge(initialValues, value)\n\n return (\n \n
\n \n {elements.map(({ component, code, display, inputProps }) => (\n \n \n \n ))}\n \n \n {buttonLabel}\n \n \n \n )\n}\n\nexport default FormRenderer\n","import { errorColor } from 'src/styling/variables'\n\nconst LABEL_WIDTH = 150\n\nexport default {\n title: {\n margin: [[0, 0, 12, 0]]\n },\n subtitle: {\n margin: [[32, 0, 21, 0]]\n },\n error: {\n color: errorColor\n },\n button: {\n marginLeft: 'auto'\n },\n submit: {\n display: 'flex',\n flexDirection: 'row',\n margin: [['auto', 0, 24]]\n },\n radioGroup: {\n flexDirection: 'row'\n },\n radioLabel: {\n width: LABEL_WIDTH,\n height: 48\n },\n radio: {\n padding: 4,\n margin: 4\n },\n setupNew: {\n display: 'flex',\n alignItems: 'center',\n height: 48\n },\n picker: {\n width: LABEL_WIDTH\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport * as R from 'ramda'\nimport React, { useReducer, useEffect } from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Stepper from 'src/components/Stepper'\nimport { Button } from 'src/components/buttons'\nimport { RadioGroup, Autocomplete } from 'src/components/inputs'\nimport { H4, Info2 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\nimport { startCase } from 'src/utils/string'\n\nimport styles from './WizardStep.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst initialState = {\n form: null,\n selected: null,\n isNew: false,\n iError: false\n}\n\nconst reducer = (state, action) => {\n switch (action.type) {\n case 'select':\n return {\n form: null,\n selected: action.selected,\n isNew: null,\n iError: false\n }\n case 'new':\n return { form: state.form, selected: null, isNew: true, iError: false }\n case 'form':\n return {\n form: action.form,\n selected: action.form.code,\n isNew: true,\n iError: false\n }\n case 'error':\n return R.merge(state, { innerError: true })\n case 'reset':\n return initialState\n default:\n throw new Error()\n }\n}\n\nconst WizardStep = ({\n type,\n name,\n step,\n error,\n lastStep,\n onContinue,\n filled,\n unfilled,\n getValue\n}) => {\n const classes = useStyles()\n const [{ innerError, selected, form, isNew }, dispatch] = useReducer(\n reducer,\n initialState\n )\n\n useEffect(() => {\n dispatch({ type: 'reset' })\n }, [step])\n\n const innerContinue = (config, account) => {\n if (!config || !config[type]) {\n return dispatch({ type: 'error' })\n }\n onContinue(config, account)\n }\n\n const label = lastStep ? 'Finish' : 'Next'\n const displayName = name ?? type\n const subtitleClass = {\n [classes.subtitle]: true,\n [classes.error]: innerError\n }\n\n return (\n <>\n {startCase(type)}\n \n

\n Select a {displayName} or set up a new one\n

\n {\n dispatch({ type: 'select', selected: it })\n }}\n labelClassName={classes.radioLabel}\n radioClassName={classes.radio}\n />\n
\n {!R.isEmpty(unfilled) && !R.isNil(unfilled) && (\n {\n dispatch({ type: 'new' })\n }}\n labelClassName={classes.radioLabel}\n radioClassName={classes.radio}\n options={[{ display: 'Set up new', code: true }]}\n />\n )}\n {isNew && (\n {\n dispatch({ type: 'form', form: it })\n }}\n />\n )}\n
\n {form && (\n innerContinue({ [type]: form.code }, { [form.code]: it })}\n elements={schema[form.code].elements}\n validationSchema={schema[form.code].validationSchema}\n value={getValue(form.code)}\n buttonLabel={label}\n />\n )}\n {!form && (\n
\n {error && Failed to save}\n innerContinue({ [type]: selected })}>\n {label}\n \n
\n )}\n \n )\n}\n\nexport default WizardStep\n","import * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport schema from 'src/pages/Services/schemas'\nimport { toNamespace } from 'src/utils/config'\n\nimport WizardSplash from './WizardSplash'\nimport WizardStep from './WizardStep'\n\nconst LAST_STEP = 4\nconst MODAL_WIDTH = 554\n\nconst contains = crypto => R.compose(R.contains(crypto), R.prop('cryptos'))\nconst sameClass = type => R.propEq('class', type)\nconst filterConfig = (crypto, type) =>\n R.filter(it => sameClass(type)(it) && contains(crypto)(it))\n\nconst getItems = (accountsConfig, accounts, type, crypto) => {\n const fConfig = filterConfig(crypto, type)(accountsConfig)\n const find = code => accounts && accounts[code]\n\n const [filled, unfilled] = R.partition(({ code }) => {\n const account = find(code)\n if (!schema[code]) return true\n\n const { validationSchema } = schema[code]\n return validationSchema.isValidSync(account)\n })(fConfig)\n\n return { filled, unfilled }\n}\n\nconst Wizard = ({ coin, onClose, accountsConfig, accounts, save, error }) => {\n const [{ step, config, accountsToSave }, setState] = useState({\n step: 0,\n config: { active: true },\n accountsToSave: {}\n })\n\n const title = `Enable ${coin.display}`\n const isLastStep = step === LAST_STEP\n\n const tickers = { filled: filterConfig(coin.code, 'ticker')(accountsConfig) }\n const wallets = getItems(accountsConfig, accounts, 'wallet', coin.code)\n const exchanges = getItems(accountsConfig, accounts, 'exchange', coin.code)\n const zeroConfs = getItems(accountsConfig, accounts, 'zeroConf', coin.code)\n\n const getValue = code => R.find(R.propEq('code', code))(accounts)\n\n const onContinue = async (stepConfig, stepAccount) => {\n const newConfig = R.merge(config, stepConfig)\n const newAccounts = stepAccount\n ? R.merge(accountsToSave, stepAccount)\n : accountsToSave\n\n if (isLastStep) {\n return save(toNamespace(coin.code, newConfig), newAccounts)\n }\n\n setState({\n step: step + 1,\n config: newConfig,\n accountsToSave: newAccounts\n })\n }\n\n const getStepData = () => {\n switch (step) {\n case 1:\n return { type: 'ticker', ...tickers }\n case 2:\n return { type: 'wallet', ...wallets }\n case 3:\n return { type: 'exchange', ...exchanges }\n case 4:\n return { type: 'zeroConf', name: 'zero conf', ...zeroConfs }\n default:\n return null\n }\n }\n\n return (\n \n {step === 0 && (\n onContinue()}\n />\n )}\n {step !== 0 && (\n \n )}\n \n )\n}\n\nexport default Wizard\n","import * as R from 'ramda'\nimport * as Yup from 'yup'\n\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\n\nconst filterClass = type => R.filter(it => it.class === type)\nconst filterCoins = ({ id }) => R.filter(it => R.contains(id)(it.cryptos))\n\nconst WalletSchema = Yup.object().shape({\n ticker: Yup.string().required(),\n wallet: Yup.string().required(),\n exchange: Yup.string().required(),\n zeroConf: Yup.string().required()\n})\n\nconst getElements = (cryptoCurrencies, accounts, onChange, wizard = false) => {\n const widthAdjust = wizard ? 11 : 0\n const viewCryptoCurrency = it =>\n R.compose(\n R.prop(['display']),\n R.find(R.propEq('code', it))\n )(cryptoCurrencies)\n\n const filterOptions = type => filterClass(type)(accounts || [])\n\n const getDisplayName = type => it =>\n R.compose(\n R.prop('display'),\n R.find(R.propEq('code', it))\n )(filterOptions(type))\n\n const getOptions = R.curry((option, it) =>\n filterCoins(it)(filterOptions(option))\n )\n\n return [\n {\n name: 'id',\n header: 'Cryptocurrency',\n width: 180 - widthAdjust,\n view: viewCryptoCurrency,\n size: 'sm',\n editable: false\n },\n {\n name: 'ticker',\n size: 'sm',\n stripe: true,\n view: getDisplayName('ticker'),\n width: 190 - widthAdjust,\n input: Autocomplete,\n inputProps: {\n options: getOptions('ticker'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null\n }\n },\n {\n name: 'wallet',\n size: 'sm',\n stripe: true,\n view: getDisplayName('wallet'),\n width: 190 - widthAdjust,\n input: Autocomplete,\n inputProps: {\n options: getOptions('wallet'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null,\n onChange\n }\n },\n {\n name: 'exchange',\n size: 'sm',\n stripe: true,\n view: getDisplayName('exchange'),\n width: 190 - widthAdjust,\n input: Autocomplete,\n inputProps: {\n options: getOptions('exchange'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null,\n onChange\n }\n },\n {\n name: 'zeroConf',\n size: 'sm',\n stripe: true,\n view: getDisplayName('zeroConf'),\n input: Autocomplete,\n width: 190 - widthAdjust,\n inputProps: {\n options: getOptions('zeroConf'),\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null,\n onChange\n }\n }\n ]\n}\n\nexport { WalletSchema, getElements, filterClass }\n","import * as R from 'ramda'\nimport * as Yup from 'yup'\n\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\n\nconst getFields = (getData, names, onChange, auxElements = []) => {\n return R.filter(\n it => R.includes(it.name, names),\n allFields(getData, onChange, auxElements)\n )\n}\n\nconst allFields = (getData, onChange, auxElements = []) => {\n const getView = (data, code, compare) => it => {\n if (!data) return ''\n\n return R.compose(\n R.prop(code),\n R.find(R.propEq(compare ?? 'code', it))\n )(data)\n }\n\n const displayCodeArray = data => it => {\n if (!it) return it\n\n return R.compose(R.join(', '), R.map(getView(data, 'code')))(it)\n }\n\n const overridenMachines = R.map(override => override.machine, auxElements)\n\n const suggestionFilter = it =>\n R.differenceWith((x, y) => x.deviceId === y, it, overridenMachines)\n\n const machineData = getData(['machines'])\n const countryData = getData(['countries'])\n const currencyData = getData(['currencies'])\n const languageData = getData(['languages'])\n const cryptoData = getData(['cryptoCurrencies'])\n\n const findSuggestion = it => {\n const machine = R.find(R.propEq('deviceId', it.machine))(machineData)\n return machine ? [machine] : []\n }\n\n return [\n {\n name: 'machine',\n width: 200,\n size: 'sm',\n view: getView(machineData, 'name', 'deviceId'),\n input: Autocomplete,\n inputProps: {\n options: it =>\n R.concat(findSuggestion(it))(suggestionFilter(machineData)),\n valueProp: 'deviceId',\n getLabel: R.path(['name'])\n }\n },\n {\n name: 'country',\n width: 200,\n size: 'sm',\n view: getView(countryData, 'display'),\n input: Autocomplete,\n inputProps: {\n options: countryData,\n valueProp: 'code',\n getLabel: R.path(['display'])\n }\n },\n {\n name: 'fiatCurrency',\n width: 150,\n size: 'sm',\n view: getView(currencyData, 'code'),\n input: Autocomplete,\n inputProps: {\n options: currencyData,\n valueProp: 'code',\n getLabel: R.path(['code'])\n }\n },\n {\n name: 'languages',\n width: 240,\n size: 'sm',\n view: displayCodeArray(languageData),\n input: Autocomplete,\n inputProps: {\n options: languageData,\n valueProp: 'code',\n getLabel: R.path(['display']),\n multiple: true\n }\n },\n {\n name: 'cryptoCurrencies',\n width: 290,\n size: 'sm',\n view: displayCodeArray(cryptoData),\n input: Autocomplete,\n inputProps: {\n options: cryptoData,\n valueProp: 'code',\n getLabel: R.path(['code']),\n multiple: true,\n optionsLimit: null,\n onChange\n }\n }\n ]\n}\n\nconst mainFields = (auxData, configureCoin) => {\n const getData = R.path(R.__, auxData)\n\n return getFields(\n getData,\n ['country', 'fiatCurrency', 'languages', 'cryptoCurrencies'],\n configureCoin\n )\n}\n\nconst overrides = (auxData, auxElements, configureCoin) => {\n const getData = R.path(R.__, auxData)\n\n return getFields(\n getData,\n ['machine', 'country', 'languages', 'cryptoCurrencies'],\n configureCoin,\n auxElements\n )\n}\n\nconst LocaleSchema = Yup.object().shape({\n country: Yup.string()\n .label('Country')\n .required(),\n fiatCurrency: Yup.string()\n .label('Fiat Currency')\n .required(),\n languages: Yup.array()\n .label('Languages')\n .required()\n .max(4),\n cryptoCurrencies: Yup.array()\n .label('Crypto Currencies')\n .required()\n})\n\nconst OverridesSchema = Yup.object().shape({\n machine: Yup.string()\n .label('Machine')\n .required(),\n country: Yup.string()\n .label('Country')\n .required(),\n languages: Yup.array()\n .label('Languages')\n .required(),\n cryptoCurrencies: Yup.array()\n .label('Crypto Currencies')\n .required()\n})\n\nconst localeDefaults = {\n country: '',\n fiatCurrency: '',\n languages: [],\n cryptoCurrencies: []\n}\n\nconst overridesDefaults = {\n machine: '',\n country: '',\n languages: [],\n cryptoCurrencies: []\n}\n\nexport {\n mainFields,\n overrides,\n LocaleSchema,\n OverridesSchema,\n localeDefaults,\n overridesDefaults\n}\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport { Link } from 'src/components/buttons'\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { P } from 'src/components/typography'\nimport Wizard from 'src/pages/Wallet/Wizard'\nimport { WalletSchema } from 'src/pages/Wallet/helper'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport { styles } from './Locales.styles'\nimport {\n mainFields,\n overrides,\n LocaleSchema,\n OverridesSchema,\n localeDefaults,\n overridesDefaults\n} from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_DATA = gql`\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n currencies {\n code\n display\n }\n countries {\n code\n display\n }\n cryptoCurrencies {\n code\n display\n }\n languages {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst FiatCurrencyChangeAlert = ({ open, close, save }) => {\n const classes = useStyles()\n\n return (\n \n

\n Please note that all values you set that were based on your prior fiat\n currency are still the same. If you need to adjust these to reflect the\n new fiat currency (such as minimum transaction amounts, fixed fees, and\n compliance triggers, for example), please do so now.\n

\n

\n Also, if you have cash-out enabled, you must define new dispenser bill\n counts for the new currency for cash-out on the new currency to work.\n

\n
\n \n Cancel\n \n \n Save\n \n
\n \n )\n}\n\nconst Locales = ({ name: SCREEN_KEY }) => {\n const [wizard, setWizard] = useState(false)\n const [onChangeFunction, setOnChangeFunction] = useState(null)\n const [isEditingDefault, setEditingDefault] = useState(false)\n const [isEditingOverrides, setEditingOverrides] = useState(false)\n const { data } = useQuery(GET_DATA)\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const [dataToSave, setDataToSave] = useState(null)\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const wallets = data?.config && fromNamespace(namespaces.WALLETS)(data.config)\n\n const accountsConfig = data?.accountsConfig\n const accounts = data?.accounts ?? []\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n const locale = config && !R.isEmpty(config) ? config : localeDefaults\n const localeOverrides = locale.overrides ?? []\n\n const handleSave = it => {\n const newConfig = toNamespace(SCREEN_KEY)(it.locale[0])\n\n if (\n config.fiatCurrency &&\n newConfig.locale_fiatCurrency !== config.fiatCurrency\n )\n return setDataToSave(newConfig)\n\n return save(newConfig)\n }\n\n const save = config => {\n setDataToSave(null)\n return saveConfig({ variables: { config } })\n }\n\n const saveOverrides = it => {\n const config = toNamespace(SCREEN_KEY)(it)\n return saveConfig({ variables: { config } })\n }\n\n const onChangeCoin = (prev, curr, setValue) => {\n const coin = R.difference(curr, prev)[0]\n if (!coin) return setValue(curr)\n\n const namespaced = fromNamespace(coin)(wallets)\n if (!WalletSchema.isValidSync(namespaced)) {\n setOnChangeFunction(() => () => setValue(curr))\n setWizard(coin)\n return\n }\n\n setValue(curr)\n }\n\n const onEditingDefault = (it, editing) => setEditingDefault(editing)\n const onEditingOverrides = (it, editing) => setEditingOverrides(editing)\n\n const wizardSave = it =>\n save(toNamespace(namespaces.WALLETS)(it)).then(it => {\n onChangeFunction()\n setOnChangeFunction(null)\n return it\n })\n\n return (\n <>\n setDataToSave(null)}\n save={() => dataToSave && save(dataToSave)}\n />\n \n
\n \n
\n
\n m.deviceId) ?? [],\n localeOverrides?.map(o => o.machine) ?? []\n )}\n setEditing={onEditingOverrides}\n forceDisable={isEditingDefault}\n />\n
\n {wizard && (\n setWizard(false)}\n save={wizardSave}\n error={error?.message}\n cryptoCurrencies={cryptoCurrencies}\n userAccounts={data?.config?.accounts}\n accounts={accounts}\n accountsConfig={accountsConfig}\n />\n )}\n \n )\n}\n\nexport default Locales\n","const styles = {\n rightAligned: {\n marginTop: '20px',\n marginLeft: 'auto',\n marginBottom: '20px'\n },\n rightLink: {\n marginLeft: '20px'\n }\n}\n\nexport { styles }\n","import Locales from './Locales'\n\nexport default Locales\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"pop-up/action/download-logs/date-range-copy-3\",\n transform: \"translate(-117.000000, -116.000000)\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"arrow-download-logs\",\n transform: \"translate(128.500000, 124.500000) rotate(-90.000000) translate(-128.500000, -124.500000) translate(121.000000, 114.000000)\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n points: \"0 13.3571429 7.14285714 20.5 14.2857143 13.3571429\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 7.14285714,\n y1: 0.142857143,\n x2: 7.14285714,\n y2: 20.1428571,\n id: \"Path-4\"\n}))));\n\nfunction SvgDownloadLogs(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"23px\",\n height: \"17px\",\n viewBox: \"0 0 23 17\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"arrow download logs\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadLogs);\nexport default __webpack_public_path__ + \"static/media/download_logs.219c88ac.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/download/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n points: \"3.6 5.4 6 7.8 8.4 5.4\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 0.5,\n x2: 6,\n y2: 7.4,\n id: \"Path-4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.81edd31f.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/download/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n points: \"3.6 5.4 6 7.8 8.4 5.4\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 0.5,\n x2: 6,\n y2: 7.4,\n id: \"Path-4\"\n}), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.13543418.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"pop-up/action/download-logs/date-range-copy-2\",\n transform: \"translate(-20.000000, -187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-contain-b-copy-5\",\n transform: \"translate(30.000000, 197.000000) rotate(-270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(6.666667, 6.000000)\",\n id: \"Group\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n points: \"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.33333333,\n y1: 0.25,\n x2: 3.33333333,\n y2: 6.5,\n id: \"Path-4\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n})))))));\n\nfunction SvgMonthChange(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMonthChange);\nexport default __webpack_public_path__ + \"static/media/month_change.58940268.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Symbols\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"pop-up/action/download-logs/date-range-copy-2\",\n transform: \"translate(-20.000000, -187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-contain-b-copy-5\",\n transform: \"translate(30.000000, 197.000000) rotate(270.000000) translate(-30.000000, -197.000000) translate(20.000000, 187.000000)\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/sf-small/wizzard\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"translate(6.666667, 6.000000)\",\n id: \"Group\"\n}, /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Path-3\",\n stroke: \"#1B2559\",\n strokeWidth: 2,\n points: \"0 4.83333333 3.33333333 8.16666667 6.66666667 4.83333333\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.33333333,\n y1: 0.25,\n x2: 3.33333333,\n y2: 6.5,\n id: \"Path-4\",\n stroke: \"#1B2559\",\n strokeWidth: 2\n})))))));\n\nfunction SvgMonthChangeRight(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"20px\",\n height: \"20px\",\n viewBox: \"0 0 20 20\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMonthChangeRight);\nexport default __webpack_public_path__ + \"static/media/month_change_right.0c3eb9a1.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n primaryColor,\n spring2,\n spring3,\n disabledColor\n} from 'src/styling/variables'\n\nconst { label1 } = typographyStyles\n\nconst styles = {\n wrapper: {\n height: 26,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n position: 'relative',\n overflow: 'hidden'\n },\n button: {\n outline: 'none',\n extend: label1,\n border: 'none',\n cursor: 'pointer',\n backgroundColor: 'transparent',\n color: primaryColor,\n zIndex: 2\n },\n lowerBound: {\n left: '50%'\n },\n upperBound: {\n right: '50%'\n },\n selected: {\n width: 26,\n height: 26,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: spring2,\n borderRadius: '50%',\n position: 'absolute',\n zIndex: 1\n },\n between: {\n position: 'absolute',\n width: '100%',\n height: '100%',\n zIndex: 0,\n backgroundColor: spring3\n },\n disabled: {\n color: disabledColor,\n cursor: 'default'\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Tile = ({\n isLowerBound,\n isUpperBound,\n isBetween,\n isDisabled,\n children,\n ...props\n}) => {\n const classes = useStyles()\n const selected = isLowerBound || isUpperBound\n\n const rangeClasses = {\n [classes.between]: isBetween && !(isLowerBound && isUpperBound),\n [classes.lowerBound]: isLowerBound && !isUpperBound,\n [classes.upperBound]: isUpperBound && !isLowerBound\n }\n\n const buttonWrapperClasses = {\n [classes.wrapper]: true,\n [classes.selected]: selected\n }\n\n const buttonClasses = {\n [classes.button]: true,\n [classes.disabled]: isDisabled\n }\n\n return (\n
\n
\n
\n \n
\n
\n )\n}\n\nexport default Tile\n","import { makeStyles } from '@material-ui/core/styles'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport { ReactComponent as Arrow } from 'src/styling/icons/arrow/month_change.svg'\nimport { ReactComponent as RightArrow } from 'src/styling/icons/arrow/month_change_right.svg'\nimport { primaryColor, zircon } from 'src/styling/variables'\n\nimport Tile from './Tile'\n\nconst { p, label2 } = typographyStyles\n\nconst styles = {\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n button: {\n outline: 'none'\n },\n navbar: {\n extend: p,\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n padding: [[15, 15]],\n color: primaryColor,\n '& button': {\n display: 'flex',\n alignItems: 'center',\n padding: 0,\n border: 'none',\n backgroundColor: zircon,\n cursor: 'pointer',\n borderRadius: '50%',\n width: 20,\n height: 20,\n position: 'relative',\n overflow: 'hidden',\n '& svg': {\n position: 'absolute',\n left: 0\n }\n }\n },\n table: {\n borderCollapse: 'collapse',\n width: '100%',\n color: primaryColor,\n '& tr': {\n '&:first-child': {\n paddingLeft: 5\n },\n '&:last-child': {\n paddingRight: 5\n }\n },\n '& th, & td': {\n margin: 0,\n padding: [[3, 0, 3, 0]]\n },\n '& th': {\n extend: label2\n }\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Calendar = ({ minDate, maxDate, handleSelect, ...props }) => {\n const [currentDisplayedMonth, setCurrentDisplayedMonth] = useState(moment())\n\n const classes = useStyles()\n\n const weekdays = moment.weekdaysMin().map(day => day.slice(0, 1))\n const monthLength = month =>\n Number.parseInt(\n moment(month)\n .endOf('month')\n .format('D')\n )\n\n const monthdays = month => {\n const lastMonth = moment(month).subtract(1, 'month')\n const lastMonthRange = R.range(\n 0,\n moment(month)\n .startOf('month')\n .weekday()\n ).reverse()\n const lastMonthDays = R.map(i =>\n moment(lastMonth)\n .endOf('month')\n .subtract(i, 'days')\n )(lastMonthRange)\n\n const thisMonthRange = R.range(0, monthLength(month))\n const thisMonthDays = R.map(i =>\n moment(month)\n .startOf('month')\n .add(i, 'days')\n )(thisMonthRange)\n\n const nextMonth = moment(month).add(1, 'month')\n const nextMonthRange = R.range(\n 0,\n 42 - lastMonthDays.length - thisMonthDays.length\n )\n const nextMonthDays = R.map(i =>\n moment(nextMonth)\n .startOf('month')\n .add(i, 'days')\n )(nextMonthRange)\n\n return R.concat(R.concat(lastMonthDays, thisMonthDays), nextMonthDays)\n }\n\n const getRow = (month, row) => monthdays(month).slice(row * 7 - 7, row * 7)\n\n const handleNavPrev = currentMonth => {\n const prevMonth = moment(currentMonth).subtract(1, 'month')\n if (!minDate) setCurrentDisplayedMonth(prevMonth)\n else {\n setCurrentDisplayedMonth(\n prevMonth.isSameOrAfter(minDate, 'month')\n ? prevMonth\n : currentDisplayedMonth\n )\n }\n }\n const handleNavNext = currentMonth => {\n const nextMonth = moment(currentMonth).add(1, 'month')\n if (!maxDate) setCurrentDisplayedMonth(nextMonth)\n else {\n setCurrentDisplayedMonth(\n nextMonth.isSameOrBefore(maxDate, 'month')\n ? nextMonth\n : currentDisplayedMonth\n )\n }\n }\n\n return (\n
\n
\n handleNavPrev(currentDisplayedMonth)}>\n \n \n \n {`${currentDisplayedMonth.format(\n 'MMMM'\n )} ${currentDisplayedMonth.format('YYYY')}`}\n \n handleNavNext(currentDisplayedMonth)}>\n \n \n
\n \n \n \n {weekdays.map((day, key) => (\n \n ))}\n \n \n \n {R.range(1, 8).map((row, key) => (\n \n {getRow(currentDisplayedMonth, row).map((day, key) => (\n handleSelect(day, minDate, maxDate)}>\n \n {day.format('D')}\n \n \n ))}\n \n ))}\n \n
{day}
\n
\n )\n}\n\nexport default Calendar\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { useState, useEffect } from 'react'\n\nimport Calendar from './Calendar'\n\nconst styles = {\n wrapper: {\n backgroundColor: 'white',\n borderRadius: 10\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst DateRangePicker = ({ minDate, maxDate, className, onRangeChange }) => {\n const [from, setFrom] = useState(null)\n const [to, setTo] = useState(null)\n\n useEffect(() => {\n onRangeChange(from, to)\n }, [from, onRangeChange, to])\n\n const classes = useStyles()\n\n const handleSelect = (day, minDate, maxDate) => {\n if (\n (maxDate && day.isAfter(maxDate, 'day')) ||\n (minDate && day.isBefore(minDate, 'day'))\n )\n return\n\n if (from && !to && day.isBefore(from, 'day')) {\n setTo(from)\n setFrom(day)\n return\n }\n\n if (from && !to && day.isSameOrAfter(from, 'day')) {\n setTo(day)\n return\n }\n\n setFrom(day)\n setTo(null)\n }\n\n return (\n <>\n
\n \n
\n \n )\n}\n\nexport default DateRangePicker\n","import { useLazyQuery } from '@apollo/react-hooks'\nimport { makeStyles, ClickAwayListener } from '@material-ui/core'\nimport classnames from 'classnames'\nimport FileSaver from 'file-saver'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState, useCallback } from 'react'\n\nimport { FeatureButton, Link } from 'src/components/buttons'\nimport { ReactComponent as Arrow } from 'src/styling/icons/arrow/download_logs.svg'\nimport { ReactComponent as DownloadInverseIcon } from 'src/styling/icons/button/download/white.svg'\nimport { ReactComponent as Download } from 'src/styling/icons/button/download/zodiac.svg'\nimport { primaryColor, offColor, zircon } from 'src/styling/variables'\n\nimport Popper from './Popper'\nimport DateRangePicker from './date-range-picker/DateRangePicker'\nimport { RadioGroup } from './inputs'\nimport typographyStyles from './typography/styles'\n\nconst { info1, label1, label2, h4 } = typographyStyles\n\nconst dateContainerStyles = {\n wrapper: {\n height: 46,\n width: 99\n },\n container: {\n display: 'flex'\n },\n monthWeekDayContainer: {\n display: 'flex',\n flexDirection: 'column'\n },\n label: {\n extend: label1,\n lineHeight: 1.33,\n color: primaryColor\n },\n bigNumber: {\n extend: info1,\n lineHeight: 1,\n marginRight: 7\n },\n monthYear: {\n extend: label2,\n lineHeight: 1.17,\n color: primaryColor\n },\n weekDay: {\n extend: label1,\n lineHeight: 1.33,\n color: offColor\n }\n}\n\nconst dateContainerUseStyles = makeStyles(dateContainerStyles)\n\nconst DateContainer = ({ date, children, ...props }) => {\n const classes = dateContainerUseStyles()\n\n return (\n
\n
{children}
\n {date && (\n <>\n
\n
{date.format('D')}
\n
\n {`${date.format(\n 'MMM'\n )} ${date.format('YYYY')}`}\n {date.format('dddd')}\n
\n
\n \n )}\n
\n )\n}\n\nconst styles = {\n popoverContent: {\n width: 280\n },\n popoverHeader: {\n extend: h4,\n padding: [[15, 15, 0, 15]]\n },\n radioButtonsContainer: {\n padding: [[5, 15, 5, 15]]\n },\n radioButtons: {\n display: 'flex',\n justifyContent: 'space-between',\n flexDirection: 'row',\n color: primaryColor\n },\n dateRangePickerShowing: {\n display: 'block',\n height: '100%'\n },\n dateRangePickerHidden: {\n display: 'none',\n height: 0\n },\n download: {\n padding: [[10, 15]]\n },\n dateContainerWrapper: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n position: 'relative',\n backgroundColor: zircon,\n padding: [[0, 15]],\n minHeight: 70\n },\n arrowContainer: {\n position: 'absolute',\n left: 125,\n top: 26\n },\n arrow: {\n margin: 'auto'\n }\n}\n\nconst useStyles = makeStyles(styles)\nconst ALL = 'all'\nconst RANGE = 'range'\n\nconst LogsDownloaderPopover = ({ name, query, args, title, getLogs }) => {\n const [selectedRadio, setSelectedRadio] = useState(ALL)\n const [range, setRange] = useState({ from: null, until: null })\n const [anchorEl, setAnchorEl] = useState(null)\n const [fetchLogs] = useLazyQuery(query, {\n onCompleted: data => createLogsFile(getLogs(data), range)\n })\n\n const classes = useStyles()\n\n const dateRangePickerClasses = {\n [classes.dateRangePickerShowing]: selectedRadio === RANGE,\n [classes.dateRangePickerHidden]: selectedRadio === ALL\n }\n\n const handleRadioButtons = evt => {\n const selectedRadio = R.path(['target', 'value'])(evt)\n setSelectedRadio(selectedRadio)\n if (selectedRadio === ALL) setRange({ from: null, until: null })\n }\n\n const handleRangeChange = useCallback(\n (from, until) => {\n setRange({ from, until })\n },\n [setRange]\n )\n\n const downloadLogs = (range, args, fetchLogs) => {\n if (selectedRadio === ALL) {\n fetchLogs({\n variables: {\n ...args\n }\n })\n }\n\n if (!range || !range.from) return\n if (range.from && !range.until) range.until = moment()\n\n if (selectedRadio === RANGE) {\n fetchLogs({\n variables: {\n ...args,\n from: range.from,\n until: range.until\n }\n })\n }\n }\n\n const createLogsFile = (logs, range) => {\n const formatDateFile = date => {\n return moment(date).format('YYYY-MM-DD_HH-mm')\n }\n\n const blob = new window.Blob([logs], {\n type: 'text/plain;charset=utf-8'\n })\n\n FileSaver.saveAs(\n blob,\n selectedRadio === ALL\n ? `${formatDateFile(new Date())}_${name}.csv`\n : `${formatDateFile(range.from)}_${formatDateFile(\n range.until\n )}_${name}.csv`\n )\n }\n\n const handleOpenRangePicker = event => {\n setAnchorEl(anchorEl ? null : event.currentTarget)\n }\n\n const handleClickAway = () => {\n setAnchorEl(null)\n }\n\n const radioButtonOptions = [\n { display: 'All logs', code: ALL },\n { display: 'Date range', code: RANGE }\n ]\n\n const open = Boolean(anchorEl)\n const id = open ? 'date-range-popover' : undefined\n\n return (\n \n
\n \n \n
\n
{title}
\n
\n \n
\n {selectedRadio === RANGE && (\n
\n
\n {range && (\n <>\n From\n
\n \n
\n To\n \n )}\n
\n \n
\n )}\n
\n downloadLogs(range, args, fetchLogs)}>\n Download\n \n
\n
\n
\n
\n
\n )\n}\n\nexport default LogsDownloaderPopover\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nconst useStyles = makeStyles({\n table: {\n // backgroundColor: tableHeaderColor,\n tableLayout: 'fixed',\n borderCollapse: 'separate',\n borderSpacing: '0 0'\n }\n})\n\nconst Table = memo(({ className, children, ...props }) => {\n const classes = useStyles()\n return (\n \n {children}\n
\n )\n})\n\nexport default Table\n","import React, { memo } from 'react'\n\nconst TableBody = memo(({ children, ...props }) => (\n {children}\n))\n\nexport default TableBody\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport { spacer } from 'src/styling/variables'\n\nconst useStyles = makeStyles({\n td: {\n padding: [[0, spacer * 3]]\n },\n alignRight: {\n textAlign: 'right'\n }\n})\n\nconst TableCell = memo(\n ({ colspan, rightAlign, className, children, ...props }) => {\n const classes = useStyles()\n const styles = {\n [classes.td]: true,\n [classes.alignRight]: rightAlign\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default TableCell\n","import React, { memo } from 'react'\n\nconst TableHead = memo(({ children, ...props }) => (\n {children}\n))\n\nexport default TableHead\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n tableHeaderColor,\n tableHeaderHeight,\n spacer,\n white\n} from 'src/styling/variables'\n\nconst { tl2 } = typographyStyles\n\nconst useStyles = makeStyles({\n th: {\n extend: tl2,\n backgroundColor: tableHeaderColor,\n height: tableHeaderHeight,\n textAlign: 'left',\n color: white,\n padding: `0 ${spacer * 3}px`\n },\n alignRight: {\n textAlign: 'right'\n }\n})\n\nconst TableHeaderCell = memo(\n ({ rightAlign, children, className, ...props }) => {\n const classes = useStyles()\n const styles = {\n [classes.th]: true,\n [classes.alignRight]: rightAlign\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default TableHeaderCell\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport React, { memo } from 'react'\n\nimport typographyStyles from 'src/components/typography/styles'\nimport {\n tableCellColor,\n tableCellHeight,\n tableSmCellHeight,\n tableLgCellHeight,\n tableErrorColor,\n tableSuccessColor\n} from 'src/styling/variables'\n\nconst { info2, p } = typographyStyles\n\nconst useStyles = makeStyles({\n tr: {\n extend: p,\n padding: 4,\n height: tableCellHeight,\n backgroundColor: tableCellColor\n },\n lg: {\n extend: info2,\n height: tableLgCellHeight\n },\n sm: {\n height: tableSmCellHeight\n },\n error: {\n backgroundColor: tableErrorColor\n },\n success: {\n backgroundColor: tableSuccessColor\n }\n})\n\nconst TableRow = memo(\n ({ className, children, header, error, success, size = 'sm', ...props }) => {\n const classes = useStyles()\n const classnamesObj = {\n [classes.tr]: !header,\n [classes.sm]: !header && size === 'sm',\n [classes.lg]: !header && size === 'lg',\n [classes.error]: error,\n [classes.success]: success\n }\n\n return (\n \n {children}\n \n )\n }\n)\n\nexport default TableRow\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport LogsDowloaderPopover from 'src/components/LogsDownloaderPopper'\nimport Title from 'src/components/Title'\nimport Sidebar from 'src/components/layout/Sidebar'\nimport {\n Table,\n TableHead,\n TableRow,\n TableHeader,\n TableBody,\n TableCell\n} from 'src/components/table'\nimport { Info3 } from 'src/components/typography'\n\nimport styles from './Logs.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_MACHINES = gql`\n {\n machines {\n name\n deviceId\n }\n }\n`\n\nconst NUM_LOG_RESULTS = 500\n\nconst GET_MACHINE_LOGS_CSV = gql`\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogsCsv(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n )\n }\n`\n\nconst GET_MACHINE_LOGS = gql`\n query MachineLogs($deviceId: ID!, $limit: Int, $from: Date, $until: Date) {\n machineLogs(\n deviceId: $deviceId\n limit: $limit\n from: $from\n until: $until\n ) {\n logLevel\n id\n timestamp\n message\n }\n }\n`\n\nconst formatDate = date => {\n return moment(date).format('YYYY-MM-DD HH:mm')\n}\n\nconst Logs = () => {\n const classes = useStyles()\n\n const [selected, setSelected] = useState(null)\n const [saveMessage, setSaveMessage] = useState(null)\n\n const deviceId = selected?.deviceId\n\n const { data: machineResponse } = useQuery(GET_MACHINES)\n\n const { data: logsResponse } = useQuery(GET_MACHINE_LOGS, {\n variables: { deviceId, limit: NUM_LOG_RESULTS },\n skip: !selected,\n onCompleted: () => setSaveMessage('')\n })\n\n if (machineResponse?.machines?.length && !selected) {\n setSelected(machineResponse?.machines[0])\n }\n\n const isSelected = it => {\n return R.path(['deviceId'])(selected) === it.deviceId\n }\n\n return (\n <>\n
\n
\n Machine Logs\n {logsResponse && (\n
\n R.path(['machineLogsCsv'])(logs)}\n />\n {saveMessage}\n
\n )}\n
\n
\n
\n it.name}\n data={machineResponse?.machines || []}\n isSelected={isSelected}\n onClick={setSelected}\n />\n
\n \n \n \n Date\n Level\n \n \n \n \n {logsResponse &&\n logsResponse.machineLogs.map((log, idx) => (\n \n {formatDate(log.timestamp)}\n {log.logLevel}\n {log.message}\n \n ))}\n \n
\n
\n
\n \n )\n}\n\nexport default Logs\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport React from 'react'\nimport * as Yup from 'yup'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { CashOut } from 'src/components/inputs/cashbox/Cashbox'\nimport { NumberInput } from 'src/components/inputs/formik'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { fromNamespace } from 'src/utils/config'\n\nimport styles from './CashCassettes.styles.js'\n\nconst useStyles = makeStyles(styles)\n\nconst ValidationSchema = Yup.object().shape({\n name: Yup.string().required(),\n cassette1: Yup.number()\n .label('Cassette 1 (top)')\n .required()\n .integer()\n .min(0)\n .max(500),\n cassette2: Yup.number()\n .label('Cassette 2 (bottom)')\n .required()\n .integer()\n .min(0)\n .max(500)\n})\n\nconst GET_MACHINES_AND_CONFIG = gql`\n query getData {\n machines {\n name\n id: deviceId\n cassette1\n cassette2\n }\n config\n }\n`\n\nconst RESET_CASHOUT_BILLS = gql`\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $cassette1: Int!\n $cassette2: Int!\n ) {\n machineAction(\n deviceId: $deviceId\n action: $action\n cassette1: $cassette1\n cassette2: $cassette2\n ) {\n deviceId\n cassette1\n cassette2\n }\n }\n`\n\nconst CashCassettes = () => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_MACHINES_AND_CONFIG)\n\n const [resetCashOut, { error }] = useMutation(RESET_CASHOUT_BILLS, {\n refetchQueries: () => ['getData']\n })\n\n const cashout = data?.config && fromNamespace('cashOut')(data.config)\n const locale = data?.config && fromNamespace('locale')(data.config)\n const fiatCurrency = locale?.fiatCurrency\n\n const onSave = (...[, { id, cassette1, cassette2 }]) => {\n return resetCashOut({\n variables: {\n action: 'resetCashOutBills',\n deviceId: id,\n cassette1,\n cassette2\n }\n })\n }\n\n const getCashoutSettings = id => fromNamespace(id)(cashout)\n const isCashOutDisabled = ({ id }) => !getCashoutSettings(id).active\n\n const elements = [\n {\n name: 'name',\n header: 'Machine',\n width: 254,\n view: name => <>{name},\n input: ({ field: { value: name } }) => <>{name}\n },\n {\n name: 'cassette1',\n header: 'Cassette 1 (Top)',\n width: 265,\n stripe: true,\n view: (value, { id }) => (\n \n ),\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n }\n },\n {\n name: 'cassette2',\n header: 'Cassette 2 (Bottom)',\n width: 265,\n stripe: true,\n view: (value, { id }) => (\n \n ),\n input: NumberInput,\n inputProps: {\n decimalPlaces: 0\n }\n }\n ]\n\n return (\n <>\n \n\n \n \n )\n}\n\nexport default CashCassettes\n","export default {\n cashbox: {\n width: 80,\n height: 36\n }\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 12,\n height: 12,\n rx: 3,\n ry: 3,\n fill: \"#ff7311\"\n});\n\nfunction SvgPumpkin(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgPumpkin);\nexport default __webpack_public_path__ + \"static/media/pumpkin.877c3432.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 12,\n height: 12,\n rx: 3,\n ry: 3,\n fill: \"#ff584a\"\n});\n\nfunction SvgTomato(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 12,\n height: 12,\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTomato);\nexport default __webpack_public_path__ + \"static/media/tomato.b3903800.svg\";\nexport { ForwardRef as ReactComponent };","import {\n Dialog,\n DialogActions,\n DialogContent,\n makeStyles\n} from '@material-ui/core'\nimport React, { memo, useState } from 'react'\n\nimport { Button, IconButton } from 'src/components/buttons'\nimport { TextInput } from 'src/components/inputs'\nimport { H4, P } from 'src/components/typography'\nimport { ReactComponent as CloseIcon } from 'src/styling/icons/action/close/zodiac.svg'\nimport { spacer } from 'src/styling/variables'\n\nimport ErrorMessage from './ErrorMessage'\n\nconst useStyles = makeStyles({\n dialogContent: {\n width: 434,\n padding: spacer * 2,\n paddingRight: spacer * 3.5\n },\n dialogTitle: {\n padding: spacer * 2,\n paddingRight: spacer * 1.5,\n display: 'flex',\n 'justify-content': 'space-between',\n '& > h4': {\n margin: 0\n },\n '& > button': {\n padding: 0,\n marginTop: -(spacer / 2)\n }\n },\n dialogActions: {\n padding: spacer * 4,\n paddingTop: spacer * 2\n }\n})\n\nexport const DialogTitle = ({ children, onClose }) => {\n const classes = useStyles()\n return (\n
\n {children}\n {onClose && (\n \n \n \n )}\n
\n )\n}\n\nexport const ConfirmDialog = memo(\n ({\n title = 'Confirm action',\n errorMessage = 'This action requires confirmation',\n open,\n toBeConfirmed,\n saveButtonAlwaysEnabled = false,\n message,\n confirmationMessage = `Write '${toBeConfirmed}' to confirm this action`,\n onConfirmed,\n onDissmised,\n initialValue = '',\n disabled = false,\n ...props\n }) => {\n const classes = useStyles()\n const [value, setValue] = useState(initialValue)\n const [error, setError] = useState(false)\n const handleChange = event => setValue(event.target.value)\n\n const innerOnClose = () => {\n setValue('')\n setError(false)\n onDissmised()\n }\n\n const isOnErrorState =\n (!saveButtonAlwaysEnabled && toBeConfirmed !== value) || value === ''\n\n return (\n \n \n

{title}

\n
\n {errorMessage && (\n \n \n {errorMessage.split(':').map(error => (\n <>\n {error}\n
\n \n ))}\n
\n
\n )}\n \n {message &&

{message}

}\n setError(isOnErrorState)}\n />\n
\n \n onConfirmed(value)}>\n Confirm\n \n \n
\n )\n }\n)\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/edit/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n points: \"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.958fe55d.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/edit/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0,10 L0,10 C0,10.9942 0.8058,11.8 1.8,11.8 L10.2,11.8 C11.1942,11.8 12,10.9942 12,10\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\"\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#1B2559\",\n points: \"3 6.86666667 8.86666667 1 11 3.13333333 5.13333333 9 3 9\"\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.1bc04c23.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/link/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-7\",\n stroke: \"#1B2559\",\n strokeWidth: 1.2\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"12 6.66678 12 12.00018 0 12.00018 0 0.00018 5.3334 0.00018\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"8.66658 0 12.00018 0 12.00018 3.3336\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 6,\n y1: 6,\n x2: 12,\n y2: 0,\n id: \"Stroke-5\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.cdf82496.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/reboot/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-3\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5.92223784,\n y1: 7.57277922,\n x2: 5.92223784,\n y2: 3.98212987,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n transform: \"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n}))));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"-0.493 -0.5 12.993 13\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.fe6ed797.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/reboot/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-3\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5.92223784,\n y1: 7.57277922,\n x2: 5.92223784,\n y2: 3.98212987,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-2\",\n transform: \"translate(9.818105, 6.000000) scale(-1, -1) translate(-9.818105, -6.000000) translate(7.636287, 0.000000)\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.57419317,11.1560104 C2.91506589,10.8661403 2.29620875,10.4522182 1.75493083,9.91362078 C-0.568892549,7.60089351 -0.587250991,3.86936104 1.71406849,1.57845195 C2.03057585,1.26367293 2.37407977,0.992496226 2.73740775,0.764921841\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"3.37563213 1.84831169 3.36911784 0.595324675 2.18174122 4.15223411e-14\"\n}))));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"-0.493 -0.5 12.993 13\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.9cfc97dd.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/shut-down/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(1.000000, 0.000000)\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5,\n y1: 0.75,\n x2: 5,\n y2: 3.25,\n id: \"Stroke-3\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.fa4681e8.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/shut-down/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\",\n transform: \"translate(1.000000, 0.000000)\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.7735,2 C9.116,2.89710351 10,4.4271328 10,6.16330077 C10,8.92665975 7.7615,11.1666667 5,11.1666667 C2.2385,11.1666667 0,8.92665975 0,6.16330077 C0,4.43663919 0.8745,2.91361461 2.204,2.01450976\",\n id: \"Stroke-1\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 5,\n y1: 0.75,\n x2: 5,\n y2: 3.25,\n id: \"Stroke-3\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.b27733af.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/unpair/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-12\",\n stroke: \"#FFFFFF\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.25,\n y1: 3,\n x2: 8.25,\n y2: 1.5,\n id: \"Stroke-6\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 3,\n x2: 10.5,\n y2: 2.25,\n id: \"Stroke-7\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 4.5,\n x2: 11.25,\n y2: 4.5,\n id: \"Stroke-8\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 7.5,\n x2: 0.75,\n y2: 7.5,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 9,\n x2: 1.5,\n y2: 9.75,\n id: \"Stroke-10\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.75,\n y1: 9,\n x2: 3.75,\n y2: 10.5,\n id: \"Stroke-11\"\n})));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.f97c75d2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/button/unpair/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-12\",\n stroke: \"#1B2559\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-5\"\n}, /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-1\",\n points: \"3.75 6 2.25 6 0 3.75 3.75 0 6.75 3\"\n}), /*#__PURE__*/React.createElement(\"polyline\", {\n id: \"Stroke-3\",\n points: \"8.25 6 9.75 6 12 8.25 8.25 12 5.25 9\"\n})), /*#__PURE__*/React.createElement(\"line\", {\n x1: 8.25,\n y1: 3,\n x2: 8.25,\n y2: 1.5,\n id: \"Stroke-6\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 3,\n x2: 10.5,\n y2: 2.25,\n id: \"Stroke-7\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 9.75,\n y1: 4.5,\n x2: 11.25,\n y2: 4.5,\n id: \"Stroke-8\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 7.5,\n x2: 0.75,\n y2: 7.5,\n id: \"Stroke-9\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 2.25,\n y1: 9,\n x2: 1.5,\n y2: 9.75,\n id: \"Stroke-10\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 3.75,\n y1: 9,\n x2: 3.75,\n y2: 10.5,\n id: \"Stroke-11\"\n})));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"12px\",\n height: \"12px\",\n viewBox: \"0 0 12 12\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.aa028a2c.svg\";\nexport { ForwardRef as ReactComponent };","import { fade } from '@material-ui/core/styles/colorManipulator'\n\nimport {\n detailsRowStyles,\n labelStyles\n} from 'src/pages/Transactions/Transactions.styles'\nimport {\n spacer,\n comet,\n primaryColor,\n fontSize4,\n errorColor\n} from 'src/styling/variables'\n\nconst machineDetailsStyles = {\n ...detailsRowStyles,\n colDivider: {\n width: 1,\n margin: [[spacer * 2, spacer * 4]],\n backgroundColor: comet,\n border: 'none'\n },\n inlineChip: {\n marginInlineEnd: '0.25em'\n },\n stack: {\n display: 'flex',\n flexDirection: 'row'\n },\n wrapper: {\n display: 'flex',\n marginTop: 24,\n marginBottom: 32,\n fontSize: fontSize4\n },\n row: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 36\n },\n list: {\n padding: 0,\n margin: 0,\n listStyle: 'none'\n },\n item: {\n height: spacer * 3,\n marginBottom: spacer * 1.5\n },\n link: {\n color: primaryColor,\n textDecoration: 'none'\n },\n divider: {\n margin: '0 1rem'\n },\n mr: {\n marginRight: spacer\n },\n separator: {\n width: 1,\n height: 170,\n zIndex: 1,\n marginRight: 60,\n marginLeft: 'auto',\n background: fade(comet, 0.5)\n },\n warning: {\n color: errorColor\n }\n}\n\nexport { labelStyles, machineDetailsStyles }\n","import { useMutation, useLazyQuery } from '@apollo/react-hooks'\nimport { Grid, Divider } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport React, { useState } from 'react'\n\nimport { ConfirmDialog } from 'src/components/ConfirmDialog'\nimport { Status } from 'src/components/Status'\nimport ActionButton from 'src/components/buttons/ActionButton'\nimport { ReactComponent as EditReversedIcon } from 'src/styling/icons/button/edit/white.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/button/edit/zodiac.svg'\nimport { ReactComponent as LinkIcon } from 'src/styling/icons/button/link/zodiac.svg'\nimport { ReactComponent as RebootReversedIcon } from 'src/styling/icons/button/reboot/white.svg'\nimport { ReactComponent as RebootIcon } from 'src/styling/icons/button/reboot/zodiac.svg'\nimport { ReactComponent as ShutdownReversedIcon } from 'src/styling/icons/button/shut down/white.svg'\nimport { ReactComponent as ShutdownIcon } from 'src/styling/icons/button/shut down/zodiac.svg'\nimport { ReactComponent as UnpairReversedIcon } from 'src/styling/icons/button/unpair/white.svg'\nimport { ReactComponent as UnpairIcon } from 'src/styling/icons/button/unpair/zodiac.svg'\n\nimport { labelStyles, machineDetailsStyles } from './MachineDetailsCard.styles'\n\nconst MACHINE_ACTION = gql`\n mutation MachineAction(\n $deviceId: ID!\n $action: MachineAction!\n $newName: String\n ) {\n machineAction(deviceId: $deviceId, action: $action, newName: $newName) {\n deviceId\n }\n }\n`\n\nconst MACHINE = gql`\n query getMachine($deviceId: ID!) {\n machine(deviceId: $deviceId) {\n latestEvent {\n note\n }\n }\n }\n`\n\nconst supportArtices = [\n {\n // Default article for non-maped statuses\n code: undefined,\n label: 'Troubleshooting',\n article:\n 'https://support.lamassu.is/hc/en-us/categories/115000075249-Troubleshooting'\n }\n // TODO add Stuck and Fully Functional statuses articles for the new-admins\n]\n\nconst isStaticState = machineState => {\n if (!machineState) {\n return true\n }\n const staticStates = [\n 'chooseCoin',\n 'idle',\n 'pendingIdle',\n 'dualIdle',\n 'networkDown',\n 'unpaired',\n 'maintenance',\n 'virgin',\n 'wifiList'\n ]\n return staticStates.includes(machineState)\n}\n\nconst article = ({ code: status }) =>\n supportArtices.find(({ code: article }) => article === status)\n\nconst useLStyles = makeStyles(labelStyles)\n\nconst Label = ({ children }) => {\n const classes = useLStyles()\n\n return
{children}
\n}\n\nconst useMDStyles = makeStyles(machineDetailsStyles)\n\nconst Container = ({ children, ...props }) => (\n \n {children}\n \n)\n\nconst Item = ({ children, ...props }) => (\n \n {children}\n \n)\n\nconst getState = machineEventsLazy =>\n JSON.parse(machineEventsLazy.machine.latestEvent?.note ?? '{\"state\": null}')\n .state\n\nconst MachineDetailsRow = ({ it: machine, onActionSuccess }) => {\n const [action, setAction] = useState({ command: null })\n const [errorMessage, setErrorMessage] = useState(null)\n const classes = useMDStyles()\n\n const warningMessage = (\n \n A user may be in the middle of a transaction and they could lose their\n funds if you continue.\n \n )\n\n const [fetchMachineEvents, { loading: loadingEvents }] = useLazyQuery(\n MACHINE,\n {\n variables: {\n deviceId: machine.deviceId\n },\n onCompleted: machineEventsLazy => {\n const message = !isStaticState(getState(machineEventsLazy))\n ? warningMessage\n : null\n setAction(action => ({ ...action, message }))\n }\n }\n )\n\n const [machineAction, { loading }] = useMutation(MACHINE_ACTION, {\n onError: ({ message }) => {\n const errorMessage = message ?? 'An error ocurred'\n setErrorMessage(errorMessage)\n },\n onCompleted: () => {\n onActionSuccess && onActionSuccess()\n setAction({ command: null })\n }\n })\n\n const confirmDialogOpen = Boolean(action.command)\n const disabled = !!(action?.command === 'restartServices' && loadingEvents)\n\n return (\n <>\n \n \n \n \n \n
    \n {machine.statuses.map((status, index) => (\n
  • \n \n
  • \n ))}\n
\n
\n \n \n
    \n {machine.statuses\n .map(article)\n .map(({ label, article }, index) => (\n
  • \n \n '{label}' \n \n
  • \n ))}\n
\n
\n
\n
\n \n {\n setErrorMessage(null)\n machineAction({\n variables: {\n deviceId: machine.deviceId,\n action: `${action?.command}`,\n ...(action?.command === 'rename' && { newName: value })\n }\n })\n }}\n onDissmised={() => {\n setAction({ command: null })\n setErrorMessage(null)\n }}\n />\n \n \n \n \n {machine.model}\n \n \n \n \n {moment(machine.pairedAt).format('YYYY-MM-DD HH:mm:ss')}\n \n \n \n \n \n \n
\n \n setAction({\n command: 'rename',\n display: 'Rename',\n confirmationMessage: 'Write the new name for this machine'\n })\n }>\n Rename\n \n \n setAction({\n command: 'unpair',\n display: 'Unpair'\n })\n }>\n Unpair\n \n \n setAction({\n command: 'reboot',\n display: 'Reboot'\n })\n }>\n Reboot\n \n \n setAction({\n command: 'shutdown',\n display: 'Shutdown',\n message:\n 'In order to bring it back online, the machine will need to be visited and its power reset.'\n })\n }>\n Shutdown\n \n {\n fetchMachineEvents()\n setAction({\n command: 'restartServices',\n display: 'Restart services for'\n })\n }}>\n Restart Services\n \n
\n
\n
\n
\n
\n \n )\n}\n\nexport default MachineDetailsRow\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\nimport { useLocation } from 'react-router-dom'\n\nimport { MainStatus } from 'src/components/Status'\nimport Title from 'src/components/Title'\nimport DataTable from 'src/components/tables/DataTable'\nimport { mainStyles } from 'src/pages/Transactions/Transactions.styles'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/status/pumpkin.svg'\nimport { ReactComponent as ErrorIcon } from 'src/styling/icons/status/tomato.svg'\n\nimport MachineDetailsRow from './MachineDetailsCard'\n\nconst GET_MACHINES = gql`\n {\n machines {\n name\n deviceId\n lastPing\n pairedAt\n version\n paired\n cashbox\n cassette1\n cassette2\n version\n model\n statuses {\n label\n type\n }\n }\n }\n`\n\nconst useStyles = makeStyles(mainStyles)\n\nconst MachineStatus = () => {\n const classes = useStyles()\n const { state } = useLocation()\n const addedMachineId = state?.id\n const { data: machinesResponse, refetch } = useQuery(GET_MACHINES)\n\n const elements = [\n {\n header: 'Machine Name',\n width: 250,\n size: 'sm',\n textAlign: 'left',\n view: m => m.name\n },\n {\n header: 'Status',\n width: 350,\n size: 'sm',\n textAlign: 'left',\n view: m => \n },\n {\n header: 'Last ping',\n width: 200,\n size: 'sm',\n textAlign: 'left',\n view: m => (m.lastPing ? moment(m.lastPing).fromNow() : 'unknown')\n },\n {\n header: 'Software Version',\n width: 200,\n size: 'sm',\n textAlign: 'left',\n view: m => m.version || 'unknown'\n }\n ]\n\n const machines = R.path(['machines'])(machinesResponse) ?? []\n const expandedIndex = R.findIndex(R.propEq('deviceId', addedMachineId))(\n machines\n )\n\n const InnerMachineDetailsRow = ({ it }) => (\n \n )\n\n return (\n <>\n
\n
\n Machine Status\n
\n
\n
\n \n Warning\n
\n
\n \n Error\n
\n
\n
\n \n \n )\n}\n\nexport default MachineStatus\n","import React from 'react'\n\nexport default React.createContext()\n","import * as R from 'ramda'\n\nconst isValidNumber = R.both(R.is(Number), R.complement(R.equals(NaN)))\n\nconst transformNumber = value => (isValidNumber(value) ? value : null)\n\nexport { transformNumber }\n","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Link, IconButton } from 'src/components/buttons'\nimport { H4 } from 'src/components/typography'\nimport { ReactComponent as DisabledEditIcon } from 'src/styling/icons/action/edit/disabled.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\n\nimport styles from './EditHeader.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst Header = ({ title, editing, disabled, setEditing }) => {\n const classes = useStyles()\n\n return (\n
\n

{title}

\n {!editing && (\n setEditing(true)}\n className={classes.button}\n disabled={disabled}>\n {disabled ? : }\n \n )}\n {editing && (\n
\n \n Save\n \n \n Cancel\n \n
\n )}\n
\n )\n}\n\nexport default Header\n","export default {\n header: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: 16,\n height: 26,\n margin: 0\n },\n title: {\n flexShrink: 2,\n margin: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n },\n button: {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer',\n marginLeft: 8\n },\n editingButtons: {\n display: 'flex',\n flexShrink: 0,\n marginLeft: 16,\n justifyContent: 'space-between',\n width: 110\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { useFormikContext, Field as FormikField } from 'formik'\nimport React from 'react'\n\nimport { NumberInput } from 'src/components/inputs/formik'\nimport { Label1, Info1, TL2 } from 'src/components/typography'\n\nimport styles from './EditableNumber.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst EditableNumber = ({\n label,\n name,\n editing,\n displayValue,\n decoration,\n className,\n decimalPlaces = 0,\n width = 80\n}) => {\n const classes = useStyles({ width, editing })\n const { values } = useFormikContext()\n\n const classNames = {\n [classes.fieldWrapper]: true,\n className\n }\n\n return (\n
\n {label && {label}}\n
\n {!editing && (\n {displayValue(values[name])}\n )}\n {editing && (\n \n )}\n {decoration}\n
\n
\n )\n}\n\nexport default EditableNumber\n","export default {\n text: {\n margin: [[7, 0, 7, 1]]\n },\n fieldWrapper: {\n height: 53\n },\n valueWrapper: {\n display: 'flex',\n alignItems: 'baseline'\n },\n label: {\n margin: 0\n },\n decoration: {\n margin: [[0, 0, 0, 7]]\n }\n}\n","import { Form, Formik } from 'formik'\nimport React, { useContext, useState } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { transformNumber } from 'src/utils/number'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nimport Header from './EditHeader'\nimport EditableNumber from './EditableNumber'\n\nconst SingleFieldEditableNumber = ({\n title,\n label,\n width = 80,\n min = 0,\n max = 9999999,\n name,\n section,\n className\n}) => {\n const [saving, setSaving] = useState(false)\n\n const innerSave = async (section, value) => {\n if (saving) return\n\n setSaving(true)\n\n // no response means the save failed\n await save(section, value)\n\n setSaving(false)\n }\n\n const {\n save,\n data,\n currency,\n isEditing,\n isDisabled,\n setEditing\n } = useContext(NotificationsCtx)\n\n const schema = Yup.object().shape({\n [name]: Yup.number()\n .transform(transformNumber)\n .integer()\n .min(min)\n .max(max)\n .nullable()\n })\n\n return (\n innerSave(section, schema.cast(it))}\n onReset={() => {\n setEditing(name, false)\n }}>\n
\n \n setEditing(name, it)}\n />\n (x === '' ? '-' : x)}\n decoration={currency}\n />\n \n \n )\n}\n\nexport default SingleFieldEditableNumber\n","import { makeStyles } from '@material-ui/core'\nimport React, { useContext } from 'react'\n\nimport NotificationsCtx from '../NotificationsContext'\nimport SingleFieldEditableNumber from '../components/SingleFieldEditableNumber'\n\nimport styles from './CryptoBalanceAlerts.styles'\n\nconst LOW_BALANCE_KEY = 'cryptoLowBalance'\nconst HIGH_BALANCE_KEY = 'cryptoHighBalance'\n\nconst useStyles = makeStyles(styles)\n\nconst CryptoBalanceAlerts = ({ section, fieldWidth }) => {\n const classes = useStyles()\n\n const {\n data,\n save,\n currency,\n setEditing,\n isEditing,\n isDisabled\n } = useContext(NotificationsCtx)\n\n return (\n
\n setEditing(LOW_BALANCE_KEY, it)}\n width={fieldWidth}\n />\n\n
\n\n setEditing(HIGH_BALANCE_KEY, it)}\n width={fieldWidth}\n />\n
\n )\n}\n\nexport default CryptoBalanceAlerts\n","export default {\n cryptoBalanceAlerts: {\n display: 'flex',\n marginBottom: 36,\n height: 135,\n alignItems: 'center'\n },\n cryptoBalanceAlertsForm: {\n width: 222,\n marginRight: 32\n },\n cryptoBalanceAlertsSecondForm: {\n marginLeft: 50\n },\n vertSeparator: {\n width: 1,\n height: '100%',\n borderRight: [[1, 'solid', 'black']]\n }\n}\n","import * as R from 'ramda'\nimport React, { useContext } from 'react'\nimport * as Yup from 'yup'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { NumberInput } from 'src/components/inputs/formik'\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete.js'\nimport { transformNumber } from 'src/utils/number'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nconst HIGH_BALANCE_KEY = 'highBalance'\nconst LOW_BALANCE_KEY = 'lowBalance'\nconst CRYPTOCURRENCY_KEY = 'cryptoCurrency'\nconst NAME = 'cryptoBalanceOverrides'\n\nconst CryptoBalanceOverrides = ({ section }) => {\n const {\n cryptoCurrencies = [],\n data,\n save,\n currency,\n isDisabled,\n setEditing\n } = useContext(NotificationsCtx)\n const setupValues = data?.cryptoBalanceOverrides ?? []\n const innerSetEditing = it => setEditing(NAME, it)\n\n const onDelete = id => {\n const newOverrides = {\n cryptoBalanceOverrides: R.reject(it => it.id === id, setupValues)\n }\n return save(newOverrides)\n }\n\n const overridenCryptos = R.map(R.prop(CRYPTOCURRENCY_KEY))(setupValues)\n const suggestionFilter = R.filter(\n it => !R.contains(it.code, overridenCryptos)\n )\n const suggestions = suggestionFilter(cryptoCurrencies)\n\n const findSuggestion = it => {\n const coin = R.compose(R.find(R.propEq('code', it?.cryptoCurrency)))(\n cryptoCurrencies\n )\n return coin ? [coin] : []\n }\n\n const initialValues = {\n [CRYPTOCURRENCY_KEY]: null,\n [LOW_BALANCE_KEY]: '',\n [HIGH_BALANCE_KEY]: ''\n }\n\n const notesMin = 0\n const currencyMax = 9999999\n const validationSchema = Yup.object().shape(\n {\n [CRYPTOCURRENCY_KEY]: Yup.string()\n .label('Cryptocurrency')\n .nullable()\n .required(),\n [LOW_BALANCE_KEY]: Yup.number()\n .label('Low Balance')\n .when(HIGH_BALANCE_KEY, {\n is: HIGH_BALANCE_KEY => !HIGH_BALANCE_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(currencyMax)\n .nullable(),\n [HIGH_BALANCE_KEY]: Yup.number()\n .label('High Balance')\n .when(LOW_BALANCE_KEY, {\n is: LOW_BALANCE_KEY => !LOW_BALANCE_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(currencyMax)\n .nullable()\n },\n [LOW_BALANCE_KEY, HIGH_BALANCE_KEY]\n )\n\n const viewCrypto = it =>\n R.compose(\n R.path(['display']),\n R.find(R.propEq('code', it))\n )(cryptoCurrencies)\n\n const elements = [\n {\n name: CRYPTOCURRENCY_KEY,\n header: 'Cryptocurrency',\n width: 166,\n size: 'sm',\n view: viewCrypto,\n input: Autocomplete,\n inputProps: {\n options: it => R.concat(suggestions, findSuggestion(it)),\n optionsLimit: null,\n valueProp: 'code',\n getLabel: R.path(['display'])\n }\n },\n {\n name: LOW_BALANCE_KEY,\n width: 155,\n textAlign: 'right',\n bold: true,\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n },\n {\n name: HIGH_BALANCE_KEY,\n width: 155,\n textAlign: 'right',\n bold: true,\n input: NumberInput,\n suffix: currency,\n inputProps: {\n decimalPlaces: 2\n }\n }\n ]\n\n return (\n save(section, it)}\n initialValues={initialValues}\n validationSchema={validationSchema}\n forceDisable={isDisabled(NAME) || !cryptoCurrencies}\n data={setupValues}\n elements={elements}\n disableAdd={!suggestions?.length}\n onDelete={onDelete}\n setEditing={innerSetEditing}\n />\n )\n}\n\nexport default CryptoBalanceOverrides\n","import { makeStyles } from '@material-ui/core'\nimport { Form, Formik } from 'formik'\nimport React, { useContext } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { TL2 } from 'src/components/typography'\nimport { transformNumber } from 'src/utils/number'\n\nimport { Cashbox } from '../../../components/inputs/cashbox/Cashbox'\nimport NotificationsCtx from '../NotificationsContext'\nimport Header from '../components/EditHeader'\nimport EditableNumber from '../components/EditableNumber'\n\nimport styles from './FiatBalanceAlerts.styles.js'\n\nconst useStyles = makeStyles(styles)\n\nconst NAME = 'fiatBalanceAlerts'\n\nconst FiatBalance = ({\n section,\n min = 0,\n max = Number.MAX_SAFE_INTEGER,\n fieldWidth = 80\n}) => {\n const { isEditing, isDisabled, setEditing, data, save } = useContext(\n NotificationsCtx\n )\n const classes = useStyles()\n\n const editing = isEditing(NAME)\n\n const schema = Yup.object().shape({\n fiatBalanceCassette1: Yup.number()\n .transform(transformNumber)\n .integer()\n .min(min)\n .max(max)\n .nullable(),\n fiatBalanceCassette2: Yup.number()\n .transform(transformNumber)\n .integer()\n .min(min)\n .max(max)\n .nullable()\n })\n\n const fiatBalanceCassette1Percent =\n (100 * (data?.fiatBalanceCassette1 ?? 0)) / max\n const fiatBalanceCassette2Percent =\n (100 * (data?.fiatBalanceCassette2 ?? 0)) / max\n\n return (\n save(section, schema.cast(it))}\n onReset={() => {\n setEditing(NAME, false)\n }}>\n
\n \n setEditing(NAME, it)}\n />\n
\n
\n
\n \n
\n Cassette 1 (Top)\n (x === '' ? '-' : x)}\n decoration=\"notes\"\n width={fieldWidth}\n />\n
\n
\n
\n
\n \n
\n Cassette 2 (Bottom)\n (x === '' ? '-' : x)}\n decoration=\"notes\"\n width={fieldWidth}\n />\n
\n
\n
\n \n \n )\n}\n\nexport default FiatBalance\n","export default {\n wrapper: {\n display: 'flex'\n },\n form: {\n marginBottom: 36\n },\n first: {\n width: 236\n },\n title: {\n marginTop: 0\n },\n row: {\n width: 183,\n display: 'grid',\n gridTemplateColumns: 'repeat(2,1fr)',\n gridTemplateRows: '1fr',\n gridColumnGap: 18,\n gridRowGap: 0\n },\n col2: {\n width: 136\n }\n}\n","import * as R from 'ramda'\nimport React, { useContext } from 'react'\nimport * as Yup from 'yup'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { NumberInput } from 'src/components/inputs/formik/'\nimport Autocomplete from 'src/components/inputs/formik/Autocomplete'\nimport { transformNumber } from 'src/utils/number'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nconst CASSETTE_1_KEY = 'fiatBalanceCassette1'\nconst CASSETTE_2_KEY = 'fiatBalanceCassette2'\nconst MACHINE_KEY = 'machine'\nconst NAME = 'fiatBalanceOverrides'\n\nconst FiatBalanceOverrides = ({ section }) => {\n const { machines = [], data, save, isDisabled, setEditing } = useContext(\n NotificationsCtx\n )\n\n const setupValues = data?.fiatBalanceOverrides ?? []\n const innerSetEditing = it => setEditing(NAME, it)\n\n const overridenMachines = R.map(override => override.machine, setupValues)\n const suggestionFilter = R.filter(\n it => !R.contains(it.deviceId, overridenMachines)\n )\n const suggestions = suggestionFilter(machines)\n\n const findSuggestion = it => {\n const coin = R.compose(R.find(R.propEq('deviceId', it?.machine)))(machines)\n return coin ? [coin] : []\n }\n\n const initialValues = {\n [MACHINE_KEY]: null,\n [CASSETTE_1_KEY]: '',\n [CASSETTE_2_KEY]: ''\n }\n\n const notesMin = 0\n const notesMax = 9999999\n const validationSchema = Yup.object().shape(\n {\n [MACHINE_KEY]: Yup.string()\n .label('Machine')\n .nullable()\n .required(),\n [CASSETTE_1_KEY]: Yup.number()\n .label('Cassette 1 (top)')\n .when(CASSETTE_2_KEY, {\n is: CASSETTE_2_KEY => !CASSETTE_2_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(notesMax)\n .nullable(),\n [CASSETTE_2_KEY]: Yup.number()\n .label('Cassette 1 (bottom)')\n .when(CASSETTE_1_KEY, {\n is: CASSETTE_1_KEY => !CASSETTE_1_KEY,\n then: Yup.number().required()\n })\n .transform(transformNumber)\n .integer()\n .min(notesMin)\n .max(notesMax)\n .nullable()\n },\n [CASSETTE_1_KEY, CASSETTE_2_KEY]\n )\n\n const viewMachine = it =>\n R.compose(R.path(['name']), R.find(R.propEq('deviceId', it)))(machines)\n\n const elements = [\n {\n name: MACHINE_KEY,\n width: 238,\n size: 'sm',\n view: viewMachine,\n input: Autocomplete,\n inputProps: {\n options: it => R.concat(suggestions, findSuggestion(it)),\n valueProp: 'deviceId',\n getLabel: R.path(['name'])\n }\n },\n {\n name: CASSETTE_1_KEY,\n display: 'Cash-out 1',\n width: 155,\n textAlign: 'right',\n doubleHeader: 'Cash-out (Cassette Empty)',\n bold: true,\n input: NumberInput,\n suffix: 'notes',\n inputProps: {\n decimalPlaces: 0\n }\n },\n {\n name: CASSETTE_2_KEY,\n display: 'Cash-out 2',\n width: 155,\n textAlign: 'right',\n doubleHeader: 'Cash-out (Cassette Empty)',\n bold: true,\n input: NumberInput,\n suffix: 'notes',\n inputProps: {\n decimalPlaces: 0\n }\n }\n ]\n\n return (\n save(section, validationSchema.cast(it))}\n initialValues={initialValues}\n validationSchema={validationSchema}\n forceDisable={isDisabled(NAME) || !machines}\n data={setupValues}\n elements={elements}\n disableAdd={!suggestions?.length}\n setEditing={innerSetEditing}\n />\n )\n}\n\nexport default FiatBalanceOverrides\n","import { makeStyles } from '@material-ui/core'\nimport * as R from 'ramda'\nimport React, { useContext } from 'react'\n\nimport {\n Table,\n THead,\n TBody,\n Tr,\n Td,\n Th\n} from 'src/components/fake-table/Table'\nimport { Switch } from 'src/components/inputs'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\nimport { startCase } from 'src/utils/string'\n\nimport NotificationsCtx from '../NotificationsContext'\n\nconst channelSize = 129\nconst sizes = {\n balance: 152,\n transactions: 184,\n compliance: 178,\n errors: 142,\n active: 263\n}\nconst width = R.sum(R.values(sizes)) + channelSize\n\nconst Row = ({ namespace, forceDisable }) => {\n const { data: rawData, save: rawSave } = useContext(NotificationsCtx)\n\n const save = R.compose(rawSave(null), toNamespace(namespace))\n const data = fromNamespace(namespace)(rawData)\n\n const disabled = forceDisable || !data || !data.active\n\n const Cell = ({ name, disabled }) => {\n const value = !!(data && data[name])\n\n return (\n \n {\n save({ [name]: event.target.checked })\n }}\n value={value}\n />\n \n )\n }\n\n return (\n \n {startCase(namespace)}\n \n \n \n \n \n \n )\n}\n\nconst useStyles = makeStyles({\n mainTable: {\n width\n },\n wizardTable: {\n width: 930\n }\n})\nconst Setup = ({ wizard, forceDisable }) => {\n const widthAdjust = wizard ? 20 : 0\n const classes = useStyles()\n return (\n \n \n \n {Object.keys(sizes).map(it => (\n \n ))}\n \n \n \n \n \n
Channel\n {startCase(it)}\n
\n )\n}\n\nexport default Setup\n","import React from 'react'\n\nimport SingleFieldEditableNumber from '../components/SingleFieldEditableNumber'\n\nconst NAME = 'highValueTransaction'\n\nconst TransactionAlerts = ({ section, fieldWidth }) => {\n return (\n \n )\n}\n\nexport default TransactionAlerts\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport Section from '../../components/layout/Section'\n\nimport NotificationsCtx from './NotificationsContext'\nimport CryptoBalanceAlerts from './sections/CryptoBalanceAlerts'\nimport CryptoBalanceOverrides from './sections/CryptoBalanceOverrides'\nimport FiatBalanceAlerts from './sections/FiatBalanceAlerts'\nimport FiatBalanceOverrides from './sections/FiatBalanceOverrides'\nimport Setup from './sections/Setup'\nimport TransactionAlerts from './sections/TransactionAlerts'\n\nconst GET_INFO = gql`\n query getData {\n config\n machines {\n name\n deviceId\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst FIELDS_WIDTH = 130\n\nconst Notifications = ({\n name: SCREEN_KEY,\n displaySetup = true,\n displayTransactionAlerts = true,\n displayFiatAlerts = true,\n displayCryptoAlerts = true,\n displayOverrides = true,\n displayTitle = true,\n wizard = false\n}) => {\n const [section, setSection] = useState(null)\n const [error, setError] = useState(null)\n const [editingKey, setEditingKey] = useState(null)\n\n const { data } = useQuery(GET_INFO)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: ['getData'],\n onCompleted: () => setEditingKey(null),\n onError: error => setError({ error })\n })\n\n const config = fromNamespace(SCREEN_KEY)(data?.config)\n const machines = data?.machines\n const cryptoCurrencies = data?.cryptoCurrencies\n\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n const save = R.curry((section, rawConfig) => {\n const config = toNamespace(SCREEN_KEY)(rawConfig)\n setSection(section)\n setError(null)\n return saveConfig({ variables: { config } })\n })\n\n const setEditing = (key, state) => {\n if (!state) {\n setError(null)\n }\n setEditingKey(state ? key : null)\n }\n\n const isEditing = key => editingKey === key\n const isDisabled = key => editingKey && editingKey !== key\n\n const contextValue = {\n save,\n error,\n editingKey,\n data: config,\n currency,\n isEditing,\n isDisabled,\n setEditing,\n setSection,\n machines,\n cryptoCurrencies\n }\n\n return (\n \n {displayTitle && }\n {displaySetup && (\n
\n \n
\n )}\n {displayTransactionAlerts && (\n
\n \n
\n )}\n {displayFiatAlerts && (\n \n \n {displayOverrides && }\n \n )}\n {displayCryptoAlerts && (\n \n \n {displayOverrides && (\n \n )}\n \n )}\n
\n )\n}\n\nexport default Notifications\n","import baseStyles from 'src/pages/Logs.styles'\n\nconst { button } = baseStyles\n\nconst mainStyles = {\n button,\n content: {\n display: 'flex'\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 10px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n titleWrapper: {\n display: 'flex',\n alignItems: 'center',\n flex: 'wrap'\n },\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between'\n },\n rowTextAndSwitch: {\n display: 'flex',\n flex: 'wrap',\n alignItems: 'center',\n justifyContent: 'space-between',\n width: 285\n },\n popoverContent: {\n width: 272,\n padding: [[10, 15]]\n }\n}\n\nexport { mainStyles }\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport React, { memo } from 'react'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { Switch } from 'src/components/inputs'\nimport { H4, P, Label2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport { mainStyles } from './CoinATMRadar.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst Row = memo(({ title, disabled = false, checked, save, label }) => {\n const classes = useStyles()\n\n return (\n
\n
\n

{title}

\n save && save(event.target.checked)}\n />\n
\n {label && {label}}\n
\n )\n})\n\nconst CoinATMRadar = memo(() => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_CONFIG)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: ['getData']\n })\n\n const save = it =>\n saveConfig({\n variables: { config: toNamespace(namespaces.COIN_ATM_RADAR, it) }\n })\n\n const coinAtmRadarConfig =\n data?.config && fromNamespace(namespaces.COIN_ATM_RADAR, data.config)\n if (!coinAtmRadarConfig) return null\n\n return (\n
\n
\n
\n

Coin ATM Radar share settings

\n \n

\n For details on configuring this panel, please read the relevant\n knowledgebase article{' '}\n \n here\n \n .\n

\n
\n
\n save({ active: value })}\n label={coinAtmRadarConfig.active ? 'Yes' : 'No'}\n />\n

{'Machine info'}

\n save({ commissions: value })}\n />\n save({ limitsAndVerification: value })}\n />\n
\n
\n )\n})\n\nexport default CoinATMRadar\n","import CoinATMRadar from './CoinATMRadar'\n\nexport default CoinATMRadar\n","import { createMuiTheme } from '@material-ui/core/styles'\n\nimport typographyStyles from 'src/components/typography/styles'\n\nimport {\n backgroundColor,\n inputFontFamily,\n secondaryColor,\n fontColor,\n offColor,\n subheaderColor,\n fontSize3,\n fontSize5\n} from './variables'\n\nconst { p } = typographyStyles\n\nexport default createMuiTheme({\n typography: {\n fontFamily: inputFontFamily,\n body1: { ...p }\n },\n MuiButtonBase: {\n disableRipple: true\n },\n palette: {\n primary: {\n light: secondaryColor,\n dark: secondaryColor,\n main: secondaryColor\n },\n secondary: {\n light: secondaryColor,\n dark: secondaryColor,\n main: secondaryColor\n },\n background: {\n default: backgroundColor\n }\n },\n overrides: {\n MuiRadio: {\n colorSecondary: {\n color: secondaryColor\n }\n },\n MuiAutocomplete: {\n root: {\n color: fontColor\n },\n noOptions: {\n padding: [[6, 16]]\n },\n option: {\n '&[data-focus=\"true\"]': {\n backgroundColor: subheaderColor\n }\n },\n paper: {\n color: fontColor,\n margin: 0\n },\n listbox: {\n padding: 0\n },\n tag: {\n '&[data-tag-index=\"0\"]': {\n marginLeft: 0\n },\n margin: 2,\n backgroundColor: subheaderColor,\n borderRadius: 4,\n height: 18\n }\n },\n MuiChip: {\n label: {\n paddingLeft: 4,\n paddingRight: 4,\n color: fontColor,\n fontSize: fontSize5\n }\n },\n MuiInput: {\n root: {\n color: fontColor\n },\n underline: {\n '&:before': {\n borderBottom: [[2, 'solid', fontColor]]\n }\n }\n },\n MuiInputLabel: {\n root: {\n font: 'inherit',\n fontSize: fontSize3,\n color: offColor\n },\n shrink: {\n color: fontColor,\n transform: 'translate(0, 1.7px) scale(0.83)'\n }\n },\n MuiFormLabel: {\n root: {\n '&$focused': {\n color: fontColor\n }\n }\n }\n }\n})\n","import typographyStyles from 'src/components/typography/styles'\nimport theme from 'src/styling/theme'\nimport { offColor } from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nconst styles = {\n header: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 12px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n section: {\n marginBottom: 52\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: 28,\n width: 600,\n '&:last-child': {\n marginBottom: 0\n }\n },\n switchRow: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: 28,\n width: 600\n },\n switch: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: 120\n },\n submit: {\n justifyContent: 'flex-start',\n alignItems: 'center',\n height: 19,\n padding: [[0, 4, 4, 4]],\n '& > button': {\n marginRight: 40\n }\n },\n singleButton: {\n marginTop: 50,\n paddingLeft: 0\n }\n}\n\nconst contactInfoStyles = {\n infoMessage: {\n display: 'flex',\n marginBottom: 52,\n '& > p': {\n width: 330,\n color: offColor,\n marginTop: 4,\n marginLeft: 16\n }\n },\n radioButtonsRow: {\n height: 60,\n marginBottom: 14\n },\n radioButtons: {\n display: 'flex',\n flexDirection: 'row',\n paddingLeft: 4\n },\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 12px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n }\n}\n\nconst termsConditionsStyles = {\n enable: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: 22 - theme.spacing(1),\n '& > span:first-child': {\n extend: p,\n marginRight: 116 - theme.spacing(1)\n },\n '& > span:last-child': {\n marginLeft: 4\n }\n }\n}\n\nconst fieldStyles = {\n field: {\n position: 'relative',\n width: 280,\n padding: [[0, 4, 4, 0]]\n },\n notEditing: {\n display: 'flex',\n flexDirection: 'column'\n },\n notEditingSingleLine: {\n '& > p:first-child': {\n height: 16,\n lineHeight: '16px',\n transform: 'scale(0.75)',\n transformOrigin: 'left',\n paddingLeft: 0,\n margin: [[1, 0, 6, 0]]\n },\n '& > p:last-child': {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n height: 25,\n margin: 0\n }\n },\n notEditingMultiline: {\n '& > p:first-child': {\n height: 16,\n lineHeight: '16px',\n transform: 'scale(0.75)',\n transformOrigin: 'left',\n paddingLeft: 0,\n margin: [[1, 0, 5, 0]]\n },\n '& > p:last-child': {\n width: 502,\n height: 121,\n overflowY: 'auto',\n lineHeight: '19px',\n wordWrap: 'anywhere',\n margin: 0\n }\n }\n}\n\nexport { styles, contactInfoStyles, termsConditionsStyles, fieldStyles }\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Form, Formik, Field as FormikField } from 'formik'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Link, IconButton } from 'src/components/buttons'\nimport Switch from 'src/components/inputs/base/Switch'\nimport { TextInput } from 'src/components/inputs/formik'\nimport { P, H4, Info3, Label1, Label2, Label3 } from 'src/components/typography'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\nimport { fontSize5 } from 'src/styling/variables'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport {\n styles as globalStyles,\n contactInfoStyles\n} from './OperatorInfo.styles'\n\nconst FIELD_WIDTH = 280\n\nconst fieldStyles = {\n field: {\n position: 'relative',\n width: 280,\n height: 48,\n padding: [[0, 4, 4, 0]]\n },\n notEditing: {\n display: 'flex',\n flexDirection: 'column',\n '& > p:first-child': {\n height: 16,\n lineHeight: '16px',\n fontSize: fontSize5,\n transformOrigin: 'left',\n paddingLeft: 0,\n margin: [[3, 0, 3, 0]]\n },\n '& > p:last-child': {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis',\n margin: 0\n }\n }\n}\n\nconst fieldUseStyles = makeStyles(fieldStyles)\n\nconst Field = ({ editing, field, displayValue, ...props }) => {\n const classes = fieldUseStyles()\n\n const classNames = {\n [classes.field]: true,\n [classes.notEditing]: !editing\n }\n\n return (\n
\n {!editing && (\n <>\n {field.label}\n {displayValue(field.value)}\n \n )}\n {editing && (\n \n )}\n
\n )\n}\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst styles = R.merge(globalStyles, contactInfoStyles)\n\nconst contactUseStyles = makeStyles(styles)\n\nconst ContactInfo = ({ wizard }) => {\n const classes = contactUseStyles()\n\n const [editing, setEditing] = useState(wizard || false)\n const [error, setError] = useState(null)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setEditing(false),\n refetchQueries: () => ['getData'],\n onError: e => setError(e)\n })\n\n const { data } = useQuery(GET_CONFIG)\n\n const save = it => {\n return saveConfig({\n variables: { config: toNamespace(namespaces.OPERATOR_INFO, it) }\n })\n }\n\n const info =\n data?.config && fromNamespace(namespaces.OPERATOR_INFO, data.config)\n\n if (!info) return null\n\n const validationSchema = Yup.object().shape({\n active: Yup.boolean(),\n name: Yup.string(),\n phone: Yup.string(),\n email: Yup.string()\n .email('Please enter a valid email address')\n .required(),\n website: Yup.string(),\n companyNumber: Yup.string()\n })\n\n const fields = [\n {\n name: 'name',\n label: 'Full name',\n value: info.name ?? '',\n component: TextInput\n },\n {\n name: 'phone',\n label: 'Phone number',\n value: info.phone,\n component: TextInput\n },\n {\n name: 'email',\n label: 'Email',\n value: info.email ?? '',\n component: TextInput\n },\n {\n name: 'website',\n label: 'Website',\n value: info.website ?? '',\n component: TextInput\n },\n {\n name: 'companyNumber',\n label: 'Company number',\n value: info.companyNumber ?? '',\n component: TextInput\n }\n ]\n\n const findField = name => R.find(R.propEq('name', name))(fields)\n const findValue = name => findField(name).value\n\n const displayTextValue = value => value\n\n const form = {\n initialValues: {\n active: info.active,\n name: findValue('name'),\n phone: findValue('phone'),\n email: findValue('email'),\n website: findValue('website'),\n companyNumber: findValue('companyNumber')\n }\n }\n\n return (\n <>\n
\n

Contact information

\n
\n
\n

Info card enabled?

\n
\n \n save({\n active: event.target.checked\n })\n }\n />\n {info.active ? 'Yes' : 'No'}\n
\n
\n
\n
\n

Info card

\n {!editing && (\n setEditing(true)}>\n \n \n )}\n
\n save(validationSchema.cast(values))}\n onReset={() => {\n setEditing(false)\n setError(null)\n }}>\n
\n \n
\n setError(null)}\n />\n setError(null)}\n />\n
\n
\n setError(null)}\n />\n setError(null)}\n />\n
\n
\n setError(null)}\n />\n
\n
\n {editing && (\n <>\n \n Save\n \n \n Cancel\n \n {error && (\n \n Failed to save changes\n \n )}\n \n )}\n
\n \n \n
\n {!wizard && (\n
\n \n \n Sharing your information with your customers through your machines\n allows them to contact you in case there's a problem with a machine\n in your network or a transaction.\n \n
\n )}\n \n )\n}\n\nexport default ContactInfo\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/table/false\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group-4\",\n stroke: \"#FF584A\",\n strokeWidth: 4\n}, /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.5,\n y1: 0.5,\n x2: 0.995667,\n y2: 13.004333,\n id: \"Line-7\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 13.5,\n y1: 0.5,\n x2: 0.995667,\n y2: 13.004333,\n id: \"Line-7\",\n transform: \"translate(7.000000, 7.000000) scale(-1, 1) translate(-7.000000, -7.000000) \"\n})));\n\nfunction SvgFalse(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"14px\",\n height: \"14px\",\n viewBox: \"0 0 14 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFalse);\nexport default __webpack_public_path__ + \"static/media/false.7f926859.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/table/true\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.17451294,13.3251347 L0.599425104,9.29667256 C-0.199808368,8.3960844 -0.199808368,6.94040225 0.599425104,6.03981409 C1.39865858,5.13922593 2.69051421,5.13922593 3.48974768,6.03981409 L5.61967423,8.439847 L12.5102523,0.675441122 C13.3094858,-0.225147041 14.6033855,-0.225147041 15.4005749,0.675441122 C16.1998084,1.57372599 16.1998084,3.03171143 15.4005749,3.93229959 L7.06483552,13.3251347 C6.66624082,13.7742771 6.14295752,14 5.61967423,14 C5.09639093,14 4.57310763,13.7742771 4.17451294,13.3251347 Z\",\n id: \"Fill-1\",\n fill: \"#48F694\"\n}));\n\nfunction SvgTrue(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"16px\",\n height: \"14px\",\n viewBox: \"0 0 16 14\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgTrue);\nexport default __webpack_public_path__ + \"static/media/true.8e532da3.svg\";\nexport { ForwardRef as ReactComponent };","import baseStyles from 'src/pages/Logs.styles'\nimport { backgroundColor, zircon } from 'src/styling/variables'\n\nconst { fillColumn } = baseStyles\n\nconst booleanPropertiesTableStyles = {\n booleanPropertiesTableWrapper: {\n display: 'flex',\n flexDirection: 'column',\n width: 396\n },\n tableRow: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n '&:nth-child(even)': {\n backgroundColor: backgroundColor\n },\n '&:nth-child(odd)': {\n backgroundColor: zircon\n },\n minHeight: 32,\n height: 'auto',\n padding: [[8, 16, 8, 24]],\n boxShadow: '0 0 0 0 rgba(0, 0, 0, 0)'\n },\n leftTableCell: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'left',\n width: 200,\n padding: [0]\n },\n rightTableCell: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'right',\n padding: [0]\n },\n transparentButton: {\n '& > *': {\n margin: 'auto 12px'\n },\n '& button': {\n border: 'none',\n backgroundColor: 'transparent',\n cursor: 'pointer'\n }\n },\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n rightAligned: {\n marginLeft: 'auto'\n },\n radioButtons: {\n display: 'flex',\n flexDirection: 'row',\n margin: [-15]\n },\n rightLink: {\n marginLeft: '20px'\n },\n fillColumn,\n popoverContent: {\n width: 272,\n padding: [[10, 15]]\n }\n}\n\nexport { booleanPropertiesTableStyles }\n","import { makeStyles } from '@material-ui/core/styles'\nimport classnames from 'classnames'\nimport { useFormikContext, Form, Formik, Field as FormikField } from 'formik'\nimport _ from 'lodash'\nimport React, { useState, memo } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Link, IconButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs/formik'\nimport { Table, TableBody, TableRow, TableCell } from 'src/components/table'\nimport { H4 } from 'src/components/typography'\nimport { ReactComponent as EditIconDisabled } from 'src/styling/icons/action/edit/disabled.svg'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { ReactComponent as FalseIcon } from 'src/styling/icons/table/false.svg'\nimport { ReactComponent as TrueIcon } from 'src/styling/icons/table/true.svg'\n\nimport { booleanPropertiesTableStyles } from './BooleanPropertiesTable.styles'\n\nconst useStyles = makeStyles(booleanPropertiesTableStyles)\n\nconst BooleanCell = ({ name }) => {\n const { values } = useFormikContext()\n return values[name] === 'true' ? : \n}\n\nconst BooleanPropertiesTable = memo(\n ({ title, disabled, data, elements, save, forcedEditing = false }) => {\n const initialValues = _.fromPairs(elements.map(it => [it.name, '']))\n const schemaValidation = _.fromPairs(\n elements.map(it => [it.name, Yup.boolean().required()])\n )\n\n const [editing, setEditing] = useState(forcedEditing)\n\n const classes = useStyles()\n\n const innerSave = async value => {\n save(value)\n setEditing(false)\n }\n\n const innerCancel = () => setEditing(false)\n\n const radioButtonOptions = [\n { display: 'Yes', code: 'true' },\n { display: 'No', code: 'false' }\n ]\n\n return (\n
\n \n
\n
\n

{title}

\n {editing ? (\n
\n \n Save\n \n \n Cancel\n \n
\n ) : (\n setEditing(true)}>\n {disabled ? : }\n \n )}\n
\n \n \n \n {elements.map((it, idx) => (\n \n \n {it.display}\n \n \n {editing && (\n \n )}\n {!editing && }\n \n \n ))}\n \n
\n \n \n
\n )\n }\n)\n\nexport default BooleanPropertiesTable\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core/styles'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\n\nimport { BooleanPropertiesTable } from 'src/components/booleanPropertiesTable'\nimport { Switch } from 'src/components/inputs'\nimport { H4, P, Label2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport { mainStyles } from './ReceiptPrinting.styles'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst ReceiptPrinting = memo(({ wizard }) => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_CONFIG)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n refetchQueries: () => ['getData']\n })\n\n const save = it =>\n saveConfig({\n variables: { config: toNamespace(namespaces.RECEIPT, it) }\n })\n\n const receiptPrintingConfig =\n data?.config && fromNamespace(namespaces.RECEIPT, data.config)\n if (!receiptPrintingConfig) return null\n\n return (\n <>\n
\n

Receipt options

\n
\n
\n

Enable receipt printing?

\n
\n \n saveConfig({\n variables: {\n config: toNamespace(\n namespaces.RECEIPT,\n R.merge(receiptPrintingConfig, {\n active: event.target.checked\n })\n )\n }\n })\n }\n />\n
\n {receiptPrintingConfig.active ? 'Yes' : 'No'}\n
\n \n \n )\n})\n\nexport default ReceiptPrinting\n","const mainStyles = {\n rowWrapper: {\n display: 'flex',\n alignItems: 'center',\n position: 'relative',\n flex: 'wrap'\n },\n switchWrapper: {\n display: 'flex',\n marginLeft: 120\n }\n}\n\nexport { mainStyles }\n","import ReceiptPrinting from './ReceiptPrinting'\n\nexport default ReceiptPrinting\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Form, Formik, Field as FormikField } from 'formik'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Link, IconButton } from 'src/components/buttons'\nimport { Switch } from 'src/components/inputs'\nimport { TextInput } from 'src/components/inputs/formik'\nimport { H4, Info2, Info3, Label2, Label3 } from 'src/components/typography'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/enabled.svg'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport {\n styles as globalStyles,\n termsConditionsStyles,\n fieldStyles\n} from './OperatorInfo.styles'\n\nconst useFieldStyles = makeStyles(fieldStyles)\n\nconst Field = ({\n editing,\n name,\n width,\n placeholder,\n label,\n value,\n multiline = false,\n rows,\n onFocus,\n ...props\n}) => {\n const classes = useFieldStyles()\n\n const classNames = {\n [classes.field]: true,\n [classes.notEditing]: !editing,\n [classes.notEditingSingleLine]: !editing && !multiline,\n [classes.notEditingMultiline]: !editing && multiline\n }\n\n return (\n
\n {!editing && (\n <>\n {label}\n {value}\n \n )}\n {editing && (\n \n )}\n
\n )\n}\n\nconst GET_CONFIG = gql`\n query getData {\n config\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst styles = R.merge(globalStyles, termsConditionsStyles)\n\nconst useTermsConditionsStyles = makeStyles(styles)\n\nconst TermsConditions = () => {\n const [error, setError] = useState(null)\n const [editing, setEditing] = useState(false)\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: () => {\n setError(null)\n setEditing(false)\n },\n refetchQueries: () => ['getData'],\n onError: e => setError(e)\n })\n\n const classes = useTermsConditionsStyles()\n\n const { data } = useQuery(GET_CONFIG)\n\n const termsAndConditions =\n data?.config && fromNamespace(namespaces.TERMS_CONDITIONS, data.config)\n const formData = termsAndConditions ?? {}\n const showOnScreen = termsAndConditions?.active ?? false\n\n const save = it =>\n saveConfig({\n variables: { config: toNamespace(namespaces.TERMS_CONDITIONS, it) }\n })\n\n const fields = [\n {\n name: 'title',\n label: 'Screen title',\n value: formData.title ?? '',\n width: 282\n },\n {\n name: 'text',\n label: 'Text content',\n value: formData.text ?? '',\n width: 502,\n multiline: true,\n rows: 6\n },\n {\n name: 'acceptButtonText',\n label: 'Accept button text',\n value: formData.acceptButtonText ?? '',\n placeholder: 'I accept',\n width: 282\n },\n {\n name: 'cancelButtonText',\n label: 'Cancel button text',\n value: formData.cancelButtonText ?? '',\n placeholder: 'Cancel',\n width: 282\n }\n ]\n\n const findField = name => R.find(R.propEq('name', name))(fields)\n const findValue = name => findField(name).value\n\n const initialValues = {\n title: findValue('title'),\n text: findValue('text'),\n acceptButtonText: findValue('acceptButtonText'),\n cancelButtonText: findValue('cancelButtonText')\n }\n\n const validationSchema = Yup.object().shape({\n title: Yup.string()\n .required()\n .max(50, 'Too long'),\n text: Yup.string().required(),\n acceptButtonText: Yup.string()\n .required()\n .max(50, 'Too long'),\n cancelButtonText: Yup.string()\n .required()\n .max(50, 'Too long')\n })\n\n return (\n <>\n
\n

Terms & Conditions

\n
\n
\n
\n Show on screen\n \n save({\n active: event.target.checked\n })\n }\n />\n {showOnScreen ? 'Yes' : 'No'}\n
\n
\n Info card\n {!editing && (\n setEditing(true)}>\n \n \n )}\n
\n save(values)}\n onReset={() => {\n setEditing(false)\n setError(null)\n }}>\n
\n \n {fields.map((f, idx) => (\n
\n setError(null)}\n />\n
\n ))}\n
\n {editing && (\n <>\n \n Save\n \n \n Cancel\n \n {error && (\n \n Failed to save changes\n \n )}\n \n )}\n
\n \n \n
\n \n )\n}\n\nexport default TermsConditions\n","import { makeStyles } from '@material-ui/core'\nimport Chip from '@material-ui/core/Chip'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport {\n secondaryColorLighter,\n secondaryColorDarker,\n offErrorColor,\n errorColor,\n offColor,\n inputFontWeight,\n smallestFontSize,\n inputFontFamily,\n spacer\n} from 'src/styling/variables'\nimport { onlyFirstToUpper } from 'src/utils/string'\n\nimport typographyStyles from './typography/styles'\nconst { label1 } = typographyStyles\n\nconst colors = {\n running: secondaryColorDarker,\n notRunning: offErrorColor\n}\n\nconst backgroundColors = {\n running: secondaryColorLighter,\n notRunning: errorColor\n}\n\nconst styles = {\n uptimeContainer: {\n display: 'inline-block',\n minWidth: 104,\n margin: [[0, 20]]\n },\n name: {\n extend: label1,\n paddingLeft: 4,\n color: offColor\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst useChipStyles = makeStyles({\n root: {\n borderRadius: spacer / 2,\n marginTop: spacer / 2,\n marginRight: spacer / 4,\n marginBottom: spacer / 2,\n marginLeft: spacer / 4,\n height: spacer * 3,\n backgroundColor: ({ type }) => backgroundColors[type]\n },\n label: {\n fontSize: smallestFontSize,\n fontWeight: inputFontWeight,\n fontFamily: inputFontFamily,\n padding: [[spacer / 2, spacer]],\n color: ({ type }) => colors[type]\n }\n})\n\nconst Uptime = ({ process, ...props }) => {\n const classes = useStyles()\n\n const uptime = time => {\n if (time < 60) return `${time}s`\n if (time < 3600) return `${Math.floor(time / 60)}m`\n if (time < 86400) return `${Math.floor(time / 60 / 60)}h`\n return `${Math.floor(time / 60 / 60 / 24)}d`\n }\n\n return (\n
\n
{R.toLower(process.name)}
\n \n
\n )\n}\n\nexport default Uptime\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React, { useState, useRef } from 'react'\n\nimport LogsDowloaderPopover from 'src/components/LogsDownloaderPopper'\nimport Title from 'src/components/Title'\nimport Uptime from 'src/components/Uptime'\nimport { Select } from 'src/components/inputs'\nimport {\n Table,\n TableHead,\n TableRow,\n TableHeader,\n TableBody,\n TableCell\n} from 'src/components/table'\nimport { Info3 } from 'src/components/typography'\nimport typographyStyles from 'src/components/typography/styles'\nimport { offColor } from 'src/styling/variables'\n\nimport logsStyles from './Logs.styles'\n\nconst { p } = typographyStyles\nconst { tableWrapper } = logsStyles\n\nconst localStyles = {\n serverTableWrapper: {\n extend: tableWrapper,\n maxWidth: '100%',\n marginLeft: 0\n },\n serverVersion: {\n extend: p,\n color: offColor,\n margin: 'auto 0 auto 0'\n },\n headerLine2: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: 24\n },\n uptimeContainer: {\n margin: 'auto 0 auto 0'\n }\n}\n\nconst styles = R.merge(logsStyles, localStyles)\n\nconst useStyles = makeStyles(styles)\n\nconst SHOW_ALL = 'Show all'\n\nconst formatDate = date => {\n return moment(date).format('YYYY-MM-DD HH:mm')\n}\n\nconst NUM_LOG_RESULTS = 500\n\nconst GET_CSV = gql`\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverLogsCsv(limit: $limit, from: $from, until: $until)\n }\n`\n\nconst GET_DATA = gql`\n query ServerData($limit: Int, $from: Date, $until: Date) {\n serverVersion\n uptime {\n name\n state\n uptime\n }\n serverLogs(limit: $limit, from: $from, until: $until) {\n logLevel\n id\n timestamp\n message\n }\n }\n`\n\nconst Logs = () => {\n const classes = useStyles()\n\n const tableEl = useRef()\n\n const [saveMessage, setSaveMessage] = useState(null)\n const [logLevel, setLogLevel] = useState(SHOW_ALL)\n\n const { data } = useQuery(GET_DATA, {\n onCompleted: () => setSaveMessage(''),\n variables: {\n limit: NUM_LOG_RESULTS\n }\n })\n\n const serverVersion = data?.serverVersion\n const processStates = data?.uptime ?? []\n\n const getLogLevels = R.compose(\n R.prepend(SHOW_ALL),\n R.uniq,\n R.concat(['error', 'info', 'debug']),\n R.map(R.path(['logLevel'])),\n R.path(['serverLogs'])\n )\n\n const handleLogLevelChange = logLevel => {\n if (tableEl.current) tableEl.current.scrollTo(0, 0)\n\n setLogLevel(logLevel)\n }\n\n return (\n <>\n
\n
\n Server\n {data && (\n
\n R.path(['serverLogsCsv'])(logs)}\n />\n {saveMessage}\n
\n )}\n
\n
\n {serverVersion && Server version: v{serverVersion}}\n
\n
\n
\n {data && (\n \n )}\n
\n {processStates &&\n processStates.map((process, idx) => (\n \n ))}\n
\n
\n
\n
\n \n \n \n Date\n Level\n \n \n \n \n {data &&\n data.serverLogs\n .filter(\n log => logLevel === SHOW_ALL || log.logLevel === logLevel\n )\n .map((log, idx) => (\n \n {formatDate(log.timestamp)}\n {log.logLevel}\n {log.message}\n \n ))}\n \n
\n
\n
\n \n )\n}\n\nexport default Logs\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/action/edit/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1,18 L1,18 C1,19.657 2.343,21 4,21 L18,21 C19.657,21 21,19.657 21,18\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 2,\n points: \"6 12 17 1 21 5 10 16 6 16\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"22px\",\n viewBox: \"0 0 22 22\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.5f161f2c.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport { offColor } from 'src/styling/variables'\n\nconst { label1, p } = typographyStyles\n\nexport default {\n tr: ({ height }) => ({\n margin: 0,\n height\n }),\n table: ({ width }) => ({\n width\n }),\n head: {\n display: 'flex',\n flex: 1,\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingRight: 12\n },\n button: {\n marginBottom: 1\n },\n itemWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: 16,\n minHeight: 35\n },\n label: {\n extend: label1,\n color: offColor,\n marginBottom: 4\n },\n item: {\n extend: p,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap'\n }\n}\n","import { makeStyles } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React from 'react'\n\nimport { IconButton } from 'src/components/buttons'\nimport {\n Table,\n THead,\n TBody,\n Td,\n Th,\n Tr\n} from 'src/components/fake-table/Table'\nimport { ReactComponent as EditIcon } from 'src/styling/icons/action/edit/white.svg'\n\nimport styles from './SingleRowTable.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst SingleRowTable = ({\n width = 378,\n height = 128,\n title,\n items,\n onEdit,\n className\n}) => {\n const classes = useStyles({ width, height })\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n
\n {title}\n \n \n \n
\n {items && (\n <>\n {items[0] && (\n
\n
{items[0].label}
\n
{items[0].value}
\n
\n )}\n {items[1] && (\n
\n
{items[1].label}
\n
{items[1].value}
\n
\n )}\n \n )}\n
\n \n )\n}\n\nexport default SingleRowTable\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles, Grid } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport SingleRowTable from 'src/components/single-row-table/SingleRowTable'\nimport { formatLong } from 'src/utils/string'\n\nimport FormRenderer from './FormRenderer'\nimport schemas from './schemas'\n\nconst GET_INFO = gql`\n query getData {\n accounts\n }\n`\n\nconst SAVE_ACCOUNT = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst styles = {\n wrapper: {\n // widths + spacing is a little over 1200 on the design\n // this adjusts the margin after a small reduction on card size\n marginLeft: 1\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst Services = () => {\n const [editingSchema, setEditingSchema] = useState(null)\n\n const { data } = useQuery(GET_INFO)\n const [saveAccount] = useMutation(SAVE_ACCOUNT, {\n onCompleted: () => setEditingSchema(null),\n refetchQueries: ['getData']\n })\n\n const classes = useStyles()\n\n const accounts = data?.accounts ?? {}\n\n const getItems = (code, elements) => {\n const faceElements = R.filter(R.prop('face'))(elements)\n const values = accounts[code] || {}\n return R.map(({ display, code, long }) => ({\n label: display,\n value: long ? formatLong(values[code]) : values[code]\n }))(faceElements)\n }\n\n return (\n
\n \n \n {R.values(schemas).map(schema => (\n \n setEditingSchema(schema)}\n items={getItems(schema.code, schema.elements)}\n />\n \n ))}\n \n {editingSchema && (\n setEditingSchema(null)}\n open={true}>\n \n saveAccount({\n variables: { accounts: { [editingSchema.code]: it } }\n })\n }\n elements={editingSchema.elements}\n validationSchema={editingSchema.validationSchema}\n value={accounts[editingSchema.code]}\n />\n \n )}\n
\n )\n}\n\nexport default Services\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/card/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6,\n points: \"0 16 22 16 22 0 0 0\"\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 4,\n x2: 18.8571429,\n y2: 4,\n id: \"Stroke-3\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}), /*#__PURE__*/React.createElement(\"line\", {\n x1: 11.7857143,\n y1: 7.2,\n x2: 18.8571429,\n y2: 7.2,\n id: \"Stroke-4\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}), /*#__PURE__*/React.createElement(\"polygon\", {\n id: \"Stroke-5\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6,\n points: \"3.14285714 11.2 8.64285714 11.2 8.64285714 4 3.14285714 4\"\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.aa3a2aa4.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/phone/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z\",\n id: \"Stroke-1-Copy\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.d630943a.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/phone/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.47150618,12.52898 C9.939556,15.9970298 13.7804112,16.1146315 15.4756355,15.9586292 C16.0220434,15.9090285 16.5308507,15.6578249 16.9188563,15.2698193 L19.0004862,13.1881894 L17.0220577,11.210561 L15.0436293,10.5505516 L13.7244104,11.8697705 C13.7244104,11.8697705 12.4059914,13.1881894 9.10914407,9.89054208 C5.81229671,6.59449473 7.13071565,5.27527578 7.13071565,5.27527578 L8.4499346,3.95605683 L7.78992512,1.97842842 L5.81229671,0 L3.73066681,2.0816299 C3.34186123,2.46963548 3.09145763,2.97844279 3.04105691,3.52485063 C2.88585468,5.22007499 3.00345637,9.06013015 6.47150618,12.52898 Z\",\n id: \"Stroke-1-Copy\",\n stroke: \"#1B2559\",\n strokeWidth: 1.6\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.d95e9bb2.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/photo/white\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z\",\n id: \"Stroke-1\",\n stroke: \"#FFFFFF\",\n strokeWidth: 1.6\n}));\n\nfunction SvgWhite(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgWhite);\nexport default __webpack_public_path__ + \"static/media/white.024587b7.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Sketch.\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"g\", {\n id: \"icon/ID/photo/zodiac\",\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11,13 C8.7912,13 7,11.2088 7,9 C7,6.7912 8.7912,5 11,5 C13.2088,5 15,6.7912 15,9 C15,11.2088 13.2088,13 11,13 Z M15.7142857,2.4 L13.3571429,0 L8.64285714,0 L6.28571429,2.4 L0,2.4 L0,16 L22,16 L22,2.4 L15.7142857,2.4 Z\",\n id: \"Stroke-1\",\n stroke: \"#1B2559\",\n strokeWidth: 1.6\n}));\n\nfunction SvgZodiac(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"22px\",\n height: \"16px\",\n viewBox: \"0 0 22 16\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgZodiac);\nexport default __webpack_public_path__ + \"static/media/zodiac.4467d30c.svg\";\nexport { ForwardRef as ReactComponent };","import typographyStyles from 'src/components/typography/styles'\nimport { offColor } from 'src/styling/variables'\n\nconst { p } = typographyStyles\n\nexport default {\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: 24\n },\n row: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 36\n },\n secondRow: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n marginBottom: 36\n },\n lastRow: {\n display: 'flex',\n flexDirection: 'row',\n marginBottom: 32\n },\n label: {\n color: offColor,\n margin: [[0, 0, 6, 0]]\n },\n txIcon: {\n marginRight: 10\n },\n popover: {\n height: 164,\n width: 215\n },\n idButton: {\n marginRight: 4\n },\n idCardDataCard: {\n extend: p,\n display: 'flex',\n padding: [[11, 8]],\n // rework this into a proper component\n '& > div': {\n display: 'flex',\n flexDirection: 'column',\n '& > div': {\n width: 144,\n height: 37,\n marginBottom: 15,\n '&:last-child': {\n marginBottom: 0\n }\n }\n }\n },\n bold: {\n fontWeight: 700\n },\n direction: {\n width: 233\n },\n availableIds: {\n width: 232\n },\n exchangeRate: {\n width: 250\n },\n commission: {\n width: 217\n },\n address: {\n width: 280\n },\n transactionId: {\n width: 280\n },\n sessionId: {\n width: 215\n }\n}\n","const getCashOutStatus = it => {\n if (it.hasError) return 'Error'\n if (it.dispense) return 'Success'\n if (it.expired) return 'Expired'\n return 'Pending'\n}\n\nconst getCashInStatus = it => {\n if (it.operatorCompleted) return 'Cancelled'\n if (it.hasError) return 'Error'\n if (it.sendConfirmed) return 'Sent'\n if (it.expired) return 'Expired'\n return 'Pending'\n}\n\nconst getStatus = it => {\n if (it.txClass === 'cashOut') {\n return getCashOutStatus(it)\n }\n return getCashInStatus(it)\n}\n\nexport { getStatus }\n","import { makeStyles, Box } from '@material-ui/core'\nimport BigNumber from 'bignumber.js'\nimport moment from 'moment'\nimport React, { memo } from 'react'\n\nimport { IDButton } from 'src/components/buttons'\nimport { Label1 } from 'src/components/typography'\nimport { ReactComponent as CardIdInverseIcon } from 'src/styling/icons/ID/card/white.svg'\nimport { ReactComponent as CardIdIcon } from 'src/styling/icons/ID/card/zodiac.svg'\nimport { ReactComponent as PhoneIdInverseIcon } from 'src/styling/icons/ID/phone/white.svg'\nimport { ReactComponent as PhoneIdIcon } from 'src/styling/icons/ID/phone/zodiac.svg'\nimport { ReactComponent as CamIdInverseIcon } from 'src/styling/icons/ID/photo/white.svg'\nimport { ReactComponent as CamIdIcon } from 'src/styling/icons/ID/photo/zodiac.svg'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { URI } from 'src/utils/apollo'\nimport { toUnit, formatCryptoAddress } from 'src/utils/coin'\nimport { onlyFirstToUpper } from 'src/utils/string'\n\nimport CopyToClipboard from './CopyToClipboard'\nimport styles from './DetailsCard.styles'\nimport { getStatus } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst formatAddress = (cryptoCode = '', address = '') =>\n formatCryptoAddress(cryptoCode, address).replace(/(.{5})/g, '$1 ')\n\nconst Label = ({ children }) => {\n const classes = useStyles()\n return {children}\n}\n\nconst DetailsRow = ({ it: tx }) => {\n const classes = useStyles()\n\n const fiat = Number.parseFloat(tx.fiat)\n const crypto = toUnit(new BigNumber(tx.cryptoAtoms), tx.cryptoCode)\n const commissionPercentage = Number.parseFloat(tx.commissionPercentage, 2)\n const commission = Number(fiat * commissionPercentage).toFixed(2)\n const exchangeRate = Number(fiat / crypto).toFixed(3)\n const displayExRate = `1 ${tx.cryptoCode} = ${exchangeRate} ${tx.fiatCode}`\n\n const customer = tx.customerIdCardData && {\n name: `${onlyFirstToUpper(\n tx.customerIdCardData.firstName\n )} ${onlyFirstToUpper(tx.customerIdCardData.lastName)}`,\n age: moment().diff(moment(tx.customerIdCardData.dateOfBirth), 'years'),\n country: tx.customerIdCardData.country,\n idCardNumber: tx.customerIdCardData.documentNumber,\n idCardExpirationDate: moment(tx.customerIdCardData.expirationDate).format(\n 'DD-MM-YYYY'\n )\n }\n\n return (\n
\n
\n
\n \n
\n \n {tx.txClass === 'cashOut' ? : }\n \n {tx.txClass === 'cashOut' ? 'Cash-out' : 'Cash-in'}\n
\n
\n\n
\n \n \n {tx.customerPhone && (\n \n {tx.customerPhone}\n \n )}\n {tx.customerIdCardPhotoPath && !tx.customerIdCardData && (\n \n \n \n )}\n {tx.customerIdCardData && (\n \n
\n
\n
\n \n
{customer.name}
\n
\n
\n \n
{customer.age}
\n
\n
\n \n
{customer.country}
\n
\n
\n
\n
\n \n
{customer.idCardNumber}
\n
\n
\n \n
{customer.idCardExpirationDate}
\n
\n
\n
\n \n )}\n {tx.customerFrontCameraPath && (\n \n \n \n )}\n
\n
\n
\n \n
{crypto > 0 ? displayExRate : '-'}
\n
\n
\n \n
\n {`${commission} ${tx.fiatCode} (${commissionPercentage * 100} %)`}\n
\n
\n
\n \n
\n {tx.txClass === 'cashIn'\n ? `${Number.parseFloat(tx.cashInFee)} ${tx.fiatCode}`\n : 'N/A'}\n
\n
\n
\n
\n
\n \n
\n \n {formatAddress(tx.cryptoCode, tx.toAddress)}\n \n
\n
\n
\n \n
\n {tx.txClass === 'cashOut' ? (\n 'N/A'\n ) : (\n {tx.txHash}\n )}\n
\n
\n
\n \n {tx.id}\n
\n
\n
\n
\n \n {getStatus(tx)}\n
\n
\n
\n )\n}\n\nexport default memo(DetailsRow, (prev, next) => prev.id === next.id)\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport BigNumber from 'bignumber.js'\nimport gql from 'graphql-tag'\nimport moment from 'moment'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport LogsDowloaderPopover from 'src/components/LogsDownloaderPopper'\nimport Title from 'src/components/Title'\nimport DataTable from 'src/components/tables/DataTable'\nimport { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\nimport { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\nimport { toUnit, formatCryptoAddress } from 'src/utils/coin'\n\nimport DetailsRow from './DetailsCard'\nimport { mainStyles } from './Transactions.styles'\nimport { getStatus } from './helper'\n\nconst useStyles = makeStyles(mainStyles)\n\nconst NUM_LOG_RESULTS = 1000\n\nconst GET_TRANSACTIONS_CSV = gql`\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactionsCsv(limit: $limit, from: $from, until: $until)\n }\n`\n\nconst GET_TRANSACTIONS = gql`\n query transactions($limit: Int, $from: Date, $until: Date) {\n transactions(limit: $limit, from: $from, until: $until) {\n id\n txClass\n txHash\n toAddress\n commissionPercentage\n expired\n machineName\n operatorCompleted\n sendConfirmed\n dispense\n hasError: error\n deviceId\n fiat\n cashInFee\n fiatCode\n cryptoAtoms\n cryptoCode\n toAddress\n created\n customerName\n customerIdCardData\n customerIdCardPhotoPath\n customerFrontCameraPath\n customerPhone\n }\n }\n`\n\nconst Transactions = () => {\n const classes = useStyles()\n\n const { data: txResponse, loading } = useQuery(GET_TRANSACTIONS, {\n variables: {\n limit: NUM_LOG_RESULTS\n }\n })\n\n const formatCustomerName = customer => {\n const { firstName, lastName } = customer\n\n return `${R.o(R.toUpper, R.head)(firstName)}. ${lastName}`\n }\n\n const getCustomerDisplayName = tx => {\n if (tx.customerName) return tx.customerName\n if (tx.customerIdCardData) return formatCustomerName(tx.customerIdCardData)\n return tx.customerPhone\n }\n\n const elements = [\n {\n header: '',\n width: 62,\n size: 'sm',\n view: it => (it.txClass === 'cashOut' ? : )\n },\n {\n header: 'Machine',\n name: 'machineName',\n width: 180,\n size: 'sm',\n view: R.path(['machineName'])\n },\n {\n header: 'Customer',\n width: 162,\n size: 'sm',\n view: getCustomerDisplayName\n },\n {\n header: 'Cash',\n width: 144,\n textAlign: 'right',\n size: 'sm',\n view: it => `${Number.parseFloat(it.fiat)} ${it.fiatCode}`\n },\n {\n header: 'Crypto',\n width: 144,\n textAlign: 'right',\n size: 'sm',\n view: it =>\n `${toUnit(new BigNumber(it.cryptoAtoms), it.cryptoCode).toFormat(5)} ${\n it.cryptoCode\n }`\n },\n {\n header: 'Address',\n view: it => formatCryptoAddress(it.cryptoCode, it.toAddress),\n className: classes.overflowTd,\n size: 'sm',\n width: 140\n },\n {\n header: 'Date (UTC)',\n view: it => moment.utc(it.created).format('YYYY-MM-DD HH:mm:ss'),\n textAlign: 'right',\n size: 'sm',\n width: 200\n },\n {\n header: 'Status',\n view: it => getStatus(it),\n size: 'sm',\n width: 80\n }\n ]\n\n return (\n <>\n
\n
\n Transactions\n {txResponse && (\n
\n R.path(['transactionsCsv'])(logs)}\n />\n
\n )}\n
\n
\n
\n \n Cash-out\n
\n
\n \n Cash-in\n
\n
\n
\n \n \n )\n}\n\nexport default Transactions\n","import { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport { Field, useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { memo } from 'react'\nimport * as Yup from 'yup'\n\nimport { TextInput, RadioGroup } from 'src/components/inputs/formik'\nimport { H4, Label2, Label1, Info2 } from 'src/components/typography'\nimport { errorColor } from 'src/styling/variables'\n// import { ReactComponent as TxInIcon } from 'src/styling/icons/direction/cash-in.svg'\n// import { ReactComponent as TxOutIcon } from 'src/styling/icons/direction/cash-out.svg'\n\nconst useStyles = makeStyles({\n radioLabel: {\n height: 40,\n padding: [[0, 10]]\n },\n radio: {\n padding: 4,\n margin: 4\n },\n radioGroup: {\n flexDirection: 'row'\n },\n error: {\n color: errorColor\n },\n specialLabel: {\n height: 40,\n padding: 0\n },\n specialGrid: {\n display: 'grid',\n gridTemplateColumns: [[182, 162, 141]]\n },\n directionIcon: {\n marginRight: 2\n },\n directionName: {\n marginLeft: 6\n },\n thresholdWrapper: {\n display: 'flex'\n },\n thresholdField: {\n margin: 10,\n width: 208\n },\n space: {\n marginLeft: 6,\n marginRight: 6\n },\n lastSpace: {\n marginLeft: 6\n },\n suspensionDays: {\n width: 34\n },\n input: {\n marginTop: -2\n },\n limitedInput: {\n width: 50\n },\n daysInput: {\n width: 60\n }\n})\n\n// const direction = Yup.string().required()\nconst triggerType = Yup.string().required()\nconst threshold = Yup.object().shape({\n threshold: Yup.number(),\n thresholdDays: Yup.number().test({\n test(val) {\n const { triggerType } = this.parent\n const requireThrehsold = ['txVolume', 'txVelocity']\n\n if (R.isEmpty(val) && R.includes(triggerType, requireThrehsold)) {\n return this.createError()\n }\n\n return true\n }\n })\n})\n\nconst requirement = Yup.object().shape({\n requirement: Yup.string().required(),\n suspensionDays: Yup.number().when('requirement', {\n is: 'suspend',\n then: Yup.number().required(),\n otherwise: Yup.number()\n .nullable()\n .transform(() => null)\n })\n})\n\nconst Schema = Yup.object().shape({\n triggerType,\n requirement,\n threshold\n // direction\n})\n\n// Direction V2 only\n// const directionSchema = Yup.object().shape({ direction })\n\n// const directionOptions = [\n// {\n// display: 'Both',\n// code: 'both'\n// },\n// {\n// display: 'Only cash-in',\n// code: 'cashIn'\n// },\n// {\n// display: 'Only cash-out',\n// code: 'cashOut'\n// }\n// ]\n\n// const directionOptions2 = [\n// {\n// display: (\n// <>\n// in\n// \n// ),\n// code: 'cashIn'\n// },\n// {\n// display: (\n// <>\n// out\n// \n// ),\n// code: 'cashOut'\n// },\n// {\n// display: (\n// <>\n// \n// \n// \n// \n// \n// \n// \n// \n// \n// ),\n// code: 'both'\n// }\n// ]\n\n// const Direction = () => {\n// const classes = useStyles()\n// const { errors } = useFormikContext()\n\n// const titleClass = {\n// [classes.error]: errors.direction\n// }\n\n// return (\n// <>\n// \n//

\n// In which type of transactions will it trigger?\n//

\n//
\n// \n// \n// )\n// }\n\n// const txDirection = {\n// schema: directionSchema,\n// options: directionOptions,\n// Component: Direction,\n// initialValues: { direction: '' }\n// }\n\n// TYPE\nconst typeSchema = Yup.object().shape({\n triggerType,\n threshold\n})\n\nconst typeOptions = [\n { display: 'Transaction amount', code: 'txAmount' },\n { display: 'Transaction volume', code: 'txVolume' },\n { display: 'Transaction velocity', code: 'txVelocity' },\n { display: 'Consecutive days', code: 'consecutiveDays' }\n]\n\nconst Type = () => {\n const classes = useStyles()\n const { errors, touched, values } = useFormikContext()\n\n const typeClass = {\n [classes.error]: errors.triggerType && touched.triggerType\n }\n\n const containsType = R.contains(values?.triggerType)\n const isThresholdEnabled = containsType([\n 'txAmount',\n 'txVolume',\n 'txVelocity'\n ])\n\n const isThresholdDaysEnabled = containsType([\n 'txVolume',\n 'txVelocity',\n 'consecutiveDays'\n ])\n\n return (\n <>\n \n

Choose trigger type

\n
\n \n\n
\n {isThresholdEnabled && (\n \n )}\n {isThresholdDaysEnabled && (\n \n )}\n
\n \n )\n}\n\nconst type = {\n schema: typeSchema,\n options: typeOptions,\n Component: Type,\n initialValues: { triggerType: '', threshold: '' }\n}\n\nconst requirementSchema = Yup.object().shape({\n requirement\n})\n\nconst requirementOptions = [\n { display: 'SMS verification', code: 'sms' },\n { display: 'ID card image', code: 'idCardPhoto' },\n { display: 'ID data', code: 'idCardData' },\n { display: 'Customer camera', code: 'facephoto' },\n { display: 'Sanctions', code: 'sanctions' },\n { display: 'US SSN', code: 'usSsn' },\n // { display: 'Super user', code: 'superuser' },\n { display: 'Suspend', code: 'suspend' },\n { display: 'Block', code: 'block' }\n]\n\nconst Requirement = () => {\n const classes = useStyles()\n const { errors, values } = useFormikContext()\n\n const titleClass = {\n [classes.error]: errors.requirement\n }\n\n const isSuspend = values?.requirement?.requirement === 'suspend'\n\n return (\n <>\n \n

Choose a requirement

\n
\n \n\n {isSuspend && (\n \n )}\n \n )\n}\n\nconst requirements = {\n schema: requirementSchema,\n options: requirementOptions,\n Component: Requirement,\n initialValues: { requirement: '' }\n}\n\nconst getView = (data, code, compare) => it => {\n if (!data) return ''\n\n return R.compose(R.prop(code), R.find(R.propEq(compare ?? 'code', it)))(data)\n}\n\n// const DirectionDisplay = ({ code }) => {\n// const classes = useStyles()\n// const displayName = getView(directionOptions, 'display')(code)\n// const showCashIn = code === 'cashIn' || code === 'both'\n// const showCashOut = code === 'cashOut' || code === 'both'\n\n// return (\n//
\n// {showCashOut && }\n// {showCashIn && }\n// {displayName}\n//
\n// )\n// }\n\nconst RequirementInput = () => {\n const { values } = useFormikContext()\n const classes = useStyles()\n\n const requirement = values?.requirement?.requirement\n const isSuspend = requirement === 'suspend'\n\n const display = getView(requirementOptions, 'display')(requirement)\n\n return (\n \n {`${display} ${isSuspend ? 'for' : ''}`}\n {isSuspend && (\n \n )}\n {isSuspend && 'days'}\n \n )\n}\n\nconst RequirementView = ({ requirement, suspensionDays }) => {\n const classes = useStyles()\n const display = getView(requirementOptions, 'display')(requirement)\n const isSuspend = requirement === 'suspend'\n\n return (\n \n {`${display} ${isSuspend ? 'for' : ''}`}\n {isSuspend && (\n \n {suspensionDays}\n \n )}\n {isSuspend && 'days'}\n \n )\n}\n\nconst DisplayThreshold = ({ config, currency, isEdit }) => {\n const classes = useStyles()\n\n const inputClasses = {\n [classes.input]: true,\n [classes.limitedInput]: config?.triggerType === 'txVelocity',\n [classes.daysInput]: config?.triggerType === 'consecutiveDays'\n }\n\n const threshold = config?.threshold?.threshold\n const thresholdDays = config?.threshold?.thresholdDays\n\n const Threshold = isEdit ? (\n \n ) : (\n {threshold}\n )\n const ThresholdDays = isEdit ? (\n \n ) : (\n {thresholdDays}\n )\n\n switch (config?.triggerType) {\n case 'txAmount':\n return (\n \n {Threshold}\n \n {currency}\n \n \n )\n case 'txVolume':\n return (\n \n {Threshold}\n \n {currency}\n \n \n in\n \n {ThresholdDays}\n \n days\n \n \n )\n case 'txVelocity':\n return (\n \n {Threshold}\n \n transactions in\n \n {ThresholdDays}\n \n days\n \n \n )\n case 'consecutiveDays':\n return (\n \n {ThresholdDays}\n \n days\n \n \n )\n default:\n return ''\n }\n}\n\nconst ThresholdInput = memo(({ currency }) => {\n const { values } = useFormikContext()\n\n return \n})\n\nconst ThresholdView = ({ config, currency }) => {\n return \n}\n\nconst getElements = (currency, classes) => [\n {\n name: 'triggerType',\n size: 'sm',\n width: 230,\n input: ({ field: { value: name } }) => (\n <>{getView(typeOptions, 'display')(name)}\n ),\n view: getView(typeOptions, 'display'),\n inputProps: {\n options: typeOptions,\n valueProp: 'code',\n getLabel: R.path(['display']),\n optionsLimit: null\n }\n },\n {\n name: 'requirement',\n size: 'sm',\n width: 230,\n bypassField: true,\n input: RequirementInput,\n view: it => \n },\n {\n name: 'threshold',\n size: 'sm',\n width: 284,\n textAlign: 'right',\n input: () => ,\n view: (it, config) => \n }\n // {\n // name: 'direction',\n // size: 'sm',\n // width: 282,\n // view: it => ,\n // input: RadioGroup,\n // inputProps: {\n // labelClassName: classes.tableRadioLabel,\n // className: classes.tableRadioGroup,\n // options: directionOptions2\n // }\n // }\n]\n\nconst triggerOrder = R.map(R.prop('code'))(typeOptions)\nconst sortBy = [\n R.comparator(\n (a, b) =>\n triggerOrder.indexOf(a.triggerType) < triggerOrder.indexOf(b.triggerType)\n )\n]\n\nconst fromServer = triggers =>\n R.map(\n ({ requirement, suspensionDays, threshold, thresholdDays, ...rest }) => ({\n requirement: {\n requirement,\n suspensionDays\n },\n threshold: {\n threshold,\n thresholdDays\n },\n ...rest\n })\n )(triggers)\n\nconst toServer = triggers =>\n R.map(({ requirement, threshold, ...rest }) => ({\n requirement: requirement.requirement,\n suspensionDays: requirement.suspensionDays,\n threshold: threshold.threshold,\n thresholdDays: threshold.thresholdDays,\n ...rest\n }))(triggers)\n\nexport {\n Schema,\n getElements,\n // txDirection,\n type,\n requirements,\n sortBy,\n fromServer,\n toServer\n}\n","import { makeStyles } from '@material-ui/core'\nimport { Form, Formik, useFormikContext } from 'formik'\nimport * as R from 'ramda'\nimport React, { useState, Fragment, useEffect } from 'react'\n\nimport ErrorMessage from 'src/components/ErrorMessage'\nimport Modal from 'src/components/Modal'\nimport Stepper from 'src/components/Stepper'\nimport { Button } from 'src/components/buttons'\nimport { H5, Info3 } from 'src/components/typography'\nimport { comet } from 'src/styling/variables'\n\nimport { type, requirements } from './helper'\n\nconst LAST_STEP = 2\n\nconst styles = {\n stepper: {\n margin: [[16, 0, 14, 0]]\n },\n submit: {\n display: 'flex',\n flexDirection: 'row',\n margin: [['auto', 0, 24]]\n },\n button: {\n marginLeft: 'auto'\n },\n form: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n infoTitle: {\n margin: [[18, 0, 20, 0]]\n },\n infoCurrentText: {\n color: comet\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nconst getStep = step => {\n switch (step) {\n // case 1:\n // return txDirection\n case 1:\n return type\n case 2:\n return requirements\n default:\n return Fragment\n }\n}\n\nconst getText = (step, config, currency) => {\n switch (step) {\n // case 1:\n // return `In ${getDirectionText(config)} transactions`\n case 1:\n return `If the user ${getTypeText(config, currency)}`\n case 2:\n return `the user will be ${getRequirementText(config)}.`\n default:\n return ''\n }\n}\n\nconst orUnderline = value => {\n return R.isEmpty(value) || R.isNil(value) ? '⎼⎼⎼⎼⎼ ' : value\n}\n\n// const getDirectionText = config => {\n// switch (config.direction) {\n// case 'both':\n// return 'both cash-in and cash-out'\n// case 'cashIn':\n// return 'cash-in'\n// case 'cashOut':\n// return 'cash-out'\n// default:\n// return orUnderline(null)\n// }\n// }\n\nconst getTypeText = (config, currency) => {\n switch (config.triggerType) {\n case 'txAmount':\n return `makes a single transaction over ${orUnderline(\n config.threshold.threshold\n )} ${currency}`\n case 'txVolume':\n return `makes transactions over ${orUnderline(\n config.threshold.threshold\n )} ${currency} in ${orUnderline(config.threshold.thresholdDays)} days`\n case 'txVelocity':\n return `makes ${orUnderline(\n config.threshold.threshold\n )} transactions in ${orUnderline(config.threshold.thresholdDays)} days`\n case 'consecutiveDays':\n return `at least one transaction every day for ${orUnderline(\n config.threshold.thresholdDays\n )} days`\n default:\n return ''\n }\n}\n\nconst getRequirementText = config => {\n switch (config.requirement?.requirement) {\n case 'sms':\n return 'asked to enter code provided through SMS verification'\n case 'idCardPhoto':\n return 'asked to scan a ID with photo'\n case 'idCardData':\n return 'asked to scan a ID'\n case 'facephoto':\n return 'asked to have a photo taken'\n case 'usSsn':\n return 'asked to input his social security number'\n case 'sanctions':\n return 'matched against the OFAC sanctions list'\n case 'superuser':\n return ''\n case 'suspend':\n return `suspended for ${orUnderline(\n config.requirement.suspensionDays\n )} days`\n case 'block':\n return 'blocked'\n default:\n return orUnderline(null)\n }\n}\n\nconst InfoPanel = ({ step, config = {}, liveValues = {}, currency }) => {\n const classes = useStyles()\n\n const oldText = R.range(1, step)\n .map(it => getText(it, config, currency))\n .join(', ')\n const newText = getText(step, liveValues, currency)\n const isLastStep = step === LAST_STEP\n\n return (\n <>\n
Trigger overview so far
\n \n {oldText}\n {step !== 1 && ', '}\n {newText}\n {!isLastStep && '...'}\n \n \n )\n}\n\nconst GetValues = ({ setValues }) => {\n const { values } = useFormikContext()\n useEffect(() => {\n setValues && values && setValues(values)\n }, [setValues, values])\n\n return null\n}\n\nconst Wizard = ({ onClose, save, error, currency }) => {\n const classes = useStyles()\n\n const [liveValues, setLiveValues] = useState({})\n const [{ step, config }, setState] = useState({\n step: 1\n })\n\n const isLastStep = step === LAST_STEP\n const stepOptions = getStep(step)\n\n const onContinue = async it => {\n const newConfig = R.merge(config, stepOptions.schema.cast(it))\n\n if (isLastStep) {\n return save(newConfig)\n }\n\n setState({\n step: step + 1,\n config: newConfig\n })\n }\n\n return (\n <>\n \n }\n infoPanelHeight={172}\n open={true}>\n \n \n
\n \n \n
\n {error && Failed to save}\n \n
\n \n \n \n \n )\n}\n\nexport default Wizard\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles, Box } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\nimport { v4 } from 'uuid'\n\nimport Tooltip from 'src/components/Tooltip'\nimport { Link, Button } from 'src/components/buttons'\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport { Switch } from 'src/components/inputs'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport { P, Label2, H2 } from 'src/components/typography'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nimport styles from './Triggers.styles'\nimport Wizard from './Wizard'\nimport { Schema, getElements, sortBy, fromServer, toServer } from './helper'\n\nconst useStyles = makeStyles(styles)\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n config\n }\n`\n\nconst Triggers = () => {\n const classes = useStyles()\n const [wizard, setWizard] = useState(false)\n\n const { data, loading } = useQuery(GET_INFO)\n const triggers = fromServer(data?.config?.triggers ?? [])\n\n const complianceConfig =\n data?.config && fromNamespace('compliance')(data.config)\n const rejectAddressReuse = complianceConfig?.rejectAddressReuse ?? false\n\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const add = rawConfig => {\n const toSave = R.concat([{ id: v4(), direction: 'both', ...rawConfig }])(\n triggers\n )\n return saveConfig({ variables: { config: { triggers: toServer(toSave) } } })\n }\n\n const addressReuseSave = rawConfig => {\n const config = toNamespace('compliance')(rawConfig)\n return saveConfig({ variables: { config } })\n }\n\n const save = config => {\n return saveConfig({\n variables: { config: { triggers: toServer(config.triggers) } }\n })\n }\n\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n return (\n <>\n \n \n \n

Reject reused addresses

\n {\n addressReuseSave({ rejectAddressReuse: event.target.checked })\n }}\n value={rejectAddressReuse}\n />\n \n {rejectAddressReuse ? 'On' : 'Off'}\n \n \n

\n This option requires a user to scan a different cryptocurrency\n address if they attempt to scan one that had been previously\n used for a transaction in your network\n

\n
\n
\n \n
\n \n {!loading && !R.isEmpty(triggers) && (\n setWizard(true)}>\n + Add new trigger\n \n )}\n \n \n {wizard && (\n setWizard(null)}\n />\n )}\n {!loading && R.isEmpty(triggers) && (\n \n

\n It seems there are no active compliance triggers on your network\n

\n \n
\n )}\n \n )\n}\n\nexport default Triggers\n","export default {\n switchLabel: {\n margin: 6,\n width: 24\n },\n tableRadioGroup: {\n flexDirection: 'row',\n justifyContent: 'space-between'\n },\n tableRadioLabel: {\n marginRight: 0\n },\n tableWidth: {\n width: 918\n }\n}\n","import Triggers from './Triggers'\n\nexport default Triggers\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport { NamespacedTable as EditableTable } from 'src/components/editableTable'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schemas from 'src/pages/Services/schemas'\nimport { fromNamespace, toNamespace } from 'src/utils/config'\n\nimport Wizard from './Wizard'\nimport { WalletSchema, getElements } from './helper'\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject, $accounts: JSONObject) {\n saveConfig(config: $config)\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst SAVE_ACCOUNT = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst GET_INFO = gql`\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst Wallet = ({ name: SCREEN_KEY }) => {\n const [editingSchema, setEditingSchema] = useState(null)\n const [onChangeFunction, setOnChangeFunction] = useState(null)\n const [wizard, setWizard] = useState(false)\n const { data } = useQuery(GET_INFO)\n\n const [saveConfig, { error }] = useMutation(SAVE_CONFIG, {\n onCompleted: () => setWizard(false),\n refetchQueries: () => ['getData']\n })\n\n const [saveAccount] = useMutation(SAVE_ACCOUNT, {\n onCompleted: () => setEditingSchema(null),\n refetchQueries: () => ['getData']\n })\n\n const save = (rawConfig, accounts) => {\n const config = toNamespace(SCREEN_KEY)(rawConfig)\n return saveConfig({ variables: { config, accounts } })\n }\n\n const config = data?.config && fromNamespace(SCREEN_KEY)(data.config)\n const accountsConfig = data?.accountsConfig\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n const accounts = data?.accounts ?? []\n\n const onChange = (previous, current, setValue) => {\n if (!current) return setValue(current)\n\n if (!accounts[current] && schemas[current]) {\n setEditingSchema(schemas[current])\n setOnChangeFunction(() => () => setValue(current))\n return\n }\n\n setValue(current)\n }\n\n const shouldOverrideEdit = it => {\n const namespaced = fromNamespace(it)(config)\n return !WalletSchema.isValidSync(namespaced)\n }\n\n const wizardSave = it =>\n saveAccount({\n variables: { accounts: { [editingSchema.code]: it } }\n }).then(it => {\n onChangeFunction()\n setOnChangeFunction(null)\n return it\n })\n\n return (\n <>\n \n !WalletSchema.isValidSync(it)}\n enableEdit\n shouldOverrideEdit={shouldOverrideEdit}\n editOverride={setWizard}\n editWidth={174}\n save={save}\n validationSchema={WalletSchema}\n elements={getElements(cryptoCurrencies, accountsConfig, onChange)}\n />\n {wizard && (\n setWizard(false)}\n save={save}\n error={error?.message}\n cryptoCurrencies={cryptoCurrencies}\n userAccounts={data?.config?.accounts}\n accounts={accounts}\n accountsConfig={accountsConfig}\n />\n )}\n {editingSchema && (\n setEditingSchema(null)}\n open={true}>\n \n \n )}\n \n )\n}\n\nexport default Wallet\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport styles from 'src/pages/AddMachine/styles'\nimport { mainFields, defaults, schema } from 'src/pages/Commissions/helper'\nimport { fromNamespace, toNamespace, namespaces } from 'src/utils/config'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_DATA = gql`\n query getData {\n config\n }\n`\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nfunction Commissions({ isActive, doContinue }) {\n const classes = useStyles()\n const { data } = useQuery(GET_DATA)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: doContinue\n })\n\n const save = it => {\n const config = toNamespace('commissions')(it.commissions[0])\n return saveConfig({ variables: { config } })\n }\n\n const currency = R.path(['fiatCurrency'])(\n fromNamespace(namespaces.LOCALE)(data?.config)\n )\n\n return (\n
\n \n
\n \n
\n
\n )\n}\n\nexport default Commissions\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React from 'react'\n\nimport { Table as EditableTable } from 'src/components/editableTable'\nimport Section from 'src/components/layout/Section'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport styles from 'src/pages/AddMachine/styles'\nimport {\n mainFields,\n localeDefaults as defaults,\n LocaleSchema as schema\n} from 'src/pages/Locales/helper'\nimport { toNamespace } from 'src/utils/config'\n\nimport { getConfiguredCoins } from '../helper'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_DATA = gql`\n query getData {\n config\n accounts\n currencies {\n code\n display\n }\n countries {\n code\n display\n }\n cryptoCurrencies {\n code\n display\n }\n languages {\n code\n display\n }\n machines {\n name\n deviceId\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject) {\n saveConfig(config: $config)\n }\n`\n\nfunction Locales({ isActive, doContinue }) {\n const classes = useStyles()\n const { data } = useQuery(GET_DATA)\n\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: doContinue\n })\n\n const save = it => {\n const config = toNamespace('locale')(it.locale[0])\n return saveConfig({ variables: { config } })\n }\n\n const cryptoCurrencies = getConfiguredCoins(\n data?.config || {},\n data?.cryptoCurrencies || []\n )\n\n const onChangeCoin = (prev, curr, setValue) => setValue(curr)\n\n return (\n
\n \n
\n \n
\n
\n )\n}\n\nexport default Locales\n","import { Box, makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Label1 } from 'src/components/typography'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nconst useStyles = makeStyles({\n message: ({ width }) => ({\n width,\n marginTop: 4,\n marginLeft: 16\n })\n})\n\nconst InfoMessage = ({ children, width = 330, className }) => {\n const classes = useStyles({ width })\n\n return (\n \n \n {children}\n \n )\n}\n\nexport default InfoMessage\n","import { errorColor, spacer, primaryColor } from 'src/styling/variables'\n\nconst LABEL_WIDTH = 150\n\nexport default {\n radioGroup: {\n flexDirection: 'row',\n width: 600\n },\n radioLabel: {\n width: LABEL_WIDTH,\n height: 48\n },\n mdForm: {\n width: 385\n },\n infoMessage: {\n display: 'flex',\n marginBottom: 20,\n '& > p': {\n width: 330,\n marginTop: 4,\n marginLeft: 16\n }\n },\n actionButton: {\n marginBottom: spacer * 4\n },\n actionButtonLink: {\n textDecoration: 'none',\n color: primaryColor\n },\n error: {\n color: errorColor\n },\n button: {\n marginTop: spacer * 5\n },\n formButton: {\n margin: [[spacer * 3, 0, 0]]\n }\n}\n","import { useMutation, useQuery } from '@apollo/react-hooks'\nimport { makeStyles, Box } from '@material-ui/core'\nimport classnames from 'classnames'\nimport gql from 'graphql-tag'\nimport React, { useState } from 'react'\n\nimport InfoMessage from 'src/components/InfoMessage'\nimport Tooltip from 'src/components/Tooltip'\nimport { Button, SupportLinkButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H1, H4, P } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport twilio from 'src/pages/Services/schemas/twilio'\n\nimport styles from './Wallet/Shared.styles'\n\nconst GET_CONFIG = gql`\n {\n config\n accounts\n }\n`\n\nconst SAVE_ACCOUNTS = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst useStyles = makeStyles({\n ...styles,\n content: {\n width: 820\n },\n radioLabel: {\n ...styles.radioLabel,\n width: 280\n },\n wrapper: {\n width: 1200,\n height: 100,\n margin: [[0, 'auto']]\n },\n title: {\n marginLeft: 8,\n marginBottom: 5\n },\n info: {\n marginTop: 20,\n marginBottom: 20\n }\n})\n\nconst options = [\n {\n code: 'enable',\n display: 'Yes, I will'\n },\n {\n code: 'disable',\n display: 'No, not for now'\n }\n]\n\nfunction Twilio({ doContinue }) {\n const classes = useStyles()\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const { data, refetch } = useQuery(GET_CONFIG)\n const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: doContinue\n })\n\n const accounts = data?.accounts ?? []\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n const clickContinue = () => {\n if (!selected) return setError(true)\n doContinue()\n }\n\n const save = twilio => {\n const accounts = { twilio }\n return saveAccounts({ variables: { accounts } }).then(() => refetch())\n }\n\n const titleClasses = {\n [classes.title]: true,\n [classes.error]: error\n }\n\n return (\n
\n
\n

Twilio (SMS service)

\n \n

\n Will you setup a two way machine or compliance?\n

\n \n

\n Two-way machines allow your customers not only to buy (cash-in)\n but also sell cryptocurrencies (cash-out).\n

\n

\n You’ll need an SMS service for cash-out transactions and for any\n compliance triggers\n

\n
\n
\n\n \n\n \n To set up Twilio please read the instructions from our support portal.\n \n \n\n {selected === 'enable' && (\n <>\n

Enter credentials

\n \n \n )}\n {selected !== 'enable' && (\n \n )}\n
\n
\n )\n}\n\nexport default Twilio\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { NamespacedTable as EditableTable } from 'src/components/editableTable'\nimport { P, H4 } from 'src/components/typography'\nimport { getElements, WalletSchema } from 'src/pages/Wallet/helper'\nimport { toNamespace, namespaces } from 'src/utils/config'\n\nimport styles from './Shared.styles'\n\nconst useStyles = makeStyles(styles)\nconst GET_INFO = gql`\n query getData {\n config\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_CONFIG = gql`\n mutation Save($config: JSONObject, $accounts: JSONObject) {\n saveConfig(config: $config)\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst AllSet = ({ data: currentData, doContinue }) => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_INFO)\n const [saveConfig] = useMutation(SAVE_CONFIG, {\n onCompleted: doContinue\n })\n\n const [error, setError] = useState(false)\n\n const coin = currentData?.coin\n\n const accountsConfig = data?.accountsConfig\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n\n const save = () => {\n if (!WalletSchema.isValidSync(currentData)) return setError(true)\n\n const withCoin = toNamespace(coin, R.omit('coin', currentData))\n const config = toNamespace(namespaces.WALLETS)(withCoin)\n setError(false)\n return saveConfig({ variables: { config } })\n }\n\n return (\n <>\n

All set

\n

\n These are your wallet settings. You can later edit these and add\n additional coins.\n

\n \n \n \n )\n}\n\nexport default AllSet\n","import { useMutation, useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport React, { useState } from 'react'\n\nimport { SupportLinkButton, Button } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { P, H4 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\n\nimport styles from './Shared.styles'\n\nconst useStyles = makeStyles({\n ...styles,\n radioGroup: styles.radioGroup,\n radioLabel: {\n ...styles.radioLabel,\n width: 200\n }\n})\n\nconst GET_CONFIG = gql`\n {\n accounts\n }\n`\nconst SAVE_ACCOUNTS = gql`\n mutation SaveAccountsBC($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst options = [\n {\n code: 'enable',\n display: 'I will enable cash-out'\n },\n {\n code: 'disable',\n display: \"I won't enable cash-out\"\n }\n]\n\nconst Blockcypher = ({ addData }) => {\n const classes = useStyles()\n\n const { data } = useQuery(GET_CONFIG)\n const [saveConfig] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: () => addData({ zeroConf: 'blockcypher' })\n })\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n const save = blockcypher => {\n const accounts = { blockcypher }\n return saveConfig({ variables: { accounts } })\n }\n\n return (\n <>\n

Blockcypher

\n

\n If you are enabling cash-out services, create a Blockcypher account.\n

\n \n \n
\n {selected === 'disable' && (\n addData({ zeroConf: 'all-zero-conf' })}\n className={classes.button}>\n Continue\n \n )}\n {selected === 'enable' && (\n \n )}\n
\n \n )\n}\n\nexport default Blockcypher\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport { Formik, Form, Field } from 'formik'\nimport gql from 'graphql-tag'\nimport React, { useState } from 'react'\nimport * as Yup from 'yup'\n\nimport PromptWhenDirty from 'src/components/PromptWhenDirty'\nimport { Button } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs/formik'\nimport { H4 } from 'src/components/typography'\n\nimport styles from './Shared.styles'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst schema = Yup.object().shape({\n coin: Yup.string().required()\n})\n\nconst ChooseCoin = ({ addData }) => {\n const classes = useStyles()\n const [error, setError] = useState(false)\n\n const { data } = useQuery(GET_CONFIG)\n const cryptoCurrencies = data?.cryptoCurrencies ?? []\n\n const onSubmit = it => {\n if (!schema.isValidSync(it)) return setError(true)\n\n if (it.coin !== 'BTC') {\n return addData({ coin: it.coin, zeroConf: 'all-zero-conf' })\n }\n\n addData(it)\n }\n\n return (\n <>\n

\n Choose your first cryptocurrency\n

\n\n \n
setError(false)}>\n \n \n {\n \n }\n \n \n \n )\n}\n\nexport default ChooseCoin\n","import * as R from 'ramda'\n\nimport schema from 'src/pages/Services/schemas'\nconst contains = crypto => R.compose(R.contains(crypto), R.prop('cryptos'))\nconst sameClass = type => R.propEq('class', type)\nconst filterConfig = (crypto, type) =>\n R.filter(it => sameClass(type)(it) && contains(crypto)(it))\nexport const getItems = (accountsConfig, accounts, type, crypto) => {\n const fConfig = filterConfig(crypto, type)(accountsConfig)\n const find = code => accounts && accounts[code]\n\n const [filled, unfilled] = R.partition(({ code }) => {\n const account = find(code)\n if (!schema[code]) return true\n\n const { validationSchema } = schema[code]\n return validationSchema.isValidSync(account)\n })(fConfig)\n\n return { filled, unfilled }\n}\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button, SupportLinkButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H4, Info3 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nimport styles from './Shared.styles'\nimport { getItems } from './getItems'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_ACCOUNTS = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst isConfigurable = it => R.contains(it)(['kraken', 'itbit', 'bitstamp'])\n\nconst ChooseExchange = ({ data: currentData, addData }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_CONFIG)\n const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: () => submit()\n })\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n const accountsConfig = data?.accountsConfig ?? []\n\n const coin = currentData.coin\n const exchanges = getItems(accountsConfig, accounts, 'exchange', coin)\n\n const submit = () => {\n if (!selected) return setError(true)\n addData({ exchange: selected })\n }\n\n const saveExchange = name => exchange => {\n const accounts = { [name]: exchange }\n return saveAccounts({ variables: { accounts } })\n }\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n const supportArticles = {\n kraken:\n 'https://support.lamassu.is/hc/en-us/articles/115001206891-Kraken-trading',\n itbit:\n 'https://support.lamassu.is/hc/en-us/articles/360026195032-itBit-trading',\n bitstamp:\n 'https://support.lamassu.is/hc/en-us/articles/115001206911-Bitstamp-trading'\n }\n\n return (\n
\n

Choose your exchange

\n \n {!isConfigurable(selected) && (\n \n )}\n {isConfigurable(selected) && (\n <>\n
\n \n \n Make sure you set up {schema[selected].name} to enter the\n necessary information below. Please follow the instructions on our\n support page if you haven’t.\n \n
\n \n\n

Enter exchange information

\n \n \n )}\n
\n )\n}\n\nexport default ChooseExchange\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H4 } from 'src/components/typography'\n\nimport styles from './Shared.styles'\nimport { getItems } from './getItems'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n accountsConfig {\n code\n display\n class\n cryptos\n }\n }\n`\n\nconst ChooseTicker = ({ data: currentData, addData }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_CONFIG)\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n const accountsConfig = data?.accountsConfig ?? []\n\n const coin = currentData.coin\n const tickers = getItems(accountsConfig, accounts, 'ticker', coin)\n\n const submit = () => {\n if (!selected) return setError(true)\n addData({ ticker: selected })\n }\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n return (\n
\n

Choose your ticker

\n \n \n
\n )\n}\n\nexport default ChooseTicker\n","import * as Yup from 'yup'\n\nimport {\n TextInput,\n SecretInput,\n Autocomplete\n} from 'src/components/inputs/formik'\n\nconst singleBitgo = code => ({\n code: 'bitgo',\n name: 'BitGo',\n title: 'BitGo (Wallet)',\n elements: [\n {\n code: 'token',\n display: 'API Token',\n component: TextInput,\n face: true,\n long: true\n },\n {\n code: 'environment',\n display: 'Environment',\n component: Autocomplete,\n inputProps: {\n options: ['prod', 'test']\n },\n face: true\n },\n {\n code: `${code}WalletId`,\n display: `${code} Wallet ID`,\n component: TextInput\n },\n {\n code: `${code}WalletPassphrase`,\n display: `${code} Wallet Passphrase`,\n component: SecretInput\n }\n ],\n validationSchema: Yup.object().shape({\n token: Yup.string()\n .max(100, 'Too long')\n .required(),\n environment: Yup.string()\n .matches(/(prod|test)/)\n .required(),\n [`${code}WalletId`]: Yup.string()\n .max(100, 'Too long')\n .required(),\n [`${code}WalletPassphrase`]: Yup.string()\n .max(100, 'Too long')\n .required()\n })\n})\n\nexport default singleBitgo\n","import { useQuery, useMutation } from '@apollo/react-hooks'\nimport { makeStyles } from '@material-ui/core'\nimport gql from 'graphql-tag'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport { Button, SupportLinkButton } from 'src/components/buttons'\nimport { RadioGroup } from 'src/components/inputs'\nimport { H4, Info3 } from 'src/components/typography'\nimport FormRenderer from 'src/pages/Services/FormRenderer'\nimport schema from 'src/pages/Services/schemas'\nimport bitgo from 'src/pages/Services/schemas/singlebitgo'\nimport { ReactComponent as WarningIcon } from 'src/styling/icons/warning-icon/comet.svg'\n\nimport styles from './Shared.styles'\nimport { getItems } from './getItems'\n\nconst useStyles = makeStyles(styles)\n\nconst GET_CONFIG = gql`\n {\n accounts\n accountsConfig {\n code\n display\n class\n cryptos\n }\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst SAVE_ACCOUNTS = gql`\n mutation Save($accounts: JSONObject) {\n saveAccounts(accounts: $accounts)\n }\n`\n\nconst isConfigurable = it => R.contains(it)(['infura', 'bitgo'])\n\nconst isLocalHosted = it =>\n R.contains(it)([\n 'bitcoind',\n 'geth',\n 'litecoind',\n 'dashd',\n 'zcashd',\n 'bitcoincashd'\n ])\n\nconst ChooseWallet = ({ data: currentData, addData }) => {\n const classes = useStyles()\n const { data } = useQuery(GET_CONFIG)\n const [saveAccounts] = useMutation(SAVE_ACCOUNTS, {\n onCompleted: () => submit()\n })\n\n const [selected, setSelected] = useState(null)\n const [error, setError] = useState(false)\n\n const accounts = data?.accounts ?? []\n const accountsConfig = data?.accountsConfig ?? []\n\n const coin = currentData.coin\n const wallets = getItems(accountsConfig, accounts, 'wallet', coin)\n\n const saveWallet = name => wallet => {\n const accounts = { [name]: wallet }\n return saveAccounts({ variables: { accounts } })\n }\n\n const submit = () => {\n if (!selected) return setError(true)\n addData({ wallet: selected })\n }\n\n const onSelect = e => {\n setSelected(e.target.value)\n setError(false)\n }\n\n return (\n
\n

Choose your wallet

\n \n {isLocalHosted(selected) && (\n <>\n
\n \n \n To set up {selected} please read the node wallet instructions from\n our support portal.\n \n
\n \n \n )}\n {!isConfigurable(selected) && (\n \n )}\n {selected === 'bitgo' && (\n <>\n
\n \n \n Make sure you set up a BitGo wallet to enter the necessary\n information below. Please follow the instructions on our support\n page if you haven’t.\n \n
\n \n

Enter wallet information

\n \n \n )}\n {selected === 'infura' && (\n <>\n

Enter wallet information

\n \n \n )}\n
\n )\n}\n\nexport default ChooseWallet\n","import { makeStyles } from '@material-ui/core'\nimport * as R from 'ramda'\nimport React, { useState } from 'react'\n\nimport Sidebar, { Stepper } from 'src/components/layout/Sidebar'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport styles from 'src/pages/AddMachine/styles'\n\nimport AllSet from './AllSet'\nimport Blockcypher from './Blockcypher'\nimport ChooseCoin from './ChooseCoin'\nimport ChooseExchange from './ChooseExchange'\nimport ChooseTicker from './ChooseTicker'\nimport ChooseWallet from './ChooseWallet'\n\nconst useStyles = makeStyles(styles)\n\nconst steps = [\n {\n label: 'Choose cryptocurrency',\n component: ChooseCoin\n },\n {\n label: 'Choose wallet',\n component: ChooseWallet\n },\n {\n label: 'Choose ticker',\n component: ChooseTicker\n },\n {\n label: 'Exchange',\n component: ChooseExchange\n },\n {\n label: 'Blockcypher',\n component: Blockcypher\n },\n {\n label: 'All set',\n component: AllSet\n }\n]\n\nconst Wallet = ({ doContinue }) => {\n const [step, setStep] = useState(0)\n const [data, setData] = useState({})\n\n const classes = useStyles()\n const mySteps = data?.coin === 'BTC' ? steps : R.remove(4, 1, steps)\n\n const Component = mySteps[step].component\n\n const addData = it => {\n setData(R.merge(data, it))\n setStep(step + 1)\n }\n\n return (\n
\n
\n \n
\n
\n \n {mySteps.map((it, idx) => (\n \n ))}\n \n
\n \n
\n
\n
\n )\n}\n\nexport default Wallet\n","import { makeStyles } from '@material-ui/core'\nimport React from 'react'\n\nimport { Button } from 'src/components/buttons'\nimport { H1, P } from 'src/components/typography'\nimport { comet } from 'src/styling/variables'\n\nconst styles = {\n welcome: {\n textAlign: 'center',\n paddingTop: 256\n },\n title: {\n lineHeight: 1,\n fontSize: 48\n },\n getStarted: {\n fontSize: 24,\n fontWeight: 500,\n marginBottom: 54,\n color: comet\n }\n}\n\nconst useStyles = makeStyles(styles)\n\nfunction Welcome({ doContinue }) {\n const classes = useStyles()\n\n return (\n
\n

Welcome to the Lamassu Admin

\n

\n To get you started, we’ve put together a wizard that will\n
\n help set up what you need before pairing your machines.\n

\n \n
\n )\n}\n\nexport default Welcome\n","import * as R from 'ramda'\nimport React from 'react'\n\nimport { schema as CommissionsSchema } from 'src/pages/Commissions/helper'\nimport { LocaleSchema } from 'src/pages/Locales/helper'\nimport { WalletSchema } from 'src/pages/Wallet/helper'\nimport { fromNamespace, namespaces } from 'src/utils/config'\n\nimport Commissions from './components/Commissions'\nimport Locale from './components/Locales'\n// import Notifications from './components/Notifications'\n// import WizardOperatorInfo from './components/OperatorInfo'\nimport Twilio from './components/Twilio'\nimport Wallet from './components/Wallet/Wallet'\nimport Welcome from './components/Welcome'\n\nconst getConfiguredCoins = (config, crypto) => {\n const wallet = fromNamespace(namespaces.WALLETS, config)\n return R.filter(it =>\n WalletSchema.isValidSync(fromNamespace(it.code, wallet))\n )(crypto)\n}\n\nconst hasValidWallet = (config, crypto) => {\n const wallet = fromNamespace(namespaces.WALLETS, config)\n const coins = R.map(it => fromNamespace(it.code, wallet))(crypto)\n\n const hasValidConfig = R.compose(\n R.any(R.identity),\n R.map(it => WalletSchema.isValidSync(it))\n )(coins)\n\n return hasValidConfig\n}\n\nconst hasValidLocale = config => {\n const locale = fromNamespace(namespaces.LOCALE, config)\n return LocaleSchema.isValidSync(locale)\n}\n\nconst hasValidCommissions = config => {\n const commission = fromNamespace(namespaces.COMMISSIONS, config)\n return CommissionsSchema.isValidSync(commission)\n}\n\nconst getWizardStep = (config, crypto) => {\n if (!config) return 0\n\n const validWallet = hasValidWallet(config, crypto)\n if (!validWallet) return 1\n\n const validLocale = hasValidLocale(config)\n if (!validLocale) return 2\n\n const validCommission = hasValidCommissions(config)\n if (!validCommission) return 3\n\n return 0\n}\n\nconst STEPS = [\n {\n id: 'welcome',\n Component: Welcome\n },\n {\n id: 'wallet',\n Component: Wallet,\n exImage: '/assets/wizard/fullexample.wallet.png',\n subtitle: 'Wallet settings',\n text: `Your wallet settings are the first step for this wizard. \n We'll start by setting up one of cryptocurrencies to get you up and running,\n but you can later set up as many as you want.`\n },\n {\n id: 'locale',\n Component: Locale,\n exImage: '/assets/wizard/fullexample.locale.png',\n subtitle: 'Locales',\n text: `From the Locales page, you can define some important default settings\n of your machines. These values will be the default values of all\n machines you'll later add to your network. Default settings keep you\n from having to enther the same values everytime you add a new machine.\n Once a machine is added, you may override some of these values in the\n overrides section.`\n },\n {\n id: 'twilio',\n Component: Twilio,\n exImage: '/assets/wizard/fullexample.twilio.png',\n subtitle: 'Twilio (SMS service)',\n text: (\n <>\n Twilio is used for SMS operator notifications, phone number collection\n for compliance, and 1-confirmation redemptions on cash-out transactions.\n
\n You'll need to configure Twilio if you're offering cash-out or any\n compliance options\n \n )\n },\n {\n id: 'commissions',\n Component: Commissions,\n exImage: '/assets/wizard/fullexample.commissions.png',\n subtitle: 'Commissions',\n text: `From the Commissions page, you can define all the commissions of your\n machines. The values set here will be default values of all machines\n you'll later add to your network. Default settings keep you from\n having to enter the same values everytime you add a new machine. Once\n a machine is added, you may override these values per machine and per\n cryptocurrency in the overrides section.`\n }\n // {\n // id: 'notifications',\n // Component: Notifications,\n // exImage: '/assets/wizard/fullexample.notifications.png',\n // subtitle: 'Notifications',\n // text: `Your notification settings will allow customize what notifications you\n // get and where. You can later override all default balance alerts setup\n // here.`\n // },\n // {\n // id: 'operatorInfo',\n // Component: WizardOperatorInfo,\n // exImage: '/assets/wizard/fullexample.operatorinfo.png',\n // subtitle: 'Operator info',\n // text: `Your contact information is important for your customer to be able\n // to contact you in case there’s a problem with one of your machines.\n // In this page, you also be able to set up what you want to share with\n // Coin ATM Radar and add the Terms & Services text that is displayed by your machines.`\n // }\n]\n\nexport { getWizardStep, STEPS, getConfiguredCoins }\n","import { makeStyles, Drawer, Grid } from '@material-ui/core'\nimport classnames from 'classnames'\nimport React, { useState } from 'react'\n\nimport Modal from 'src/components/Modal'\nimport Stepper from 'src/components/Stepper'\nimport { Button, Link } from 'src/components/buttons'\nimport { P, H2, Info2 } from 'src/components/typography'\nimport { spacer } from 'src/styling/variables'\n\nconst useStyles = makeStyles(() => ({\n drawer: {\n borderTop: 'none',\n boxShadow: '0 0 4px 0 rgba(0, 0, 0, 0.08)'\n },\n wrapper: {\n padding: '32px 0',\n flexGrow: 1,\n height: 264\n },\n smallWrapper: {\n height: 84\n },\n title: {\n margin: [[0, spacer * 4, 0, 0]]\n },\n subtitle: {\n marginTop: spacer,\n marginBottom: 6,\n lineHeight: 1.25,\n display: 'inline'\n },\n modal: {\n background: 'none',\n boxShadow: 'none'\n }\n}))\n\nfunction Footer({ currentStep, steps, subtitle, text, exImage, open, start }) {\n const classes = useStyles()\n const [fullExample, setFullExample] = useState(false)\n\n const wrapperClassNames = {\n [classes.wrapper]: true,\n [classes.smallWrapper]: !open\n }\n\n return (\n \n
\n \n \n

Setup Lamassu Admin

\n {subtitle}\n {open &&

{text}

}\n
\n \n \n {steps && currentStep && (\n \n )}\n \n \n \n {open && (\n \n \n {\n setFullExample(true)\n }}>\n See full example\n \n \n \n \n \n \n \n \n )}\n
\n {\n setFullExample(false)\n }}\n open={fullExample}>\n \"\"\n \n \n )\n}\n\nexport default Footer\n","import { useQuery } from '@apollo/react-hooks'\nimport { makeStyles, Dialog, DialogContent } from '@material-ui/core'\nimport classnames from 'classnames'\nimport gql from 'graphql-tag'\nimport React, { useState, useContext } from 'react'\nimport { useHistory } from 'react-router-dom'\n\nimport { AppContext } from 'src/App'\nimport { getWizardStep, STEPS } from 'src/pages/Wizard/helper'\nimport { backgroundColor } from 'src/styling/variables'\n\nimport Footer from './components/Footer'\n\nconst useStyles = makeStyles({\n wrapper: {\n display: 'flex',\n padding: [[16, 0]],\n flexDirection: 'column',\n justifyContent: 'space-between',\n backgroundColor: backgroundColor\n },\n welcomeBackground: {\n background: 'url(/wizard-background.svg) no-repeat center center fixed',\n backgroundColor: backgroundColor,\n backgroundSize: 'cover'\n },\n blurred: {\n filter: 'blur(4px)',\n pointerEvents: 'none'\n }\n})\n\nconst GET_DATA = gql`\n query getData {\n config\n accounts\n cryptoCurrencies {\n code\n display\n }\n }\n`\n\nconst Wizard = ({ fromAuthRegister }) => {\n const classes = useStyles()\n const { data, loading } = useQuery(GET_DATA)\n const history = useHistory()\n const { setWizardTested } = useContext(AppContext)\n\n const [step, setStep] = useState(0)\n const [open, setOpen] = useState(true)\n\n const [footerExp, setFooterExp] = useState(false)\n\n if (loading) {\n return <>\n }\n\n const wizardStep = getWizardStep(data?.config, data?.cryptoCurrencies)\n\n const shouldGoBack =\n history.length && !history.location.state?.fromAuthRegister\n\n if (wizardStep === 0) {\n setWizardTested(true)\n shouldGoBack ? history.goBack() : history.push('/')\n }\n\n const isWelcome = step === 0\n const classNames = {\n [classes.blurred]: footerExp,\n [classes.wrapper]: true,\n [classes.welcomeBackground]: isWelcome\n }\n\n const start = () => {\n setFooterExp(false)\n }\n\n const doContinue = () => {\n if (step >= STEPS.length - 1) {\n setOpen(false)\n history.push('/')\n }\n\n const nextStep = step === 0 && wizardStep ? wizardStep : step + 1\n\n setFooterExp(true)\n setStep(nextStep)\n }\n\n const current = STEPS[step]\n\n return (\n \n \n \n \n {!isWelcome && (\n \n )}\n \n )\n}\n\nexport default Wizard\n","import Wizard from './Wizard'\n\nexport default Wizard\n","import Fade from '@material-ui/core/Fade'\nimport Slide from '@material-ui/core/Slide'\nimport { makeStyles } from '@material-ui/core/styles'\nimport * as R from 'ramda'\nimport React, { useContext } from 'react'\nimport {\n matchPath,\n Route,\n Redirect,\n Switch,\n useHistory,\n useLocation\n} from 'react-router-dom'\n\nimport { AppContext } from 'src/App'\nimport AuthRegister from 'src/pages/AuthRegister'\nimport Blacklist from 'src/pages/Blacklist'\nimport Cashout from 'src/pages/Cashout'\nimport Commissions from 'src/pages/Commissions'\nimport { Customers, CustomerProfile } from 'src/pages/Customers'\nimport Funding from 'src/pages/Funding'\nimport Locales from 'src/pages/Locales'\nimport MachineLogs from 'src/pages/MachineLogs'\nimport CashCassettes from 'src/pages/Maintenance/CashCassettes'\nimport MachineStatus from 'src/pages/Maintenance/MachineStatus'\nimport Notifications from 'src/pages/Notifications/Notifications'\nimport CoinAtmRadar from 'src/pages/OperatorInfo/CoinATMRadar'\nimport ContactInfo from 'src/pages/OperatorInfo/ContactInfo'\nimport ReceiptPrinting from 'src/pages/OperatorInfo/ReceiptPrinting'\nimport TermsConditions from 'src/pages/OperatorInfo/TermsConditions'\nimport ServerLogs from 'src/pages/ServerLogs'\nimport Services from 'src/pages/Services/Services'\n// import TokenManagement from 'src/pages/TokenManagement/TokenManagement'\nimport Transactions from 'src/pages/Transactions/Transactions'\nimport Triggers from 'src/pages/Triggers'\nimport WalletSettings from 'src/pages/Wallet/Wallet'\nimport Wizard from 'src/pages/Wizard'\nimport { namespaces } from 'src/utils/config'\n\nconst useStyles = makeStyles({\n wrapper: {\n flex: 1,\n display: 'flex',\n flexDirection: 'column',\n height: '100%'\n }\n})\n\nconst tree = [\n {\n key: 'transactions',\n label: 'Transactions',\n route: '/transactions',\n component: Transactions\n },\n {\n key: 'maintenance',\n label: 'Maintenance',\n route: '/maintenance',\n get component() {\n return () => \n },\n children: [\n {\n key: 'cash_cassettes',\n label: 'Cash Cassettes',\n route: '/maintenance/cash-cassettes',\n component: CashCassettes\n },\n {\n key: 'funding',\n label: 'Funding',\n route: '/maintenance/funding',\n component: Funding\n },\n {\n key: 'logs',\n label: 'Machine Logs',\n route: '/maintenance/logs',\n component: MachineLogs\n },\n {\n key: 'machine-status',\n label: 'Machine Status',\n route: '/maintenance/machine-status',\n component: MachineStatus\n },\n {\n key: 'server-logs',\n label: 'Server',\n route: '/maintenance/server-logs',\n component: ServerLogs\n }\n ]\n },\n {\n key: 'settings',\n label: 'Settings',\n route: '/settings',\n get component() {\n return () => \n },\n children: [\n {\n key: namespaces.COMMISSIONS,\n label: 'Commissions',\n route: '/settings/commissions',\n component: Commissions\n },\n {\n key: namespaces.LOCALE,\n label: 'Locales',\n route: '/settings/locale',\n component: Locales\n },\n {\n key: namespaces.CASH_OUT,\n label: 'Cash-out',\n route: '/settings/cash-out',\n component: Cashout\n },\n {\n key: namespaces.NOTIFICATIONS,\n label: 'Notifications',\n route: '/settings/notifications',\n component: Notifications\n },\n {\n key: 'services',\n label: '3rd party services',\n route: '/settings/3rd-party-services',\n component: Services\n },\n {\n key: namespaces.WALLETS,\n label: 'Wallet',\n route: '/settings/wallet-settings',\n component: WalletSettings\n },\n {\n key: namespaces.OPERATOR_INFO,\n label: 'Operator Info',\n route: '/settings/operator-info',\n title: 'Operator Information',\n get component() {\n return () => (\n \n )\n },\n children: [\n {\n key: 'contact-info',\n label: 'Contact information',\n route: '/settings/operator-info/contact-info',\n component: ContactInfo\n },\n {\n key: 'receipt-printing',\n label: 'Receipt',\n route: '/settings/operator-info/receipt-printing',\n component: ReceiptPrinting\n },\n {\n key: 'coin-atm-radar',\n label: 'Coin ATM Radar',\n route: '/settings/operator-info/coin-atm-radar',\n component: CoinAtmRadar\n },\n {\n key: 'terms-conditions',\n label: 'Terms & Conditions',\n route: '/settings/operator-info/terms-conditions',\n component: TermsConditions\n }\n ]\n }\n ]\n },\n {\n key: 'compliance',\n label: 'Compliance',\n route: '/compliance',\n get component() {\n return () => \n },\n children: [\n {\n key: 'triggers',\n label: 'Triggers',\n route: '/compliance/triggers',\n component: Triggers\n },\n {\n key: 'customers',\n label: 'Customers',\n route: '/compliance/customers',\n component: Customers\n },\n {\n key: 'blacklist',\n label: 'Blacklist',\n route: '/compliance/blacklist',\n component: Blacklist\n },\n {\n key: 'customer',\n route: '/compliance/customer/:id',\n component: CustomerProfile\n }\n ]\n }\n // {\n // key: 'system',\n // label: 'System',\n // route: '/system',\n // get component() {\n // return () => \n // },\n // children: [\n // {\n // key: 'token-management',\n // label: 'Token Management',\n // route: '/system/token-management',\n // component: TokenManagement\n // }\n // ]\n // }\n]\n\nconst map = R.map(R.when(R.has('children'), R.prop('children')))\nconst mappedRoutes = R.compose(R.flatten, map)(tree)\nconst parentRoutes = R.filter(R.has('children'))(mappedRoutes).concat(\n R.filter(R.has('children'))(tree)\n)\nconst leafRoutes = R.compose(R.flatten, map)(mappedRoutes)\n\nconst flattened = R.concat(leafRoutes, parentRoutes)\n\nconst hasSidebar = route =>\n R.any(r => r.route === route)(\n R.compose(\n R.flatten,\n R.map(R.prop('children')),\n R.filter(R.has('children'))\n )(mappedRoutes)\n )\n\nconst getParent = route =>\n R.find(\n R.propEq(\n 'route',\n R.dropLast(\n 1,\n R.dropLastWhile(x => x !== '/', route)\n )\n )\n )(flattened)\n\nconst Routes = () => {\n const classes = useStyles()\n\n const history = useHistory()\n const location = useLocation()\n\n const { wizardTested } = useContext(AppContext)\n\n const dontTriggerPages = ['/404', '/register', '/wizard']\n\n if (!wizardTested && !R.contains(location.pathname)(dontTriggerPages)) {\n history.push('/wizard')\n }\n\n const Transition = location.state ? Slide : Fade\n\n const transitionProps =\n Transition === Slide\n ? {\n direction:\n R.findIndex(R.propEq('route', location.state.prev))(leafRoutes) >\n R.findIndex(R.propEq('route', location.pathname))(leafRoutes)\n ? 'right'\n : 'left'\n }\n : { timeout: 400 }\n\n return (\n \n \n \n \n \n \n {flattened.map(({ route, component: Page, key }) => (\n \n \n \n
\n }\n />\n \n ))}\n \n \n \n \n \n )\n}\nexport { tree, getParent, hasSidebar, Routes }\n","import { mainWidth } from 'src/styling/variables'\n\nimport fonts from './fonts'\n\nconst fill = '100%'\n\nexport default {\n '@global': {\n ...fonts,\n '#root': {\n width: fill,\n minHeight: fill\n },\n html: {\n height: fill\n },\n body: {\n width: mainWidth,\n display: 'flex',\n minHeight: fill,\n '@media screen and (min-width: 1200px)': {\n width: 'auto'\n }\n },\n [`a::-moz-focus-inner,\n 'input[type=\"submit\"]::-moz-focus-inner,\n input[type=\"button\"]::-moz-focus-inner`]: {\n border: 0\n },\n [`a::-moz-focus-inner,\n input[type=\"submit\"]::-moz-focus-inner,\n input[type=\"button\"]::-moz-focus-inner`]: {\n border: 0\n },\n [`a,\n a:visited,\n a:focus,\n a:active,\n a:hover`]: {\n outline: '0 none'\n },\n 'button::-moz-focus-inner': {\n border: 0\n },\n // forcing styling onto inner container\n '.ReactVirtualized__Grid__innerScrollContainer': {\n overflow: 'inherit !important'\n }\n }\n}\n","export default {\n // /*!\n // * Web Fonts from Fontspring.com\n // *\n // * All OpenType features and all extended glyphs have been removed.\n // * Fully installable fonts can be purchased at http://www.fontspring.com\n // *\n // * The fonts included in this stylesheet are subject to the End User License you purchased\n // * from Fontspring. The fonts are protected under domestic and international trademark and\n // * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or\n // * distributing this font software.\n // *\n // * (c) 2010-2018 Fontspring\n // *\n // *\n // *\n // *\n // * The fonts included are copyrighted by the vendor listed below.\n // *\n // * Vendor: Fontfabric\n // * License URL: https://www.fontspring.com/licenses/fontfabric/webfont\n // *\n // *\n // */\n\n '@font-face': [\n {\n fontFamily: 'Mont',\n src: [\n 'url(\"/fonts/MontHeavy/mont-heavy-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MontHeavy/mont-heavy-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 900,\n fontStyle: 'normal'\n },\n {\n fontFamily: 'Mont',\n src: [\n 'url(\"/fonts/MontHeavy/mont-bold-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MontHeavy/mont-bold-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 700,\n fontStyle: 'normal'\n },\n // /*!\n // * Web Fonts from Fontspring.com\n // *\n // * All OpenType features and all extended glyphs have been removed.\n // * Fully installable fonts can be purchased at http://www.fontspring.com\n // *\n // * The fonts included in this stylesheet are subject to the End User License you purchased\n // * from Fontspring. The fonts are protected under domestic and international trademark and\n // * copyright law. You are prohibited from modifying, reverse engineering, duplicating, or\n // * distributing this font software.\n // *\n // * (c) 2010-2018 Fontspring\n // *\n // *\n // *\n // *\n // * The fonts included are copyrighted by the vendor listed below.\n // *\n // * Vendor: exljbris Font Foundry\n // * License URL: https://www.fontspring.com/licenses/exljbris/webfont\n // *\n // *\n // */\n {\n fontFamily: 'MuseoSans',\n src: [\n 'url(\"/fonts/MuseoSans/MuseoSans_500-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MuseoSans/MuseoSans_500-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 500,\n fontStyle: 'normal'\n },\n {\n fontFamily: 'MuseoSans',\n src: [\n 'url(\"/fonts/MuseoSans/MuseoSans_700-webfont.woff2\") format(\"woff2\")',\n 'url(\"/fonts/MuseoSans/MuseoSans_700-webfont.woff\") format(\"woff\")'\n ],\n fontWeight: 700,\n fontStyle: 'normal'\n },\n\n // // BP-mono Freely distributed at http://backpacker.gr/fonts/5\n {\n fontFamily: 'BPmono',\n src: 'url(\"/fonts/BPmono/BPmono.ttf\") format(\"truetype\")',\n fontWeight: 500,\n fontStyle: 'normal'\n }\n ]\n}\n","import CssBaseline from '@material-ui/core/CssBaseline'\nimport Grid from '@material-ui/core/Grid'\nimport {\n StylesProvider,\n jssPreset,\n MuiThemeProvider,\n makeStyles\n} from '@material-ui/core/styles'\nimport { create } from 'jss'\nimport extendJss from 'jss-plugin-extend'\nimport React, { createContext, useContext, useState } from 'react'\nimport {\n useLocation,\n useHistory,\n BrowserRouter as Router\n} from 'react-router-dom'\n\nimport Sidebar from 'src/components/layout/Sidebar'\nimport TitleSection from 'src/components/layout/TitleSection'\nimport ApolloProvider from 'src/utils/apollo'\n\nimport Header from './components/layout/Header'\nimport { tree, hasSidebar, Routes, getParent } from './routing/routes'\nimport global from './styling/global'\nimport theme from './styling/theme'\nimport { backgroundColor, mainWidth } from './styling/variables'\n\nif (process.env.NODE_ENV !== 'production') {\n const whyDidYouRender = require('@welldone-software/why-did-you-render')\n whyDidYouRender(React)\n}\n\nconst jss = create({\n plugins: [extendJss(), ...jssPreset().plugins]\n})\n\nconst fill = '100%'\nconst flexDirection = 'column'\n\nconst useStyles = makeStyles({\n ...global,\n root: {\n backgroundColor,\n width: fill,\n minHeight: fill,\n display: 'flex',\n flexDirection\n },\n wrapper: {\n width: mainWidth,\n height: fill,\n margin: '0 auto',\n flex: 1,\n display: 'flex',\n flexDirection\n },\n grid: {\n flex: 1,\n height: '100%'\n },\n contentWithSidebar: {\n flex: 1,\n marginLeft: 48,\n paddingTop: 15\n },\n contentWithoutSidebar: {\n width: mainWidth\n }\n})\n\nconst AppContext = createContext()\n\nconst Main = () => {\n const classes = useStyles()\n const location = useLocation()\n const history = useHistory()\n const { wizardTested } = useContext(AppContext)\n\n const route = location.pathname\n\n const sidebar = hasSidebar(route)\n const parent = sidebar ? getParent(route) : {}\n\n const is404 = location.pathname === '/404'\n\n const isSelected = it => location.pathname === it.route\n\n const onClick = it => history.push(it.route)\n\n const contentClassName = sidebar\n ? classes.contentWithSidebar\n : classes.contentWithoutSidebar\n\n return (\n
\n {!is404 && wizardTested &&
}\n
\n {sidebar && !is404 && wizardTested && (\n \n )}\n\n \n {sidebar && !is404 && wizardTested && (\n it.label}\n onClick={onClick}\n />\n )}\n
\n \n
\n
\n
\n
\n )\n}\n\nconst App = () => {\n const [wizardTested, setWizardTested] = useState(false)\n\n return (\n \n \n \n \n \n \n
\n \n \n \n \n \n )\n}\n\nexport default App\nexport { AppContext }\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n)\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href)\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config)\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n )\n })\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config)\n }\n })\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing\n if (installingWorker == null) {\n return\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n )\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration)\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.')\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration)\n }\n }\n }\n }\n }\n })\n .catch(error => {\n console.error('Error during service worker registration:', error)\n })\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type')\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload()\n })\n })\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config)\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n )\n })\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister()\n })\n }\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\n\nimport App from './App'\nimport * as serviceWorker from './serviceWorker'\n\nReactDOM.render(, document.getElementById('root'))\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister()\n"],"sourceRoot":""} \ No newline at end of file