@xyo-network/react-shared 2.77.2 → 2.78.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,984 @@
1
- "use strict";var St=Object.create;var I=Object.defineProperty;var wt=Object.getOwnPropertyDescriptor;var Et=Object.getOwnPropertyNames;var Lt=Object.getPrototypeOf,Rt=Object.prototype.hasOwnProperty;var vt=(e,t)=>{for(var o in t)I(e,o,{get:t[o],enumerable:!0})},Ee=(e,t,o,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Et(t))!Rt.call(e,r)&&r!==o&&I(e,r,{get:()=>t[r],enumerable:!(n=wt(t,r))||n.enumerable});return e};var p=(e,t,o)=>(o=e!=null?St(Lt(e)):{},Ee(t||!e||!e.__esModule?I(o,"default",{value:e,enumerable:!0}):o,e)),Ft=e=>Ee(I({},"__esModule",{value:!0}),e);var mo={};vt(mo,{AddressTableCell:()=>tt,Ampersand:()=>It,BasicHero:()=>Ht,EllipsisTableCell:()=>S,EllipsisTableCellWithRef:()=>ne,EllipsizeBox:()=>M,ErrorBoundary:()=>ee,HashTableCell:()=>Qt,ListItemButtonEx:()=>zt,ListItemButtonExTo:()=>qe,ListModeContext:()=>R,ListModeProvider:()=>io,LoadResult:()=>Ot,NotFound:()=>re,PayloadDataMissing:()=>Vt,Pipe:()=>Xt,ResolvedDivinerContext:()=>ro,ResolvedDivinerProvider:()=>no,ScrollTableOnSm:()=>Yt,SectionSpacingRow:()=>Ke,ThemeTokenAvatar:()=>w,ThemeTokenAvatarGroup:()=>Ut,TokenBar:()=>Kt,TokenData:()=>O,TokenSummary:()=>eo,TypographyEx:()=>to,assertDefinedEx:()=>so,colorfulGradientDarkMode:()=>Be,colorfulGradientLightMode:()=>Ie,createContextEx:()=>L,findNetworkComponent:()=>co,findNetworkComponentIndex:()=>lo,getActualPaddingX:()=>po,networkComponents:()=>Se,parseMeausureString:()=>Pe,parsePadding:()=>ht,useContextEx:()=>Ce,useDataState:()=>Bt,useGetTokenData:()=>jt,useGradientStyles:()=>y,useIsMobile:()=>B,useIsSmall:()=>Dt,useListMode:()=>ao,useMediaQuery:()=>T.useMediaQuery,usePayloadHash:()=>Nt,usePayloadHashes:()=>Mt,usePromise:()=>Ne.usePromise,useProvided:()=>oo,useShareForwardedRef:()=>K});module.exports=Ft(mo);var Le=require("@mui/material"),Re=require("react/jsx-runtime"),It=e=>(0,Re.jsx)(Le.Typography,{marginX:1,component:"span",...e,children:"&"});var d=require("@mui/material"),We=require("@xylabs/react-button"),g=require("@xylabs/react-flexbox"),He=require("@xylabs/react-link");var ve=require("@mui/material"),Fe=require("@mui/styles"),Ie=()=>({background:{backgroundImage:"-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)"},border:{borderImage:"-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",borderImageSlice:1,borderImageSource:"-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",borderRadius:0,borderStyle:"solid",borderWidth:"2px"},heading:{WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",background:"-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",display:"inline-block"}}),Be=()=>({background:{backgroundImage:"-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)"},border:{borderImage:"-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",borderImageSlice:1,borderImageSource:"-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",borderRadius:0,borderStyle:"solid",borderWidth:"2px"},heading:{WebkitBackgroundClip:"text",WebkitTextFillColor:"transparent",background:"-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",display:"inline-block"}}),y=()=>{let t=(0,ve.useTheme)().palette.mode==="dark"?Be():Ie();return{classes:(0,Fe.makeStyles)(t),styles:t}};var De=require("react"),Bt=e=>{let[t,o]=(0,De.useState)(e);return[t,r=>{try{JSON.stringify(r)!==JSON.stringify(t)&&o(r)}catch{console.error("setDataState failed! Make sure data type is stringifiable!")}}]};var J=require("@mui/material");var T=require("@mui/material");var B=()=>{let e=(0,J.useTheme)();return(0,T.useMediaQuery)(e.breakpoints.down("md"))},Dt=()=>{let e=(0,J.useTheme)();return(0,T.useMediaQuery)(e.breakpoints.down("md"))};var Q=require("@xylabs/react-promise"),U=require("@xyo-network/payload-builder"),Nt=e=>(0,Q.usePromise)(async()=>e?await U.PayloadBuilder.dataHash(e):void 0,[e])[0],Mt=e=>(0,Q.usePromise)(async()=>e?await Promise.all(e.map(async t=>[t,await U.PayloadBuilder.dataHash(t)])):void 0,[e])[0];var Ne=require("@xylabs/react-promise");var D=require("react"),K=(e,t=0)=>{let o=(0,D.useRef)(null);return(0,D.useEffect)(()=>{if(e)if(typeof e=="function"){e(o.current);return}else e.current=o.current},[e,t]),o};var i=require("react/jsx-runtime"),Wt=({backgroundImageAlignment:e,subLinkIcon:t,subLinkPath:o,subLinkText1:n,subLinkText2:r})=>(0,i.jsxs)(g.FlexGrowRow,{width:"100%",sx:{flexDirection:{md:"row",xs:"column"},justifyContent:{md:e?"flex-start":"center",xs:"center"}},children:[t?(0,i.jsxs)("span",{children:[t,"\xA0"]}):null,(0,i.jsxs)(d.Typography,{children:[n,"\xA0"]}),(0,i.jsx)(He.LinkEx,{href:o,underline:"always",target:"_blank",color:"inherit",children:(0,i.jsx)(d.Typography,{children:r})})]}),Me=({href:e,to:t,buttonText:o})=>{let n=B();return(0,i.jsx)(We.ButtonEx,{fullWidth:!0,marginTop:1,marginBottom:1,marginRight:n?2:1,marginLeft:n?2:0,target:e??"_blank",to:t,href:e,color:"primary",variant:"contained",paddingX:3,sx:{display:e||t?"flex":"none"},children:o})},Ht=({backgroundImage:e,title:t,gradientTitle:o,backgroundColor:n,textColor:r,desc:a,heroImage:s,title2:c,subLinkText1:b,subLinkText2:_,subLinkPath:v,button1Text:F,button2Text:we,button2To:gt,button1To:xt,button2Href:kt,button1Href:bt,subLinkIcon:yt,sx:Tt,...Ct})=>{let Y=B(),{classes:Pt}=y();return(0,i.jsx)(g.FlexGrowCol,{sx:{backgroundImage:`url(${e})`,backgroundPosition:{lg:"bottom",md:"center left",xs:"top left"},minHeight:{md:"500px",sm:"400px",xs:"200px"},...Tt},style:{backgroundColor:n??"",backgroundRepeat:"no-repeat",backgroundSize:"cover",color:r??""},...Ct,children:(0,i.jsx)(d.Container,{children:(0,i.jsxs)(d.Grid,{container:!0,justifyContent:"center",alignItems:"center",sx:{alignItems:{xs:"center"},justifyContent:{xs:"center"}},children:[(0,i.jsx)(d.Grid,{item:!0,xs:12,sm:8,md:e?6:8,lg:e?6:8,children:(0,i.jsxs)(g.FlexGrowCol,{paddingY:2,sx:{alignItems:{xs:e&&!Y?"flex-start":"center"}},children:[(0,i.jsxs)(d.Typography,{variant:"h1",component:"h1",gutterBottom:!0,textAlign:e&&!Y?"left":"center",children:[t?(0,i.jsx)("span",{children:`${t} `}):null,o?(0,i.jsxs)("span",{className:Pt().heading,children:[" ",` ${o}`]}):null,c?(0,i.jsx)("span",{children:` ${c}`}):null]}),(0,i.jsx)(d.Typography,{variant:"body1",component:"h2",gutterBottom:!0,textAlign:e&&!Y?"left":"center",children:a}),(0,i.jsxs)(g.FlexGrowRow,{sx:{flexDirection:{lg:"row",xs:"column"}},width:"100%",marginTop:1,children:[(0,i.jsx)(Me,{href:bt,to:xt,buttonText:F}),(0,i.jsx)(Me,{href:kt,to:gt,buttonText:we})]}),(0,i.jsx)(Wt,{subLinkIcon:yt,subLinkText1:b,subLinkText2:_,subLinkPath:v,backgroundImageAlignment:!!e})]})}),(0,i.jsx)(d.Grid,{item:!0,xs:12,md:6,children:s?(0,i.jsx)("img",{src:s,width:"100%"}):null})]})})})};var m=require("@mui/material"),x=require("react");var N=require("react/jsx-runtime"),Z="Ellipsize",At=(0,m.styled)(m.Box,{name:Z,shouldForwardProp:e=>e!=="beforeLineHeight",slot:"Root"})(({beforeLineHeight:e})=>({"&":{":before":{content:"'nbsp;'",display:"block",float:"left",visibility:"hidden",...e&&{lineHeight:e}}}})),Gt=(0,m.styled)(m.Box,{name:Z,slot:"innerWrap"})(()=>({position:"relative"})),$t=(0,m.styled)(m.Typography,{name:Z,shouldForwardProp:e=>e!=="ellipsisPosition",slot:"contentWrap"})(({theme:e,ellipsisPosition:t,fontFamily:o})=>e.unstable_sx({fontFamily:o??"monospace",left:0,overflow:"hidden",position:"absolute",right:0,textOverflow:"ellipsis",whiteSpace:"nowrap",...t==="start"?{direction:"rtl",textAlign:"left"}:{}})),qt=()=>{let[e,t]=(0,x.useState)(),o=(0,x.useCallback)(n=>{n!==null&&t(n.clientHeight+"px")},[]);return{contentWrapHeight:e,contentWrapRef:o}},M=(0,x.forwardRef)(({children:e,ellipsisPosition:t="start",disableSharedRef:o,typographyProps:n,...r},a)=>{let{contentWrapRef:s,contentWrapHeight:c}=qt(),b=K(a);return(0,N.jsx)(At,{beforeLineHeight:b&&!o?c:void 0,...r,ref:a,children:(0,N.jsx)(Gt,{children:(0,N.jsx)($t,{ref:s,component:"span",ellipsisPosition:t,variant:"body2",...n,children:e})})})});M.displayName="EllipsizeBox";var j=require("@mui/material"),Ae=require("@xylabs/react-flexbox"),Ge=require("react"),C=require("react/jsx-runtime"),ee=class extends Ge.Component{constructor(t){super(t),this.state={error:void 0}}static getDerivedStateFromError(t){return{error:t}}componentDidCatch(t,o){console.error(`${t}: ${o}`)}render(){return this.state.error?this.props.fallbackWithError?this.props.fallbackWithError(this.state.error):this.props.fallback??(0,C.jsxs)(Ae.FlexCol,{children:[(0,C.jsx)(j.Typography,{variant:"h1",children:"Something went wrong."}),(0,C.jsxs)(j.Typography,{variant:"body1",children:["[",this.state.error?.message,"]"]})]}):this.props.children}};var te=require("@mui/material"),$e=require("react-router-dom"),W=require("react/jsx-runtime"),qe=({to:e,toOptions:t,onClick:o,...n})=>{let r=(0,$e.useNavigate)();return(0,W.jsx)(te.ListItemButton,{onClick:s=>{o?.(s),e&&r(e,t)},...n})},zt=({to:e,...t})=>e?(0,W.jsx)(qe,{to:e,...t}):(0,W.jsx)(te.ListItemButton,{...t});var Oe=require("@xylabs/react-flexbox");var oe=require("@mui/material"),ze=require("@xylabs/react-flexbox"),P=require("react/jsx-runtime"),re=e=>(0,P.jsxs)(ze.FlexGrowCol,{...e,children:[(0,P.jsx)(oe.Typography,{variant:"h2",children:"Sorry!"}),(0,P.jsx)(oe.Typography,{marginY:3,variant:"body2",children:"Can't find anything here"})]});var u=require("react/jsx-runtime");function Ot(e){let{notFound:t,error:o,searchResult:n,children:r}=e;return t?(0,u.jsx)(re,{}):o?(0,u.jsx)(u.Fragment,{children:r}):n===void 0?(0,u.jsx)(Oe.FlexGrowRow,{busy:!0,minHeight:"50px"}):(0,u.jsx)(u.Fragment,{children:r})}var Xe=require("@mui/material"),Ve=require("react/jsx-runtime"),Xt=e=>(0,Ve.jsx)(Xe.Typography,{marginX:1,component:"span",...e,children:"|"});var H=require("@mui/material"),A=require("react/jsx-runtime"),Vt=({alertBody:e,...t})=>(0,A.jsxs)(H.Alert,{severity:"warning",...t,children:[(0,A.jsx)(H.AlertTitle,{children:"Missing Data"}),e??"Payload is missing required data to render correctly"]});var _e=require("@mui/material"),Ye=require("react/jsx-runtime"),_t=(0,_e.styled)("div")(({theme:e})=>({[e.breakpoints.down("md")]:{overflowX:"scroll"},display:"flex",flexGrow:1})),Yt=({children:e})=>(0,Ye.jsx)(_t,{children:e});var Je=require("@mui/material"),Qe=require("@xylabs/react-flexbox"),Ue=require("react"),Ze=require("react/jsx-runtime"),Ke=(0,Ue.forwardRef)(({children:e,sx:t,...o},n)=>{let r=(0,Je.useTheme)();return(0,Ze.jsx)(Qe.FlexGrowRow,{sx:{paddingBottom:{md:r.spacing(5),xs:r.spacing(5)},paddingTop:{md:r.spacing(5),xs:r.spacing(5)},...t},width:"100%",ref:n,...o,children:e})});Ke.displayName="SectionSpacingRow";var et=require("react");var $=require("@mui/material"),je=require("@xylabs/react-link"),q=require("react");var G=require("react/jsx-runtime"),Jt=(0,$.styled)($.TableCell,{name:"EllipsisTableCell",shouldForwardProp:e=>e!=="width",slot:"Root"})(({width:e="100%"})=>({width:e})),ne=(0,q.forwardRef)(({children:e,href:t,link:o=!1,to:n,value:r,...a},s)=>{let c=(0,q.useMemo)(()=>e||(t||o||n?(0,G.jsx)(je.LinkEx,{title:r,to:n,href:t,target:t?"_blank":void 0,children:r}):r),[e,t,o,n,r]);return(0,G.jsx)(Jt,{ref:s,...a,children:(0,G.jsx)(M,{sx:{cursor:o||n||t?"pointer":"inherit"},children:c})})});ne.displayName="EllipsisTableCell";var S=ne;var ot=require("react/jsx-runtime"),tt=(0,et.forwardRef)(({value:e,archive:t,exploreDomain:o,link:n,...r},a)=>{let s=o&&t?`${o}/archive/${t}/address/${e}`:void 0,c=o===void 0&&t?`/archive/${t}/address/${e}`:void 0;return(0,ot.jsx)(S,{value:e,href:s,to:c,ref:a,link:n,...r})});tt.displayName="AddressTableCell";var rt=require("@xyo-network/react-event"),nt=require("react");var it=require("react/jsx-runtime"),Qt=({value:e,archive:t,dataType:o,network:n,exploreDomain:r,onHashClick:a,...s})=>{let c=(0,nt.useRef)(null),[b,_]=(0,rt.useEvent)(void 0,c),v=`/${o}/hash/${e}?network=${n??"main"}`,F=t?`/archive/${t}${v}`:v;return(0,it.jsx)(S,{onClick:()=>{a?a(e):_?.("hash","click",e)},ref:b,value:e,href:r?`${r}${F}}`:void 0,to:r?void 0:F,...s})};var z=require("@mui/material"),at=require("react/jsx-runtime"),w=({...e})=>{let t=(0,z.useTheme)();return(0,at.jsx)(z.Avatar,{sx:{background:t.palette.common.white},...e})};var st=require("@mui/material");var ie=require("react/jsx-runtime"),Ut=({images:e,...t})=>(0,ie.jsx)(st.AvatarGroup,{...t,children:e?.map((o,n)=>(0,ie.jsx)(w,{src:o},n))});var E=require("@mui/material"),pt=require("@xylabs/react-flexbox"),k=require("react/jsx-runtime"),Kt=({text1:e,text1Props:t,text1Suffix:o,text2:n,text2Props:r,text2Suffix:a,...s})=>(0,k.jsx)(E.Paper,{elevation:0,className:"TokenBar-root",...s,children:(0,k.jsxs)(pt.FlexRow,{justifyContent:"space-between",children:[(0,k.jsxs)(E.Typography,{variant:"body1",fontWeight:300,margin:1,...t,children:[e,o]}),(0,k.jsxs)(E.Typography,{variant:"body1",fontWeight:300,textTransform:"uppercase",color:"gray",margin:1,...r,children:[n,a]})]})});var ae=p(require("./ada-JCPSRXND.png"),1),se=p(require("./btc-SRW7TEQV.png"),1),pe=p(require("./busd-RAN4SWCI.png"),1),le=p(require("./dai-FZSM2RYY.png"),1),de=p(require("./dogecoin-QOIF7Q5M.png"),1),ce=p(require("./dot-P5Z7IW2O.png"),1),me=p(require("./ethereum-3SLTXYTT.png"),1),ue=p(require("./frax-TQDXCCOP.png"),1),fe=p(require("./link-THYNVLXG.png"),1),he=p(require("./sol-A4J5S4EN.png"),1),ge=p(require("./tether-3X63FB23.png"),1),xe=p(require("./usd-coin-UCS44T5B.png"),1),ke=p(require("./weth-HDGYDSJB.png"),1),be=p(require("./wrapped-bitcoin-TS5QFJLK.png"),1),ye=p(require("./xyo-RLMLL56X.png"),1);var O=[{coinmarketcapLink:"https://coinmarketcap.com/currencies/multi-collateral-dai/",etherscanLink:"https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f",icon:le.default,readableName:"Dai",tokenSymbol:"dai",uniqueTokenId:"dai"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/weth/",etherscanLink:"https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",icon:ke.default,readableName:"Weth",tokenSymbol:"weth",uniqueTokenId:"weth"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/ethereum/",etherscanLink:"n/a",icon:me.default,readableName:"Ethereum",tokenSymbol:"eth",uniqueTokenId:"ethereum"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/bitcoin/",etherscanLink:"n/a",icon:se.default,readableName:"Bitcoin",tokenSymbol:"btc",uniqueTokenId:"btc"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/xyo/",etherscanLink:"https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758",icon:ye.default,readableName:"XYO",tokenSymbol:"xyo",uniqueTokenId:"xyo"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/frax/",etherscanLink:"https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e",icon:ue.default,readableName:"Frax",tokenSymbol:"frax",uniqueTokenId:"frax"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/wrapped-bitcoin/",etherscanLink:"https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",icon:be.default,readableName:"Wrapped BTC",tokenSymbol:"wbtc",uniqueTokenId:"wbtc"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/usd-coin/",etherscanLink:"https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",icon:xe.default,readableName:"USDC",tokenSymbol:"usdc",uniqueTokenId:"usdc"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/tether/",etherscanLink:"https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7",icon:ge.default,readableName:"Tether",tokenSymbol:"usdt",uniqueTokenId:"usdt"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/cardano/",etherscanLink:"https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98",icon:ae.default,readableName:"Cardano",tokenSymbol:"ada",uniqueTokenId:"ada"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/binance-usd/",etherscanLink:"https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53",icon:pe.default,readableName:"Binance USD",tokenSymbol:"busd",uniqueTokenId:"busd"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/dogecoin/",etherscanLink:"https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e",icon:de.default,readableName:"Dogecoin",tokenSymbol:"doge",uniqueTokenId:"doge"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/polkadot-new/",etherscanLink:"https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221",icon:ce.default,readableName:"Polkadot",tokenSymbol:"dot",uniqueTokenId:"dot"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/chainlink/",etherscanLink:"https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca",icon:fe.default,readableName:"ChainLink",tokenSymbol:"link",uniqueTokenId:"link"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/solana/",etherscanLink:"https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8",icon:he.default,readableName:"Solana",tokenSymbol:"sol",uniqueTokenId:"sol"}];var jt=e=>e?.map(t=>O.find(r=>r.tokenSymbol===t)??O[0]);var X=require("@mui/material");var f=require("react/jsx-runtime"),eo=({icon:e,symbol:t,symbolElement:o,children:n,...r})=>(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(X.CardHeader,{avatar:(0,f.jsx)(w,{src:e,alt:t}),title:(0,f.jsx)(X.Typography,{variant:"h6",fontWeight:300,textTransform:"uppercase",children:o??t}),...r}),n]});var lt=require("@mui/material");var dt=require("react/jsx-runtime"),to=({gradient:e,...t})=>{let{classes:o}=y();return(0,dt.jsx)(lt.Typography,{className:e==="text"?o().heading:void 0,...t})};var ct=require("react"),L=()=>(0,ct.createContext)({provided:!1});var Te=require("react"),Ce=(e,t,o=!0)=>{let{provided:n,...r}=(0,Te.useContext)(e);if(!n&&o)throw new Error(`use${t} can not be used outside of a ${t}Context when required=true`);return r},oo=e=>{let{provided:t}=(0,Te.useContext)(e);return t};var ro=()=>L();var V=require("react"),mt=require("react/jsx-runtime"),no=({diviner:e,required:t=!1,children:o,context:n})=>{let[r,a]=(0,V.useState)(e);(0,V.useEffect)(()=>{e&&a(e)},[e,a]);let s=()=>e?r===e?r:void 0:r;return(0,mt.jsx)(n.Provider,{value:{diviner:s(),provided:!0,setDiviner:a},children:r?o:t?null:o})};var R=L();var ut=require("react");var ft=require("react/jsx-runtime"),io=({children:e,defaultListMode:t})=>{let[o,n]=(0,ut.useState)(t??"default");return(0,ft.jsx)(R.Provider,{value:{listMode:o,provided:!0,setListMode:n},children:e})};var ao=(e=!1)=>Ce(R,"ListMode",e);var so=(e,t)=>{if(e!=null)return e;throw new Error(t)};var Pe=(e,t)=>{if(e!=null&&e.length>0){if(e.endsWith("px"))return Number.parseFloat(e.slice(0,Math.max(0,e.length-2)));if(e.endsWith("%")){if(t!==void 0)return Number.parseFloat(e.slice(0,Math.max(0,e.length-1)))/100*t;throw new Error("Error Parsing Measure [missing absolute]")}else{if(e.endsWith("vw"))return Number.parseFloat(e.slice(0,Math.max(0,e.length-2)))/100*window.innerWidth;if(e.endsWith("vh"))return Number.parseFloat(e.slice(0,Math.max(0,e.length-2)))/100*window.innerHeight}throw new Error(`Error Parsing Measure [${e}]`)}},ht=e=>{let t=e.split(" ");switch(t.length){case 4:return{bottom:t[2],left:t[3],right:t[1],top:t[0]};case 3:return{bottom:t[2],right:t[1],top:t[0]};case 2:return{bottom:t[0],left:t[1],right:t[1],top:t[0]};case 1:return{bottom:t[0],left:t[0],right:t[0],top:t[0]}}},po=e=>{let t=ht(window.getComputedStyle(e,null).getPropertyValue("padding")),o=Pe(window.getComputedStyle(e,null).getPropertyValue("padding-left")??t?.left,e.clientWidth)??0,n=Pe(window.getComputedStyle(e,null).getPropertyValue("padding-right")??t?.right,e.clientWidth)??0;return o+n};var l=require("@mui/icons-material"),h=require("react/jsx-runtime"),Se=[{icon:e=>(0,h.jsx)(l.HubRounded,{...e}),name:"Node",slug:"node"},{icon:e=>(0,h.jsx)(l.TimerRounded,{...e}),name:"Sentinel",slug:"sentinel"},{icon:e=>(0,h.jsx)(l.InsertLinkRounded,{...e}),name:"Bridge",slug:"bridge"},{icon:e=>(0,h.jsx)(l.Inventory2Rounded,{...e}),name:"Archivist",slug:"archivist"},{icon:e=>(0,h.jsx)(l.BubbleChartRounded,{...e}),name:"Diviner",slug:"diviner"},{icon:e=>(0,h.jsx)(l.VisibilityRounded,{...e}),name:"Witness",slug:"witness"}],lo=e=>Se.findIndex(t=>t.slug===e),co=e=>Se.find(t=>t.slug===e);
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/index.ts
31
+ var src_exports = {};
32
+ __export(src_exports, {
33
+ AddressTableCell: () => AddressTableCell,
34
+ Ampersand: () => Ampersand,
35
+ BasicHero: () => BasicHero,
36
+ EllipsisTableCell: () => EllipsisTableCell,
37
+ EllipsisTableCellWithRef: () => EllipsisTableCellWithRef,
38
+ EllipsizeBox: () => EllipsizeBox,
39
+ ErrorBoundary: () => ErrorBoundary,
40
+ HashTableCell: () => HashTableCell,
41
+ ListItemButtonEx: () => ListItemButtonEx,
42
+ ListItemButtonExTo: () => ListItemButtonExTo,
43
+ ListModeContext: () => ListModeContext,
44
+ ListModeProvider: () => ListModeProvider,
45
+ LoadResult: () => LoadResult,
46
+ NotFound: () => NotFound,
47
+ PayloadDataMissing: () => PayloadDataMissing,
48
+ Pipe: () => Pipe,
49
+ ResolvedDivinerContext: () => ResolvedDivinerContext,
50
+ ResolvedDivinerProvider: () => ResolvedDivinerProvider,
51
+ ScrollTableOnSm: () => ScrollTableOnSm,
52
+ SectionSpacingRow: () => SectionSpacingRow,
53
+ ThemeTokenAvatar: () => ThemeTokenAvatar,
54
+ ThemeTokenAvatarGroup: () => ThemeTokenAvatarGroup,
55
+ TokenBar: () => TokenBar,
56
+ TokenData: () => TokenData,
57
+ TokenSummary: () => TokenSummary,
58
+ TypographyEx: () => TypographyEx,
59
+ assertDefinedEx: () => assertDefinedEx,
60
+ colorfulGradientDarkMode: () => colorfulGradientDarkMode,
61
+ colorfulGradientLightMode: () => colorfulGradientLightMode,
62
+ createContextEx: () => createContextEx,
63
+ findNetworkComponent: () => findNetworkComponent,
64
+ findNetworkComponentIndex: () => findNetworkComponentIndex,
65
+ getActualPaddingX: () => getActualPaddingX,
66
+ networkComponents: () => networkComponents,
67
+ parseMeausureString: () => parseMeausureString,
68
+ parsePadding: () => parsePadding,
69
+ useContextEx: () => useContextEx,
70
+ useDataState: () => useDataState,
71
+ useGetTokenData: () => useGetTokenData,
72
+ useGradientStyles: () => useGradientStyles,
73
+ useIsMobile: () => useIsMobile,
74
+ useIsSmall: () => useIsSmall,
75
+ useListMode: () => useListMode,
76
+ useMediaQuery: () => import_material3.useMediaQuery,
77
+ usePayloadHash: () => usePayloadHash,
78
+ usePayloadHashes: () => usePayloadHashes,
79
+ usePromise: () => import_react_promise2.usePromise,
80
+ useProvided: () => useProvided,
81
+ useShareForwardedRef: () => useShareForwardedRef
82
+ });
83
+ module.exports = __toCommonJS(src_exports);
84
+
85
+ // src/components/Ampersand.tsx
86
+ var import_material = require("@mui/material");
87
+ var import_jsx_runtime = require("react/jsx-runtime");
88
+ var Ampersand = (props) => {
89
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_material.Typography, { marginX: 1, component: "span", ...props, children: "&" });
90
+ };
91
+
92
+ // src/components/BasicHero/BasicHero.tsx
93
+ var import_material5 = require("@mui/material");
94
+ var import_react_button = require("@xylabs/react-button");
95
+ var import_react_flexbox = require("@xylabs/react-flexbox");
96
+ var import_react_link = require("@xylabs/react-link");
97
+
98
+ // src/hooks/GradientStyles/GradientStyles.tsx
99
+ var import_material2 = require("@mui/material");
100
+ var import_styles = require("@mui/styles");
101
+ var colorfulGradientLightMode = () => {
102
+ return {
103
+ background: {
104
+ backgroundImage: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)"
105
+ },
106
+ border: {
107
+ borderImage: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",
108
+ borderImageSlice: 1,
109
+ borderImageSource: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",
110
+ borderRadius: 0,
111
+ borderStyle: "solid",
112
+ borderWidth: "2px"
113
+ },
114
+ heading: {
115
+ WebkitBackgroundClip: "text",
116
+ WebkitTextFillColor: "transparent",
117
+ background: "-webkit-linear-gradient(232deg, #e17751, #d84e7a, #5898dd, #8c8ee5)",
118
+ display: "inline-block"
119
+ }
120
+ };
121
+ };
122
+ var colorfulGradientDarkMode = () => {
123
+ return {
124
+ background: {
125
+ backgroundImage: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)"
126
+ },
127
+ border: {
128
+ borderImage: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",
129
+ borderImageSlice: 1,
130
+ borderImageSource: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",
131
+ borderRadius: 0,
132
+ borderStyle: "solid",
133
+ borderWidth: "2px"
134
+ },
135
+ heading: {
136
+ WebkitBackgroundClip: "text",
137
+ WebkitTextFillColor: "transparent",
138
+ background: "-webkit-linear-gradient(232deg, #F17938, #FF5BDC, #5898dd, #B2FFFD)",
139
+ display: "inline-block"
140
+ }
141
+ };
142
+ };
143
+ var useGradientStyles = () => {
144
+ const theme = (0, import_material2.useTheme)();
145
+ const styles = theme.palette.mode === "dark" ? colorfulGradientDarkMode() : colorfulGradientLightMode();
146
+ const classes = (0, import_styles.makeStyles)(styles);
147
+ return { classes, styles };
148
+ };
149
+
150
+ // src/hooks/useDataState.ts
151
+ var import_react = require("react");
152
+ var useDataState = (defaultValue) => {
153
+ const [state, setState] = (0, import_react.useState)(defaultValue);
154
+ const setDataState = (value) => {
155
+ try {
156
+ if (JSON.stringify(value) !== JSON.stringify(state)) {
157
+ setState(value);
158
+ }
159
+ } catch {
160
+ console.error("setDataState failed! Make sure data type is stringifiable!");
161
+ }
162
+ };
163
+ return [state, setDataState];
164
+ };
165
+
166
+ // src/hooks/useIsMobile.ts
167
+ var import_material4 = require("@mui/material");
168
+
169
+ // src/hooks/useMediaQuery.ts
170
+ var import_material3 = require("@mui/material");
171
+
172
+ // src/hooks/useIsMobile.ts
173
+ var useIsMobile = () => {
174
+ const theme = (0, import_material4.useTheme)();
175
+ return (0, import_material3.useMediaQuery)(theme.breakpoints.down("md"));
176
+ };
177
+ var useIsSmall = () => {
178
+ const theme = (0, import_material4.useTheme)();
179
+ return (0, import_material3.useMediaQuery)(theme.breakpoints.down("md"));
180
+ };
181
+
182
+ // src/hooks/usePayloadHash.ts
183
+ var import_react_promise = require("@xylabs/react-promise");
184
+ var import_payload_builder = require("@xyo-network/payload-builder");
185
+ var usePayloadHash = (payload) => {
186
+ return (0, import_react_promise.usePromise)(async () => payload ? await import_payload_builder.PayloadBuilder.dataHash(payload) : void 0, [payload])[0];
187
+ };
188
+ var usePayloadHashes = (payloads) => {
189
+ return (0, import_react_promise.usePromise)(
190
+ async () => payloads ? await Promise.all(payloads.map(async (payload) => [payload, await import_payload_builder.PayloadBuilder.dataHash(payload)])) : void 0,
191
+ [payloads]
192
+ )[0];
193
+ };
194
+
195
+ // src/hooks/usePromise.ts
196
+ var import_react_promise2 = require("@xylabs/react-promise");
197
+
198
+ // src/hooks/useShareForwardRef.ts
199
+ var import_react2 = require("react");
200
+ var useShareForwardedRef = (forwardedRef, refresh = 0) => {
201
+ const innerRef = (0, import_react2.useRef)(null);
202
+ (0, import_react2.useEffect)(() => {
203
+ if (!forwardedRef) {
204
+ return;
205
+ }
206
+ if (typeof forwardedRef === "function") {
207
+ forwardedRef(innerRef.current);
208
+ return;
209
+ } else {
210
+ forwardedRef.current = innerRef.current;
211
+ }
212
+ }, [forwardedRef, refresh]);
213
+ return innerRef;
214
+ };
215
+
216
+ // src/components/BasicHero/BasicHero.tsx
217
+ var import_jsx_runtime2 = require("react/jsx-runtime");
218
+ var SubLinkSection = ({ backgroundImageAlignment, subLinkIcon, subLinkPath, subLinkText1, subLinkText2 }) => {
219
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
220
+ import_react_flexbox.FlexGrowRow,
221
+ {
222
+ width: "100%",
223
+ sx: { flexDirection: { md: "row", xs: "column" }, justifyContent: { md: backgroundImageAlignment ? "flex-start" : "center", xs: "center" } },
224
+ children: [
225
+ subLinkIcon ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { children: [
226
+ subLinkIcon,
227
+ "\xA0"
228
+ ] }) : null,
229
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material5.Typography, { children: [
230
+ subLinkText1,
231
+ "\xA0"
232
+ ] }),
233
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_link.LinkEx, { href: subLinkPath, underline: "always", target: "_blank", color: "inherit", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material5.Typography, { children: subLinkText2 }) })
234
+ ]
235
+ }
236
+ );
237
+ };
238
+ var ButtonSection = ({ href, to, buttonText }) => {
239
+ const isMobile = useIsMobile();
240
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
241
+ import_react_button.ButtonEx,
242
+ {
243
+ fullWidth: true,
244
+ marginTop: 1,
245
+ marginBottom: 1,
246
+ marginRight: isMobile ? 2 : 1,
247
+ marginLeft: isMobile ? 2 : 0,
248
+ target: href ?? "_blank",
249
+ to,
250
+ href,
251
+ color: "primary",
252
+ variant: "contained",
253
+ paddingX: 3,
254
+ sx: { display: href || to ? "flex" : "none" },
255
+ children: buttonText
256
+ }
257
+ );
258
+ };
259
+ var BasicHero = ({
260
+ backgroundImage,
261
+ title,
262
+ gradientTitle,
263
+ backgroundColor,
264
+ textColor,
265
+ desc,
266
+ heroImage,
267
+ title2,
268
+ subLinkText1,
269
+ subLinkText2,
270
+ subLinkPath,
271
+ button1Text,
272
+ button2Text,
273
+ button2To,
274
+ button1To,
275
+ button2Href,
276
+ button1Href,
277
+ subLinkIcon,
278
+ sx,
279
+ ...props
280
+ }) => {
281
+ const isMobile = useIsMobile();
282
+ const { classes } = useGradientStyles();
283
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
284
+ import_react_flexbox.FlexGrowCol,
285
+ {
286
+ sx: {
287
+ backgroundImage: `url(${backgroundImage})`,
288
+ backgroundPosition: { lg: "bottom", md: "center left", xs: "top left" },
289
+ minHeight: {
290
+ md: "500px",
291
+ sm: "400px",
292
+ xs: "200px"
293
+ },
294
+ ...sx
295
+ },
296
+ style: {
297
+ backgroundColor: backgroundColor ?? "",
298
+ backgroundRepeat: "no-repeat",
299
+ backgroundSize: "cover",
300
+ color: textColor ?? ""
301
+ },
302
+ ...props,
303
+ children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material5.Container, { children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(
304
+ import_material5.Grid,
305
+ {
306
+ container: true,
307
+ justifyContent: "center",
308
+ alignItems: "center",
309
+ sx: {
310
+ alignItems: { xs: "center" },
311
+ justifyContent: { xs: "center" }
312
+ },
313
+ children: [
314
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material5.Grid, { item: true, xs: 12, sm: 8, md: backgroundImage ? 6 : 8, lg: backgroundImage ? 6 : 8, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexGrowCol, { paddingY: 2, sx: { alignItems: { xs: backgroundImage && !isMobile ? "flex-start" : "center" } }, children: [
315
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_material5.Typography, { variant: "h1", component: "h1", gutterBottom: true, textAlign: backgroundImage && !isMobile ? "left" : "center", children: [
316
+ title ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: `${title} ` }) : null,
317
+ gradientTitle ? /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)("span", { className: classes().heading, children: [
318
+ " ",
319
+ ` ${gradientTitle}`
320
+ ] }) : null,
321
+ title2 ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("span", { children: ` ${title2}` }) : null
322
+ ] }),
323
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material5.Typography, { variant: "body1", component: "h2", gutterBottom: true, textAlign: backgroundImage && !isMobile ? "left" : "center", children: desc }),
324
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_react_flexbox.FlexGrowRow, { sx: { flexDirection: { lg: "row", xs: "column" } }, width: "100%", marginTop: 1, children: [
325
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ButtonSection, { href: button1Href, to: button1To, buttonText: button1Text }),
326
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(ButtonSection, { href: button2Href, to: button2To, buttonText: button2Text })
327
+ ] }),
328
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
329
+ SubLinkSection,
330
+ {
331
+ subLinkIcon,
332
+ subLinkText1,
333
+ subLinkText2,
334
+ subLinkPath,
335
+ backgroundImageAlignment: backgroundImage ? true : false
336
+ }
337
+ )
338
+ ] }) }),
339
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_material5.Grid, { item: true, xs: 12, md: 6, children: heroImage ? /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("img", { src: heroImage, width: "100%" }) : null })
340
+ ]
341
+ }
342
+ ) })
343
+ }
344
+ );
345
+ };
346
+
347
+ // src/components/Ellipsize.tsx
348
+ var import_material6 = require("@mui/material");
349
+ var import_react3 = require("react");
350
+ var import_jsx_runtime3 = require("react/jsx-runtime");
351
+ var ComponentName = "Ellipsize";
352
+ var EllipsizeRoot = (0, import_material6.styled)(import_material6.Box, {
353
+ name: ComponentName,
354
+ shouldForwardProp: (prop) => prop !== "beforeLineHeight",
355
+ slot: "Root"
356
+ })(({ beforeLineHeight }) => ({
357
+ "&": {
358
+ // because the cell content ends up absolutely positioned, the cell doesn't know the content height.
359
+ // the pseudo element with a hidden character establishes the proper height of the content and hides it
360
+ ":before": {
361
+ content: "'nbsp;'",
362
+ display: "block",
363
+ // take the pseudo element out of the `display: block` flow so it won't push against our actual content
364
+ float: "left",
365
+ visibility: "hidden",
366
+ // since we are `display: block`, lineHeight is the height
367
+ ...beforeLineHeight && { lineHeight: beforeLineHeight }
368
+ }
369
+ }
370
+ }));
371
+ var EllipsizeInnerWrap = (0, import_material6.styled)(import_material6.Box, {
372
+ name: ComponentName,
373
+ slot: "innerWrap"
374
+ })(() => ({
375
+ position: "relative"
376
+ }));
377
+ var EllipsizeContentWrap = (0, import_material6.styled)(import_material6.Typography, {
378
+ name: ComponentName,
379
+ shouldForwardProp: (prop) => prop !== "ellipsisPosition",
380
+ slot: "contentWrap"
381
+ })(({ theme, ellipsisPosition, fontFamily }) => {
382
+ return theme.unstable_sx({
383
+ fontFamily: fontFamily ?? "monospace",
384
+ left: 0,
385
+ overflow: "hidden",
386
+ position: "absolute",
387
+ right: 0,
388
+ textOverflow: "ellipsis",
389
+ whiteSpace: "nowrap",
390
+ ...ellipsisPosition === "start" ? {
391
+ direction: "rtl",
392
+ textAlign: "left"
393
+ } : {}
394
+ });
395
+ });
396
+ var useClientHeight = () => {
397
+ const [contentWrapHeight, setContentWrapHeight] = (0, import_react3.useState)();
398
+ const contentWrapRef = (0, import_react3.useCallback)((node) => {
399
+ if (node !== null) {
400
+ setContentWrapHeight(node.clientHeight + "px");
401
+ }
402
+ }, []);
403
+ return { contentWrapHeight, contentWrapRef };
404
+ };
405
+ var EllipsizeBox = (0, import_react3.forwardRef)(
406
+ ({ children, ellipsisPosition = "start", disableSharedRef, typographyProps, ...props }, ref) => {
407
+ const { contentWrapRef, contentWrapHeight } = useClientHeight();
408
+ const sharedRef = useShareForwardedRef(ref);
409
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(EllipsizeRoot, { beforeLineHeight: !!sharedRef && !disableSharedRef ? contentWrapHeight : void 0, ...props, ref, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(EllipsizeInnerWrap, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(EllipsizeContentWrap, { ref: contentWrapRef, component: "span", ellipsisPosition, variant: "body2", ...typographyProps, children }) }) });
410
+ }
411
+ );
412
+ EllipsizeBox.displayName = "EllipsizeBox";
413
+
414
+ // src/components/ErrorBoundary.tsx
415
+ var import_material7 = require("@mui/material");
416
+ var import_react_flexbox2 = require("@xylabs/react-flexbox");
417
+ var import_react4 = require("react");
418
+ var import_jsx_runtime4 = require("react/jsx-runtime");
419
+ var ErrorBoundary = class extends import_react4.Component {
420
+ constructor(props) {
421
+ super(props);
422
+ this.state = { error: void 0 };
423
+ }
424
+ static getDerivedStateFromError(error) {
425
+ return { error };
426
+ }
427
+ componentDidCatch(error, errorInfo) {
428
+ console.error(`${error}: ${errorInfo}`);
429
+ }
430
+ render() {
431
+ if (this.state.error) {
432
+ if (this.props.fallbackWithError) {
433
+ return this.props.fallbackWithError(this.state.error);
434
+ }
435
+ return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react_flexbox2.FlexCol, { children: [
436
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material7.Typography, { variant: "h1", children: "Something went wrong." }),
437
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material7.Typography, { variant: "body1", children: [
438
+ "[",
439
+ this.state.error?.message,
440
+ "]"
441
+ ] })
442
+ ] });
443
+ }
444
+ return this.props.children;
445
+ }
446
+ };
447
+
448
+ // src/components/ListItemButtonEx.tsx
449
+ var import_material8 = require("@mui/material");
450
+ var import_react_router_dom = require("react-router-dom");
451
+ var import_jsx_runtime5 = require("react/jsx-runtime");
452
+ var ListItemButtonExTo = ({ to, toOptions, onClick, ...props }) => {
453
+ const navigate = (0, import_react_router_dom.useNavigate)();
454
+ const localOnClick = (event) => {
455
+ onClick?.(event);
456
+ if (to) {
457
+ navigate(to, toOptions);
458
+ }
459
+ };
460
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material8.ListItemButton, { onClick: localOnClick, ...props });
461
+ };
462
+ var ListItemButtonEx = ({ to, ...props }) => {
463
+ return to ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ListItemButtonExTo, { to, ...props }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material8.ListItemButton, { ...props });
464
+ };
465
+
466
+ // src/components/LoadResult.tsx
467
+ var import_react_flexbox4 = require("@xylabs/react-flexbox");
468
+
469
+ // src/components/NotFound.tsx
470
+ var import_material9 = require("@mui/material");
471
+ var import_react_flexbox3 = require("@xylabs/react-flexbox");
472
+ var import_jsx_runtime6 = require("react/jsx-runtime");
473
+ var NotFound = (props) => {
474
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_flexbox3.FlexGrowCol, { ...props, children: [
475
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material9.Typography, { variant: "h2", children: "Sorry!" }),
476
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material9.Typography, { marginY: 3, variant: "body2", children: "Can't find anything here" })
477
+ ] });
478
+ };
479
+
480
+ // src/components/LoadResult.tsx
481
+ var import_jsx_runtime7 = require("react/jsx-runtime");
482
+ function LoadResult(props) {
483
+ const { notFound, error, searchResult, children } = props;
484
+ if (notFound) {
485
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(NotFound, {});
486
+ }
487
+ if (error) {
488
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
489
+ }
490
+ return searchResult === void 0 ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_react_flexbox4.FlexGrowRow, { busy: true, minHeight: "50px" }) : /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
491
+ }
492
+
493
+ // src/components/Pipe.tsx
494
+ var import_material10 = require("@mui/material");
495
+ var import_jsx_runtime8 = require("react/jsx-runtime");
496
+ var Pipe = (props) => {
497
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_material10.Typography, { marginX: 1, component: "span", ...props, children: "|" });
498
+ };
499
+
500
+ // src/components/pluginValidation/DataMissing.tsx
501
+ var import_material11 = require("@mui/material");
502
+ var import_jsx_runtime9 = require("react/jsx-runtime");
503
+ var PayloadDataMissing = ({ alertBody, ...props }) => {
504
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_material11.Alert, { severity: "warning", ...props, children: [
505
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_material11.AlertTitle, { children: "Missing Data" }),
506
+ alertBody ?? "Payload is missing required data to render correctly"
507
+ ] });
508
+ };
509
+
510
+ // src/components/ScrollTableOnSm.tsx
511
+ var import_material12 = require("@mui/material");
512
+ var import_jsx_runtime10 = require("react/jsx-runtime");
513
+ var StyledScrollTableOnSm = (0, import_material12.styled)("div")(({ theme }) => ({
514
+ [theme.breakpoints.down("md")]: {
515
+ overflowX: "scroll"
516
+ },
517
+ display: "flex",
518
+ flexGrow: 1
519
+ }));
520
+ var ScrollTableOnSm = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledScrollTableOnSm, { children });
521
+
522
+ // src/components/SectionSpacingRow/SectionSpacingRow.tsx
523
+ var import_material13 = require("@mui/material");
524
+ var import_react_flexbox5 = require("@xylabs/react-flexbox");
525
+ var import_react5 = require("react");
526
+ var import_jsx_runtime11 = require("react/jsx-runtime");
527
+ var SectionSpacingRow = (0, import_react5.forwardRef)(({ children, sx, ...props }, ref) => {
528
+ const theme = (0, import_material13.useTheme)();
529
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
530
+ import_react_flexbox5.FlexGrowRow,
531
+ {
532
+ sx: {
533
+ paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },
534
+ paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },
535
+ ...sx
536
+ },
537
+ width: "100%",
538
+ ref,
539
+ ...props,
540
+ children
541
+ }
542
+ );
543
+ });
544
+ SectionSpacingRow.displayName = "SectionSpacingRow";
545
+
546
+ // src/components/TableCell/AddressTableCell.tsx
547
+ var import_react7 = require("react");
548
+
549
+ // src/components/TableCell/EllipsisTableCell.tsx
550
+ var import_material14 = require("@mui/material");
551
+ var import_react_link2 = require("@xylabs/react-link");
552
+ var import_react6 = require("react");
553
+ var import_jsx_runtime12 = require("react/jsx-runtime");
554
+ var EllipsisTableCellRoot = (0, import_material14.styled)(import_material14.TableCell, {
555
+ name: "EllipsisTableCell",
556
+ shouldForwardProp: (prop) => prop !== "width",
557
+ slot: "Root"
558
+ })(({ width = "100%" }) => ({
559
+ width
560
+ }));
561
+ var EllipsisTableCellWithRef = (0, import_react6.forwardRef)(
562
+ ({ children, href, link = false, to, value, ...props }, ref) => {
563
+ const data = (0, import_react6.useMemo)(() => {
564
+ if (children) {
565
+ return children;
566
+ }
567
+ if (href || link || to) {
568
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_link2.LinkEx, { title: value, to, href, target: href ? "_blank" : void 0, children: value });
569
+ }
570
+ return value;
571
+ }, [children, href, link, to, value]);
572
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(EllipsisTableCellRoot, { ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(EllipsizeBox, { sx: { cursor: link || to || href ? "pointer" : "inherit" }, children: data }) });
573
+ }
574
+ );
575
+ EllipsisTableCellWithRef.displayName = "EllipsisTableCell";
576
+ var EllipsisTableCell = EllipsisTableCellWithRef;
577
+
578
+ // src/components/TableCell/AddressTableCell.tsx
579
+ var import_jsx_runtime13 = require("react/jsx-runtime");
580
+ var AddressTableCell = (0, import_react7.forwardRef)(({ value, archive, exploreDomain, link, ...props }, ref) => {
581
+ const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : void 0;
582
+ const to = exploreDomain === void 0 && archive ? `/archive/${archive}/address/${value}` : void 0;
583
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(EllipsisTableCell, { value, href, to, ref, link, ...props });
584
+ });
585
+ AddressTableCell.displayName = "AddressTableCell";
586
+
587
+ // src/components/TableCell/HashTableCell.tsx
588
+ var import_react_event = require("@xyo-network/react-event");
589
+ var import_react8 = require("react");
590
+ var import_jsx_runtime14 = require("react/jsx-runtime");
591
+ var HashTableCell = ({ value, archive, dataType, network, exploreDomain, onHashClick, ...props }) => {
592
+ const ref = (0, import_react8.useRef)(null);
593
+ const [tableCellRef, dispatch] = (0, import_react_event.useEvent)(void 0, ref);
594
+ const hashPath = `/${dataType}/hash/${value}?network=${network ?? "main"}`;
595
+ const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath;
596
+ const handleCellClick = () => {
597
+ if (onHashClick) {
598
+ onHashClick(value);
599
+ } else {
600
+ dispatch?.("hash", "click", value);
601
+ }
602
+ };
603
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
604
+ EllipsisTableCell,
605
+ {
606
+ onClick: handleCellClick,
607
+ ref: tableCellRef,
608
+ value,
609
+ href: exploreDomain ? `${exploreDomain}${explorePath}}` : void 0,
610
+ to: exploreDomain ? void 0 : explorePath,
611
+ ...props
612
+ }
613
+ );
614
+ };
615
+
616
+ // src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx
617
+ var import_material15 = require("@mui/material");
618
+ var import_jsx_runtime15 = require("react/jsx-runtime");
619
+ var ThemeTokenAvatar = ({ ...props }) => {
620
+ const theme = (0, import_material15.useTheme)();
621
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_material15.Avatar, { sx: { background: theme.palette.common.white }, ...props });
622
+ };
623
+
624
+ // src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx
625
+ var import_material16 = require("@mui/material");
626
+ var import_jsx_runtime16 = require("react/jsx-runtime");
627
+ var ThemeTokenAvatarGroup = ({ images, ...props }) => {
628
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material16.AvatarGroup, { ...props, children: images?.map((image, index) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ThemeTokenAvatar, { src: image }, index)) });
629
+ };
630
+
631
+ // src/components/TokenBar/TokenBar.tsx
632
+ var import_material17 = require("@mui/material");
633
+ var import_react_flexbox6 = require("@xylabs/react-flexbox");
634
+ var import_jsx_runtime17 = require("react/jsx-runtime");
635
+ var TokenBar = ({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {
636
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_material17.Paper, { elevation: 0, className: "TokenBar-root", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_react_flexbox6.FlexRow, { justifyContent: "space-between", children: [
637
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_material17.Typography, { variant: "body1", fontWeight: 300, margin: 1, ...text1Props, children: [
638
+ text1,
639
+ text1Suffix
640
+ ] }),
641
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_material17.Typography, { variant: "body1", fontWeight: 300, textTransform: "uppercase", color: "gray", margin: 1, ...text2Props, children: [
642
+ text2,
643
+ text2Suffix
644
+ ] })
645
+ ] }) });
646
+ };
647
+
648
+ // src/components/TokenData/img/index.ts
649
+ var import_ada = __toESM(require("./ada-JCPSRXND.png"), 1);
650
+ var import_btc = __toESM(require("./btc-SRW7TEQV.png"), 1);
651
+ var import_busd = __toESM(require("./busd-RAN4SWCI.png"), 1);
652
+ var import_dai = __toESM(require("./dai-FZSM2RYY.png"), 1);
653
+ var import_dogecoin = __toESM(require("./dogecoin-QOIF7Q5M.png"), 1);
654
+ var import_dot = __toESM(require("./dot-P5Z7IW2O.png"), 1);
655
+ var import_ethereum = __toESM(require("./ethereum-3SLTXYTT.png"), 1);
656
+ var import_frax = __toESM(require("./frax-TQDXCCOP.png"), 1);
657
+ var import_link = __toESM(require("./link-THYNVLXG.png"), 1);
658
+ var import_sol = __toESM(require("./sol-A4J5S4EN.png"), 1);
659
+ var import_tether = __toESM(require("./tether-3X63FB23.png"), 1);
660
+ var import_usd_coin = __toESM(require("./usd-coin-UCS44T5B.png"), 1);
661
+ var import_weth = __toESM(require("./weth-HDGYDSJB.png"), 1);
662
+ var import_wrapped_bitcoin = __toESM(require("./wrapped-bitcoin-TS5QFJLK.png"), 1);
663
+ var import_xyo = __toESM(require("./xyo-RLMLL56X.png"), 1);
664
+
665
+ // src/components/TokenData/TokenData.ts
666
+ var TokenData = [
667
+ {
668
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/multi-collateral-dai/",
669
+ etherscanLink: "https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f",
670
+ icon: import_dai.default,
671
+ readableName: "Dai",
672
+ tokenSymbol: "dai",
673
+ uniqueTokenId: "dai"
674
+ },
675
+ {
676
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/weth/",
677
+ etherscanLink: "https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
678
+ icon: import_weth.default,
679
+ readableName: "Weth",
680
+ tokenSymbol: "weth",
681
+ uniqueTokenId: "weth"
682
+ },
683
+ {
684
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/ethereum/",
685
+ etherscanLink: "n/a",
686
+ icon: import_ethereum.default,
687
+ readableName: "Ethereum",
688
+ tokenSymbol: "eth",
689
+ uniqueTokenId: "ethereum"
690
+ },
691
+ {
692
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/bitcoin/",
693
+ etherscanLink: "n/a",
694
+ icon: import_btc.default,
695
+ readableName: "Bitcoin",
696
+ tokenSymbol: "btc",
697
+ uniqueTokenId: "btc"
698
+ },
699
+ {
700
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/xyo/",
701
+ etherscanLink: "https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758",
702
+ icon: import_xyo.default,
703
+ readableName: "XYO",
704
+ tokenSymbol: "xyo",
705
+ uniqueTokenId: "xyo"
706
+ },
707
+ {
708
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/frax/",
709
+ etherscanLink: "https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e",
710
+ icon: import_frax.default,
711
+ readableName: "Frax",
712
+ tokenSymbol: "frax",
713
+ uniqueTokenId: "frax"
714
+ },
715
+ {
716
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/wrapped-bitcoin/",
717
+ etherscanLink: "https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
718
+ icon: import_wrapped_bitcoin.default,
719
+ readableName: "Wrapped BTC",
720
+ tokenSymbol: "wbtc",
721
+ uniqueTokenId: "wbtc"
722
+ },
723
+ {
724
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/usd-coin/",
725
+ etherscanLink: "https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
726
+ icon: import_usd_coin.default,
727
+ readableName: "USDC",
728
+ tokenSymbol: "usdc",
729
+ uniqueTokenId: "usdc"
730
+ },
731
+ {
732
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/tether/",
733
+ etherscanLink: "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7",
734
+ icon: import_tether.default,
735
+ readableName: "Tether",
736
+ tokenSymbol: "usdt",
737
+ uniqueTokenId: "usdt"
738
+ },
739
+ {
740
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/cardano/",
741
+ etherscanLink: "https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98",
742
+ icon: import_ada.default,
743
+ readableName: "Cardano",
744
+ tokenSymbol: "ada",
745
+ uniqueTokenId: "ada"
746
+ },
747
+ {
748
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/binance-usd/",
749
+ etherscanLink: "https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53",
750
+ icon: import_busd.default,
751
+ readableName: "Binance USD",
752
+ tokenSymbol: "busd",
753
+ uniqueTokenId: "busd"
754
+ },
755
+ {
756
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/dogecoin/",
757
+ etherscanLink: "https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e",
758
+ icon: import_dogecoin.default,
759
+ readableName: "Dogecoin",
760
+ tokenSymbol: "doge",
761
+ uniqueTokenId: "doge"
762
+ },
763
+ {
764
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/polkadot-new/",
765
+ etherscanLink: "https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221",
766
+ icon: import_dot.default,
767
+ readableName: "Polkadot",
768
+ tokenSymbol: "dot",
769
+ uniqueTokenId: "dot"
770
+ },
771
+ {
772
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/chainlink/",
773
+ etherscanLink: "https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca",
774
+ icon: import_link.default,
775
+ readableName: "ChainLink",
776
+ tokenSymbol: "link",
777
+ uniqueTokenId: "link"
778
+ },
779
+ {
780
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/solana/",
781
+ etherscanLink: "https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8",
782
+ icon: import_sol.default,
783
+ readableName: "Solana",
784
+ tokenSymbol: "sol",
785
+ uniqueTokenId: "sol"
786
+ }
787
+ ];
788
+
789
+ // src/components/TokenData/useGetTokenData.tsx
790
+ var useGetTokenData = (symbols) => {
791
+ return symbols?.map((symbol) => {
792
+ const additionalTokenData = TokenData.find((x) => x.tokenSymbol === symbol);
793
+ const checkedTokenData = additionalTokenData ?? TokenData[0];
794
+ return checkedTokenData;
795
+ });
796
+ };
797
+
798
+ // src/components/TokenSummary/TokenSummary.tsx
799
+ var import_material18 = require("@mui/material");
800
+ var import_jsx_runtime18 = require("react/jsx-runtime");
801
+ var TokenSummary = ({ icon, symbol, symbolElement, children, ...props }) => {
802
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
803
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
804
+ import_material18.CardHeader,
805
+ {
806
+ avatar: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ThemeTokenAvatar, { src: icon, alt: symbol }),
807
+ title: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_material18.Typography, { variant: "h6", fontWeight: 300, textTransform: "uppercase", children: symbolElement ?? symbol }),
808
+ ...props
809
+ }
810
+ ),
811
+ children
812
+ ] });
813
+ };
814
+
815
+ // src/components/TypographyEx.tsx
816
+ var import_material19 = require("@mui/material");
817
+ var import_jsx_runtime19 = require("react/jsx-runtime");
818
+ var TypographyEx = ({ gradient, ...props }) => {
819
+ const { classes } = useGradientStyles();
820
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material19.Typography, { className: gradient === "text" ? classes().heading : void 0, ...props });
821
+ };
822
+
823
+ // src/contexts/contextEx/create.ts
824
+ var import_react9 = require("react");
825
+ var createContextEx = () => (0, import_react9.createContext)({ provided: false });
826
+
827
+ // src/contexts/contextEx/use.ts
828
+ var import_react10 = require("react");
829
+ var useContextEx = (context, contextName, required = true) => {
830
+ const { provided, ...props } = (0, import_react10.useContext)(context);
831
+ if (!provided && required) {
832
+ throw new Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`);
833
+ }
834
+ return props;
835
+ };
836
+ var useProvided = (context) => {
837
+ const { provided } = (0, import_react10.useContext)(context);
838
+ return provided;
839
+ };
840
+
841
+ // src/contexts/diviner/Context.tsx
842
+ var ResolvedDivinerContext = () => createContextEx();
843
+
844
+ // src/contexts/diviner/Provider.tsx
845
+ var import_react11 = require("react");
846
+ var import_jsx_runtime20 = require("react/jsx-runtime");
847
+ var ResolvedDivinerProvider = ({ diviner: divinerProp, required = false, children, context }) => {
848
+ const [diviner, setDiviner] = (0, import_react11.useState)(divinerProp);
849
+ (0, import_react11.useEffect)(() => {
850
+ if (divinerProp) {
851
+ setDiviner(divinerProp);
852
+ }
853
+ }, [divinerProp, setDiviner]);
854
+ const resolveDiviner = () => {
855
+ if (divinerProp) {
856
+ return diviner === divinerProp ? diviner : void 0;
857
+ } else {
858
+ return diviner;
859
+ }
860
+ };
861
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
862
+ context.Provider,
863
+ {
864
+ value: {
865
+ diviner: resolveDiviner(),
866
+ provided: true,
867
+ setDiviner
868
+ },
869
+ children: diviner ? children : required ? null : children
870
+ }
871
+ );
872
+ };
873
+
874
+ // src/contexts/ListMode/Context.ts
875
+ var ListModeContext = createContextEx();
876
+
877
+ // src/contexts/ListMode/Provider.tsx
878
+ var import_react12 = require("react");
879
+ var import_jsx_runtime21 = require("react/jsx-runtime");
880
+ var ListModeProvider = ({ children, defaultListMode }) => {
881
+ const [listMode, setListMode] = (0, import_react12.useState)(defaultListMode ?? "default");
882
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
883
+ ListModeContext.Provider,
884
+ {
885
+ value: {
886
+ listMode,
887
+ provided: true,
888
+ setListMode
889
+ },
890
+ children
891
+ }
892
+ );
893
+ };
894
+
895
+ // src/contexts/ListMode/use.ts
896
+ var useListMode = (required = false) => {
897
+ return useContextEx(ListModeContext, "ListMode", required);
898
+ };
899
+
900
+ // src/lib/assertDefinedEx.ts
901
+ var assertDefinedEx = (expr, message) => {
902
+ if (expr !== null && expr !== void 0) return expr;
903
+ throw new Error(message);
904
+ };
905
+
906
+ // src/lib/getActualPaddingX.ts
907
+ var parseMeausureString = (measure, absolute) => {
908
+ if (measure !== void 0 && measure !== null && measure.length > 0) {
909
+ if (measure.endsWith("px")) {
910
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2)));
911
+ } else if (measure.endsWith("%")) {
912
+ if (absolute !== void 0) {
913
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 1))) / 100 * absolute;
914
+ }
915
+ throw new Error("Error Parsing Measure [missing absolute]");
916
+ } else if (measure.endsWith("vw")) {
917
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100 * window.innerWidth;
918
+ } else if (measure.endsWith("vh")) {
919
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100 * window.innerHeight;
920
+ }
921
+ throw new Error(`Error Parsing Measure [${measure}]`);
922
+ }
923
+ };
924
+ var parsePadding = (padding) => {
925
+ const parts = padding.split(" ");
926
+ switch (parts.length) {
927
+ case 4: {
928
+ return {
929
+ bottom: parts[2],
930
+ left: parts[3],
931
+ right: parts[1],
932
+ top: parts[0]
933
+ };
934
+ }
935
+ case 3: {
936
+ return {
937
+ bottom: parts[2],
938
+ right: parts[1],
939
+ top: parts[0]
940
+ };
941
+ }
942
+ case 2: {
943
+ return {
944
+ bottom: parts[0],
945
+ left: parts[1],
946
+ right: parts[1],
947
+ top: parts[0]
948
+ };
949
+ }
950
+ case 1: {
951
+ return {
952
+ bottom: parts[0],
953
+ left: parts[0],
954
+ right: parts[0],
955
+ top: parts[0]
956
+ };
957
+ }
958
+ }
959
+ };
960
+ var getActualPaddingX = (element) => {
961
+ const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue("padding"));
962
+ const paddingLeft = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue("padding-left") ?? padding?.left, element.clientWidth) ?? 0;
963
+ const paddingRight = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue("padding-right") ?? padding?.right, element.clientWidth) ?? 0;
964
+ return paddingLeft + paddingRight;
965
+ };
966
+
967
+ // src/lib/networkComponents.tsx
968
+ var import_icons_material = require("@mui/icons-material");
969
+ var import_jsx_runtime22 = require("react/jsx-runtime");
970
+ var networkComponents = [
971
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.HubRounded, { ...props }), name: "Node", slug: "node" },
972
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.TimerRounded, { ...props }), name: "Sentinel", slug: "sentinel" },
973
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.InsertLinkRounded, { ...props }), name: "Bridge", slug: "bridge" },
974
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.Inventory2Rounded, { ...props }), name: "Archivist", slug: "archivist" },
975
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.BubbleChartRounded, { ...props }), name: "Diviner", slug: "diviner" },
976
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.VisibilityRounded, { ...props }), name: "Witness", slug: "witness" }
977
+ ];
978
+ var findNetworkComponentIndex = (slug) => {
979
+ return networkComponents.findIndex((info) => info.slug === slug);
980
+ };
981
+ var findNetworkComponent = (slug) => {
982
+ return networkComponents.find((info) => info.slug === slug);
983
+ };
2
984
  //# sourceMappingURL=index.cjs.map