@xyo-network/react-shared 2.78.0 → 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,1037 @@
1
- "use strict";var St=Object.create;var B=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)B(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&&B(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?B(o,"default",{value:e,enumerable:!0}):o,e)),Ft=e=>Ee(B({},"__esModule",{value:!0}),e);var mo={};vt(mo,{AddressTableCell:()=>tt,Ampersand:()=>It,BasicHero:()=>Ht,EllipsisTableCell:()=>w,EllipsisTableCellWithRef:()=>ne,EllipsizeBox:()=>W,ErrorBoundary:()=>ee,HashTableCell:()=>Qt,ListItemButtonEx:()=>zt,ListItemButtonExTo:()=>qe,ListModeContext:()=>v,ListModeProvider:()=>io,LoadResult:()=>Ot,NotFound:()=>re,PayloadDataMissing:()=>Vt,Pipe:()=>Xt,ResolvedDivinerContext:()=>ro,ResolvedDivinerProvider:()=>no,ScrollTableOnSm:()=>Yt,SectionSpacingRow:()=>Ke,ThemeTokenAvatar:()=>E,ThemeTokenAvatarGroup:()=>Ut,TokenBar:()=>Kt,TokenData:()=>X,TokenSummary:()=>eo,TypographyEx:()=>to,assertDefinedEx:()=>so,colorfulGradientDarkMode:()=>Be,colorfulGradientLightMode:()=>Ie,createContextEx:()=>R,findNetworkComponent:()=>co,findNetworkComponentIndex:()=>lo,getActualPaddingX:()=>po,networkComponents:()=>Se,parseMeausureString:()=>Pe,parsePadding:()=>ht,useContextEx:()=>Ce,useDataState:()=>Bt,useGetTokenData:()=>jt,useGradientStyles:()=>T,useIsMobile:()=>D,useIsSmall:()=>Dt,useListMode:()=>ao,useMediaQuery:()=>C.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"),x=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"}}),T=()=>{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 C=require("@mui/material");var D=()=>{let e=(0,J.useTheme)();return(0,C.useMediaQuery)(e.breakpoints.down("md"))},Dt=()=>{let e=(0,J.useTheme)();return(0,C.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 N=require("react"),K=(e,t=0)=>{let o=(0,N.useRef)(null);return(0,N.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)(x.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=D();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:y,subLinkPath:F,button1Text:I,button2Text:we,button2To:xt,button1To:gt,button2Href:kt,button1Href:bt,subLinkIcon:yt,sx:Tt,...Ct})=>{let Y=D(),{classes:Pt}=T();return(0,i.jsx)(x.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)(x.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)(x.FlexGrowRow,{sx:{flexDirection:{lg:"row",xs:"column"}},width:"100%",marginTop:1,children:[(0,i.jsx)(Me,{href:bt,to:gt,buttonText:I}),(0,i.jsx)(Me,{href:kt,to:xt,buttonText:we})]}),(0,i.jsx)(Wt,{subLinkIcon:yt,subLinkText1:b,subLinkText2:y,subLinkPath:F,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"),g=require("react");var M=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,g.useState)(),o=(0,g.useCallback)(n=>{n!==null&&t(n.clientHeight+"px")},[]);return{contentWrapHeight:e,contentWrapRef:o}},W=(0,g.forwardRef)(({children:e,ellipsisPosition:t="start",disableSharedRef:o,typographyProps:n,...r},a)=>{let{contentWrapRef:s,contentWrapHeight:c}=qt(),b=K(a);return(0,M.jsx)(At,{beforeLineHeight:b&&!o?c:void 0,...r,ref:a,children:(0,M.jsx)(Gt,{children:(0,M.jsx)($t,{ref:s,component:"span",ellipsisPosition:t,variant:"body2",...n,children:e})})})});W.displayName="EllipsizeBox";var j=require("@mui/material"),Ae=require("@xylabs/react-flexbox"),Ge=require("react"),P=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(){var t;return this.state.error?this.props.fallbackWithError?this.props.fallbackWithError(this.state.error):this.props.fallback??(0,P.jsxs)(Ae.FlexCol,{children:[(0,P.jsx)(j.Typography,{variant:"h1",children:"Something went wrong."}),(0,P.jsxs)(j.Typography,{variant:"body1",children:["[",(t=this.state.error)==null?void 0:t.message,"]"]})]}):this.props.children}};var te=require("@mui/material"),$e=require("react-router-dom"),H=require("react/jsx-runtime"),qe=({to:e,toOptions:t,onClick:o,...n})=>{let r=(0,$e.useNavigate)();return(0,H.jsx)(te.ListItemButton,{onClick:s=>{o==null||o(s),e&&r(e,t)},...n})},zt=({to:e,...t})=>e?(0,H.jsx)(qe,{to:e,...t}):(0,H.jsx)(te.ListItemButton,{...t});var Oe=require("@xylabs/react-flexbox");var oe=require("@mui/material"),ze=require("@xylabs/react-flexbox"),S=require("react/jsx-runtime"),re=e=>(0,S.jsxs)(ze.FlexGrowCol,{...e,children:[(0,S.jsx)(oe.Typography,{variant:"h2",children:"Sorry!"}),(0,S.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 A=require("@mui/material"),G=require("react/jsx-runtime"),Vt=({alertBody:e,...t})=>(0,G.jsxs)(A.Alert,{severity:"warning",...t,children:[(0,G.jsx)(A.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 q=require("@mui/material"),je=require("@xylabs/react-link"),z=require("react");var $=require("react/jsx-runtime"),Jt=(0,q.styled)(q.TableCell,{name:"EllipsisTableCell",shouldForwardProp:e=>e!=="width",slot:"Root"})(({width:e="100%"})=>({width:e})),ne=(0,z.forwardRef)(({children:e,href:t,link:o=!1,to:n,value:r,...a},s)=>{let c=(0,z.useMemo)(()=>e||(t||o||n?(0,$.jsx)(je.LinkEx,{title:r,to:n,href:t,target:t?"_blank":void 0,children:r}):r),[e,t,o,n,r]);return(0,$.jsx)(Jt,{ref:s,...a,children:(0,$.jsx)(W,{sx:{cursor:o||n||t?"pointer":"inherit"},children:c})})});ne.displayName="EllipsisTableCell";var w=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)(w,{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,y]=(0,rt.useEvent)(void 0,c),F=`/${o}/hash/${e}?network=${n??"main"}`,I=t?`/archive/${t}${F}`:F;return(0,it.jsx)(w,{onClick:()=>{a?a(e):y==null||y("hash","click",e)},ref:b,value:e,href:r?`${r}${I}}`:void 0,to:r?void 0:I,...s})};var O=require("@mui/material"),at=require("react/jsx-runtime"),E=({...e})=>{let t=(0,O.useTheme)();return(0,at.jsx)(O.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==null?void 0:e.map((o,n)=>(0,ie.jsx)(E,{src:o},n))});var L=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)(L.Paper,{elevation:0,className:"TokenBar-root",...s,children:(0,k.jsxs)(pt.FlexRow,{justifyContent:"space-between",children:[(0,k.jsxs)(L.Typography,{variant:"body1",fontWeight:300,margin:1,...t,children:[e,o]}),(0,k.jsxs)(L.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),xe=p(require("./tether-3X63FB23.png"),1),ge=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 X=[{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:ge.default,readableName:"USDC",tokenSymbol:"usdc",uniqueTokenId:"usdc"},{coinmarketcapLink:"https://coinmarketcap.com/currencies/tether/",etherscanLink:"https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7",icon:xe.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==null?void 0:e.map(t=>X.find(r=>r.tokenSymbol===t)??X[0]);var V=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)(V.CardHeader,{avatar:(0,f.jsx)(E,{src:e,alt:t}),title:(0,f.jsx)(V.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}=T();return(0,dt.jsx)(lt.Typography,{className:e==="text"?o().heading:void 0,...t})};var ct=require("react"),R=()=>(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=()=>R();var _=require("react"),mt=require("react/jsx-runtime"),no=({diviner:e,required:t=!1,children:o,context:n})=>{let[r,a]=(0,_.useState)(e);(0,_.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 v=R();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)(v.Provider,{value:{listMode:o,provided:!0,setListMode:n},children:e})};var ao=(e=!1)=>Ce(v,"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==null?void 0:t.left),e.clientWidth)??0,n=Pe(window.getComputedStyle(e,null).getPropertyValue("padding-right")??(t==null?void 0: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);0&&(module.exports={AddressTableCell,Ampersand,BasicHero,EllipsisTableCell,EllipsisTableCellWithRef,EllipsizeBox,ErrorBoundary,HashTableCell,ListItemButtonEx,ListItemButtonExTo,ListModeContext,ListModeProvider,LoadResult,NotFound,PayloadDataMissing,Pipe,ResolvedDivinerContext,ResolvedDivinerProvider,ScrollTableOnSm,SectionSpacingRow,ThemeTokenAvatar,ThemeTokenAvatarGroup,TokenBar,TokenData,TokenSummary,TypographyEx,assertDefinedEx,colorfulGradientDarkMode,colorfulGradientLightMode,createContextEx,findNetworkComponent,findNetworkComponentIndex,getActualPaddingX,networkComponents,parseMeausureString,parsePadding,useContextEx,useDataState,useGetTokenData,useGradientStyles,useIsMobile,useIsSmall,useListMode,useMediaQuery,usePayloadHash,usePayloadHashes,usePromise,useProvided,useShareForwardedRef});
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
+ var _a;
432
+ if (this.state.error) {
433
+ if (this.props.fallbackWithError) {
434
+ return this.props.fallbackWithError(this.state.error);
435
+ }
436
+ return this.props.fallback ?? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_react_flexbox2.FlexCol, { children: [
437
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_material7.Typography, { variant: "h1", children: "Something went wrong." }),
438
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_material7.Typography, { variant: "body1", children: [
439
+ "[",
440
+ (_a = this.state.error) == null ? void 0 : _a.message,
441
+ "]"
442
+ ] })
443
+ ] });
444
+ }
445
+ return this.props.children;
446
+ }
447
+ };
448
+
449
+ // src/components/ListItemButtonEx.tsx
450
+ var import_material8 = require("@mui/material");
451
+ var import_react_router_dom = require("react-router-dom");
452
+ var import_jsx_runtime5 = require("react/jsx-runtime");
453
+ var ListItemButtonExTo = ({ to, toOptions, onClick, ...props }) => {
454
+ const navigate = (0, import_react_router_dom.useNavigate)();
455
+ const localOnClick = (event) => {
456
+ onClick == null ? void 0 : onClick(event);
457
+ if (to) {
458
+ navigate(to, toOptions);
459
+ }
460
+ };
461
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material8.ListItemButton, { onClick: localOnClick, ...props });
462
+ };
463
+ var ListItemButtonEx = ({ to, ...props }) => {
464
+ return to ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ListItemButtonExTo, { to, ...props }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_material8.ListItemButton, { ...props });
465
+ };
466
+
467
+ // src/components/LoadResult.tsx
468
+ var import_react_flexbox4 = require("@xylabs/react-flexbox");
469
+
470
+ // src/components/NotFound.tsx
471
+ var import_material9 = require("@mui/material");
472
+ var import_react_flexbox3 = require("@xylabs/react-flexbox");
473
+ var import_jsx_runtime6 = require("react/jsx-runtime");
474
+ var NotFound = (props) => {
475
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(import_react_flexbox3.FlexGrowCol, { ...props, children: [
476
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material9.Typography, { variant: "h2", children: "Sorry!" }),
477
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_material9.Typography, { marginY: 3, variant: "body2", children: "Can't find anything here" })
478
+ ] });
479
+ };
480
+
481
+ // src/components/LoadResult.tsx
482
+ var import_jsx_runtime7 = require("react/jsx-runtime");
483
+ function LoadResult(props) {
484
+ const { notFound, error, searchResult, children } = props;
485
+ if (notFound) {
486
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(NotFound, {});
487
+ }
488
+ if (error) {
489
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_jsx_runtime7.Fragment, { children });
490
+ }
491
+ 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 });
492
+ }
493
+
494
+ // src/components/Pipe.tsx
495
+ var import_material10 = require("@mui/material");
496
+ var import_jsx_runtime8 = require("react/jsx-runtime");
497
+ var Pipe = (props) => {
498
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_material10.Typography, { marginX: 1, component: "span", ...props, children: "|" });
499
+ };
500
+
501
+ // src/components/pluginValidation/DataMissing.tsx
502
+ var import_material11 = require("@mui/material");
503
+ var import_jsx_runtime9 = require("react/jsx-runtime");
504
+ var PayloadDataMissing = ({ alertBody, ...props }) => {
505
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_material11.Alert, { severity: "warning", ...props, children: [
506
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_material11.AlertTitle, { children: "Missing Data" }),
507
+ alertBody ?? "Payload is missing required data to render correctly"
508
+ ] });
509
+ };
510
+
511
+ // src/components/ScrollTableOnSm.tsx
512
+ var import_material12 = require("@mui/material");
513
+ var import_jsx_runtime10 = require("react/jsx-runtime");
514
+ var StyledScrollTableOnSm = (0, import_material12.styled)("div")(({ theme }) => ({
515
+ [theme.breakpoints.down("md")]: {
516
+ overflowX: "scroll"
517
+ },
518
+ display: "flex",
519
+ flexGrow: 1
520
+ }));
521
+ var ScrollTableOnSm = ({ children }) => /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(StyledScrollTableOnSm, { children });
522
+
523
+ // src/components/SectionSpacingRow/SectionSpacingRow.tsx
524
+ var import_material13 = require("@mui/material");
525
+ var import_react_flexbox5 = require("@xylabs/react-flexbox");
526
+ var import_react5 = require("react");
527
+ var import_jsx_runtime11 = require("react/jsx-runtime");
528
+ var SectionSpacingRow = (0, import_react5.forwardRef)(({ children, sx, ...props }, ref) => {
529
+ const theme = (0, import_material13.useTheme)();
530
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
531
+ import_react_flexbox5.FlexGrowRow,
532
+ {
533
+ sx: {
534
+ paddingBottom: { md: theme.spacing(5), xs: theme.spacing(5) },
535
+ paddingTop: { md: theme.spacing(5), xs: theme.spacing(5) },
536
+ ...sx
537
+ },
538
+ width: "100%",
539
+ ref,
540
+ ...props,
541
+ children
542
+ }
543
+ );
544
+ });
545
+ SectionSpacingRow.displayName = "SectionSpacingRow";
546
+
547
+ // src/components/TableCell/AddressTableCell.tsx
548
+ var import_react7 = require("react");
549
+
550
+ // src/components/TableCell/EllipsisTableCell.tsx
551
+ var import_material14 = require("@mui/material");
552
+ var import_react_link2 = require("@xylabs/react-link");
553
+ var import_react6 = require("react");
554
+ var import_jsx_runtime12 = require("react/jsx-runtime");
555
+ var EllipsisTableCellRoot = (0, import_material14.styled)(import_material14.TableCell, {
556
+ name: "EllipsisTableCell",
557
+ shouldForwardProp: (prop) => prop !== "width",
558
+ slot: "Root"
559
+ })(({ width = "100%" }) => ({
560
+ width
561
+ }));
562
+ var EllipsisTableCellWithRef = (0, import_react6.forwardRef)(
563
+ ({ children, href, link = false, to, value, ...props }, ref) => {
564
+ const data = (0, import_react6.useMemo)(() => {
565
+ if (children) {
566
+ return children;
567
+ }
568
+ if (href || link || to) {
569
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_link2.LinkEx, { title: value, to, href, target: href ? "_blank" : void 0, children: value });
570
+ }
571
+ return value;
572
+ }, [children, href, link, to, value]);
573
+ 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 }) });
574
+ }
575
+ );
576
+ EllipsisTableCellWithRef.displayName = "EllipsisTableCell";
577
+ var EllipsisTableCell = EllipsisTableCellWithRef;
578
+
579
+ // src/components/TableCell/AddressTableCell.tsx
580
+ var import_jsx_runtime13 = require("react/jsx-runtime");
581
+ var AddressTableCell = (0, import_react7.forwardRef)(({ value, archive, exploreDomain, link, ...props }, ref) => {
582
+ const href = exploreDomain && archive ? `${exploreDomain}/archive/${archive}/address/${value}` : void 0;
583
+ const to = exploreDomain === void 0 && archive ? `/archive/${archive}/address/${value}` : void 0;
584
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(EllipsisTableCell, { value, href, to, ref, link, ...props });
585
+ });
586
+ AddressTableCell.displayName = "AddressTableCell";
587
+
588
+ // src/components/TableCell/HashTableCell.tsx
589
+ var import_react_event = require("@xyo-network/react-event");
590
+ var import_react8 = require("react");
591
+ var import_jsx_runtime14 = require("react/jsx-runtime");
592
+ var HashTableCell = ({ value, archive, dataType, network, exploreDomain, onHashClick, ...props }) => {
593
+ const ref = (0, import_react8.useRef)(null);
594
+ const [tableCellRef, dispatch] = (0, import_react_event.useEvent)(void 0, ref);
595
+ const hashPath = `/${dataType}/hash/${value}?network=${network ?? "main"}`;
596
+ const explorePath = archive ? `/archive/${archive}${hashPath}` : hashPath;
597
+ const handleCellClick = () => {
598
+ if (onHashClick) {
599
+ onHashClick(value);
600
+ } else {
601
+ dispatch == null ? void 0 : dispatch("hash", "click", value);
602
+ }
603
+ };
604
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
605
+ EllipsisTableCell,
606
+ {
607
+ onClick: handleCellClick,
608
+ ref: tableCellRef,
609
+ value,
610
+ href: exploreDomain ? `${exploreDomain}${explorePath}}` : void 0,
611
+ to: exploreDomain ? void 0 : explorePath,
612
+ ...props
613
+ }
614
+ );
615
+ };
616
+
617
+ // src/components/ThemeTokenAvatar/ThemeTokenAvatar.tsx
618
+ var import_material15 = require("@mui/material");
619
+ var import_jsx_runtime15 = require("react/jsx-runtime");
620
+ var ThemeTokenAvatar = ({ ...props }) => {
621
+ const theme = (0, import_material15.useTheme)();
622
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_material15.Avatar, { sx: { background: theme.palette.common.white }, ...props });
623
+ };
624
+
625
+ // src/components/ThemeTokenAvatarGroup/ThemeTokenAvatarGroup.tsx
626
+ var import_material16 = require("@mui/material");
627
+ var import_jsx_runtime16 = require("react/jsx-runtime");
628
+ var ThemeTokenAvatarGroup = ({ images, ...props }) => {
629
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_material16.AvatarGroup, { ...props, children: images == null ? void 0 : images.map((image, index) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(ThemeTokenAvatar, { src: image }, index)) });
630
+ };
631
+
632
+ // src/components/TokenBar/TokenBar.tsx
633
+ var import_material17 = require("@mui/material");
634
+ var import_react_flexbox6 = require("@xylabs/react-flexbox");
635
+ var import_jsx_runtime17 = require("react/jsx-runtime");
636
+ var TokenBar = ({ text1, text1Props, text1Suffix, text2, text2Props, text2Suffix, ...props }) => {
637
+ 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: [
638
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_material17.Typography, { variant: "body1", fontWeight: 300, margin: 1, ...text1Props, children: [
639
+ text1,
640
+ text1Suffix
641
+ ] }),
642
+ /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_material17.Typography, { variant: "body1", fontWeight: 300, textTransform: "uppercase", color: "gray", margin: 1, ...text2Props, children: [
643
+ text2,
644
+ text2Suffix
645
+ ] })
646
+ ] }) });
647
+ };
648
+
649
+ // src/components/TokenData/img/index.ts
650
+ var import_ada = __toESM(require("./ada-JCPSRXND.png"), 1);
651
+ var import_btc = __toESM(require("./btc-SRW7TEQV.png"), 1);
652
+ var import_busd = __toESM(require("./busd-RAN4SWCI.png"), 1);
653
+ var import_dai = __toESM(require("./dai-FZSM2RYY.png"), 1);
654
+ var import_dogecoin = __toESM(require("./dogecoin-QOIF7Q5M.png"), 1);
655
+ var import_dot = __toESM(require("./dot-P5Z7IW2O.png"), 1);
656
+ var import_ethereum = __toESM(require("./ethereum-3SLTXYTT.png"), 1);
657
+ var import_frax = __toESM(require("./frax-TQDXCCOP.png"), 1);
658
+ var import_link = __toESM(require("./link-THYNVLXG.png"), 1);
659
+ var import_sol = __toESM(require("./sol-A4J5S4EN.png"), 1);
660
+ var import_tether = __toESM(require("./tether-3X63FB23.png"), 1);
661
+ var import_usd_coin = __toESM(require("./usd-coin-UCS44T5B.png"), 1);
662
+ var import_weth = __toESM(require("./weth-HDGYDSJB.png"), 1);
663
+ var import_wrapped_bitcoin = __toESM(require("./wrapped-bitcoin-TS5QFJLK.png"), 1);
664
+ var import_xyo = __toESM(require("./xyo-RLMLL56X.png"), 1);
665
+
666
+ // src/components/TokenData/TokenData.ts
667
+ var TokenData = [
668
+ {
669
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/multi-collateral-dai/",
670
+ etherscanLink: "https://etherscan.io/token/0x6b175474e89094c44da98b954eedeac495271d0f",
671
+ icon: import_dai.default,
672
+ readableName: "Dai",
673
+ tokenSymbol: "dai",
674
+ uniqueTokenId: "dai"
675
+ },
676
+ {
677
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/weth/",
678
+ etherscanLink: "https://etherscan.io/token/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
679
+ icon: import_weth.default,
680
+ readableName: "Weth",
681
+ tokenSymbol: "weth",
682
+ uniqueTokenId: "weth"
683
+ },
684
+ {
685
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/ethereum/",
686
+ etherscanLink: "n/a",
687
+ icon: import_ethereum.default,
688
+ readableName: "Ethereum",
689
+ tokenSymbol: "eth",
690
+ uniqueTokenId: "ethereum"
691
+ },
692
+ {
693
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/bitcoin/",
694
+ etherscanLink: "n/a",
695
+ icon: import_btc.default,
696
+ readableName: "Bitcoin",
697
+ tokenSymbol: "btc",
698
+ uniqueTokenId: "btc"
699
+ },
700
+ {
701
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/xyo/",
702
+ etherscanLink: "https://etherscan.io/token/0x55296f69f40ea6d20e478533c15a6b08b654e758",
703
+ icon: import_xyo.default,
704
+ readableName: "XYO",
705
+ tokenSymbol: "xyo",
706
+ uniqueTokenId: "xyo"
707
+ },
708
+ {
709
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/frax/",
710
+ etherscanLink: "https://etherscan.io/token/0x853d955acef822db058eb8505911ed77f175b99e",
711
+ icon: import_frax.default,
712
+ readableName: "Frax",
713
+ tokenSymbol: "frax",
714
+ uniqueTokenId: "frax"
715
+ },
716
+ {
717
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/wrapped-bitcoin/",
718
+ etherscanLink: "https://etherscan.io/token/0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
719
+ icon: import_wrapped_bitcoin.default,
720
+ readableName: "Wrapped BTC",
721
+ tokenSymbol: "wbtc",
722
+ uniqueTokenId: "wbtc"
723
+ },
724
+ {
725
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/usd-coin/",
726
+ etherscanLink: "https://etherscan.io/token/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
727
+ icon: import_usd_coin.default,
728
+ readableName: "USDC",
729
+ tokenSymbol: "usdc",
730
+ uniqueTokenId: "usdc"
731
+ },
732
+ {
733
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/tether/",
734
+ etherscanLink: "https://etherscan.io/token/0xdac17f958d2ee523a2206206994597c13d831ec7",
735
+ icon: import_tether.default,
736
+ readableName: "Tether",
737
+ tokenSymbol: "usdt",
738
+ uniqueTokenId: "usdt"
739
+ },
740
+ {
741
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/cardano/",
742
+ etherscanLink: "https://etherscan.io/token/0xc14777c94229582e5758c5a79b83dde876b9be98",
743
+ icon: import_ada.default,
744
+ readableName: "Cardano",
745
+ tokenSymbol: "ada",
746
+ uniqueTokenId: "ada"
747
+ },
748
+ {
749
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/binance-usd/",
750
+ etherscanLink: "https://etherscan.io/token/0x4Fabb145d64652a948d72533023f6E7A623C7C53",
751
+ icon: import_busd.default,
752
+ readableName: "Binance USD",
753
+ tokenSymbol: "busd",
754
+ uniqueTokenId: "busd"
755
+ },
756
+ {
757
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/dogecoin/",
758
+ etherscanLink: "https://etherscan.io/token/0x7618b5024a6349f9aef10ddfd33e3428c734551e",
759
+ icon: import_dogecoin.default,
760
+ readableName: "Dogecoin",
761
+ tokenSymbol: "doge",
762
+ uniqueTokenId: "doge"
763
+ },
764
+ {
765
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/polkadot-new/",
766
+ etherscanLink: "https://etherscan.io/token/0x2d4fb6dd969992c881d8e534c747cc925d5ba221",
767
+ icon: import_dot.default,
768
+ readableName: "Polkadot",
769
+ tokenSymbol: "dot",
770
+ uniqueTokenId: "dot"
771
+ },
772
+ {
773
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/chainlink/",
774
+ etherscanLink: "https://etherscan.io/token/0x514910771af9ca656af840dff83e8264ecf986ca",
775
+ icon: import_link.default,
776
+ readableName: "ChainLink",
777
+ tokenSymbol: "link",
778
+ uniqueTokenId: "link"
779
+ },
780
+ {
781
+ coinmarketcapLink: "https://coinmarketcap.com/currencies/solana/",
782
+ etherscanLink: "https://etherscan.io/token/0x1f54638b7737193ffd86c19ec51907a7c41755d8",
783
+ icon: import_sol.default,
784
+ readableName: "Solana",
785
+ tokenSymbol: "sol",
786
+ uniqueTokenId: "sol"
787
+ }
788
+ ];
789
+
790
+ // src/components/TokenData/useGetTokenData.tsx
791
+ var useGetTokenData = (symbols) => {
792
+ return symbols == null ? void 0 : symbols.map((symbol) => {
793
+ const additionalTokenData = TokenData.find((x) => x.tokenSymbol === symbol);
794
+ const checkedTokenData = additionalTokenData ?? TokenData[0];
795
+ return checkedTokenData;
796
+ });
797
+ };
798
+
799
+ // src/components/TokenSummary/TokenSummary.tsx
800
+ var import_material18 = require("@mui/material");
801
+ var import_jsx_runtime18 = require("react/jsx-runtime");
802
+ var TokenSummary = ({ icon, symbol, symbolElement, children, ...props }) => {
803
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
804
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
805
+ import_material18.CardHeader,
806
+ {
807
+ avatar: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ThemeTokenAvatar, { src: icon, alt: symbol }),
808
+ title: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_material18.Typography, { variant: "h6", fontWeight: 300, textTransform: "uppercase", children: symbolElement ?? symbol }),
809
+ ...props
810
+ }
811
+ ),
812
+ children
813
+ ] });
814
+ };
815
+
816
+ // src/components/TypographyEx.tsx
817
+ var import_material19 = require("@mui/material");
818
+ var import_jsx_runtime19 = require("react/jsx-runtime");
819
+ var TypographyEx = ({ gradient, ...props }) => {
820
+ const { classes } = useGradientStyles();
821
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_material19.Typography, { className: gradient === "text" ? classes().heading : void 0, ...props });
822
+ };
823
+
824
+ // src/contexts/contextEx/create.ts
825
+ var import_react9 = require("react");
826
+ var createContextEx = () => (0, import_react9.createContext)({ provided: false });
827
+
828
+ // src/contexts/contextEx/use.ts
829
+ var import_react10 = require("react");
830
+ var useContextEx = (context, contextName, required = true) => {
831
+ const { provided, ...props } = (0, import_react10.useContext)(context);
832
+ if (!provided && required) {
833
+ throw new Error(`use${contextName} can not be used outside of a ${contextName}Context when required=true`);
834
+ }
835
+ return props;
836
+ };
837
+ var useProvided = (context) => {
838
+ const { provided } = (0, import_react10.useContext)(context);
839
+ return provided;
840
+ };
841
+
842
+ // src/contexts/diviner/Context.tsx
843
+ var ResolvedDivinerContext = () => createContextEx();
844
+
845
+ // src/contexts/diviner/Provider.tsx
846
+ var import_react11 = require("react");
847
+ var import_jsx_runtime20 = require("react/jsx-runtime");
848
+ var ResolvedDivinerProvider = ({ diviner: divinerProp, required = false, children, context }) => {
849
+ const [diviner, setDiviner] = (0, import_react11.useState)(divinerProp);
850
+ (0, import_react11.useEffect)(() => {
851
+ if (divinerProp) {
852
+ setDiviner(divinerProp);
853
+ }
854
+ }, [divinerProp, setDiviner]);
855
+ const resolveDiviner = () => {
856
+ if (divinerProp) {
857
+ return diviner === divinerProp ? diviner : void 0;
858
+ } else {
859
+ return diviner;
860
+ }
861
+ };
862
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
863
+ context.Provider,
864
+ {
865
+ value: {
866
+ diviner: resolveDiviner(),
867
+ provided: true,
868
+ setDiviner
869
+ },
870
+ children: diviner ? children : required ? null : children
871
+ }
872
+ );
873
+ };
874
+
875
+ // src/contexts/ListMode/Context.ts
876
+ var ListModeContext = createContextEx();
877
+
878
+ // src/contexts/ListMode/Provider.tsx
879
+ var import_react12 = require("react");
880
+ var import_jsx_runtime21 = require("react/jsx-runtime");
881
+ var ListModeProvider = ({ children, defaultListMode }) => {
882
+ const [listMode, setListMode] = (0, import_react12.useState)(defaultListMode ?? "default");
883
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
884
+ ListModeContext.Provider,
885
+ {
886
+ value: {
887
+ listMode,
888
+ provided: true,
889
+ setListMode
890
+ },
891
+ children
892
+ }
893
+ );
894
+ };
895
+
896
+ // src/contexts/ListMode/use.ts
897
+ var useListMode = (required = false) => {
898
+ return useContextEx(ListModeContext, "ListMode", required);
899
+ };
900
+
901
+ // src/lib/assertDefinedEx.ts
902
+ var assertDefinedEx = (expr, message) => {
903
+ if (expr !== null && expr !== void 0) return expr;
904
+ throw new Error(message);
905
+ };
906
+
907
+ // src/lib/getActualPaddingX.ts
908
+ var parseMeausureString = (measure, absolute) => {
909
+ if (measure !== void 0 && measure !== null && measure.length > 0) {
910
+ if (measure.endsWith("px")) {
911
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2)));
912
+ } else if (measure.endsWith("%")) {
913
+ if (absolute !== void 0) {
914
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 1))) / 100 * absolute;
915
+ }
916
+ throw new Error("Error Parsing Measure [missing absolute]");
917
+ } else if (measure.endsWith("vw")) {
918
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100 * window.innerWidth;
919
+ } else if (measure.endsWith("vh")) {
920
+ return Number.parseFloat(measure.slice(0, Math.max(0, measure.length - 2))) / 100 * window.innerHeight;
921
+ }
922
+ throw new Error(`Error Parsing Measure [${measure}]`);
923
+ }
924
+ };
925
+ var parsePadding = (padding) => {
926
+ const parts = padding.split(" ");
927
+ switch (parts.length) {
928
+ case 4: {
929
+ return {
930
+ bottom: parts[2],
931
+ left: parts[3],
932
+ right: parts[1],
933
+ top: parts[0]
934
+ };
935
+ }
936
+ case 3: {
937
+ return {
938
+ bottom: parts[2],
939
+ right: parts[1],
940
+ top: parts[0]
941
+ };
942
+ }
943
+ case 2: {
944
+ return {
945
+ bottom: parts[0],
946
+ left: parts[1],
947
+ right: parts[1],
948
+ top: parts[0]
949
+ };
950
+ }
951
+ case 1: {
952
+ return {
953
+ bottom: parts[0],
954
+ left: parts[0],
955
+ right: parts[0],
956
+ top: parts[0]
957
+ };
958
+ }
959
+ }
960
+ };
961
+ var getActualPaddingX = (element) => {
962
+ const padding = parsePadding(window.getComputedStyle(element, null).getPropertyValue("padding"));
963
+ const paddingLeft = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue("padding-left") ?? (padding == null ? void 0 : padding.left), element.clientWidth) ?? 0;
964
+ const paddingRight = parseMeausureString(window.getComputedStyle(element, null).getPropertyValue("padding-right") ?? (padding == null ? void 0 : padding.right), element.clientWidth) ?? 0;
965
+ return paddingLeft + paddingRight;
966
+ };
967
+
968
+ // src/lib/networkComponents.tsx
969
+ var import_icons_material = require("@mui/icons-material");
970
+ var import_jsx_runtime22 = require("react/jsx-runtime");
971
+ var networkComponents = [
972
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.HubRounded, { ...props }), name: "Node", slug: "node" },
973
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.TimerRounded, { ...props }), name: "Sentinel", slug: "sentinel" },
974
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.InsertLinkRounded, { ...props }), name: "Bridge", slug: "bridge" },
975
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.Inventory2Rounded, { ...props }), name: "Archivist", slug: "archivist" },
976
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.BubbleChartRounded, { ...props }), name: "Diviner", slug: "diviner" },
977
+ { icon: (props) => /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_icons_material.VisibilityRounded, { ...props }), name: "Witness", slug: "witness" }
978
+ ];
979
+ var findNetworkComponentIndex = (slug) => {
980
+ return networkComponents.findIndex((info) => info.slug === slug);
981
+ };
982
+ var findNetworkComponent = (slug) => {
983
+ return networkComponents.find((info) => info.slug === slug);
984
+ };
985
+ // Annotate the CommonJS export names for ESM import in node:
986
+ 0 && (module.exports = {
987
+ AddressTableCell,
988
+ Ampersand,
989
+ BasicHero,
990
+ EllipsisTableCell,
991
+ EllipsisTableCellWithRef,
992
+ EllipsizeBox,
993
+ ErrorBoundary,
994
+ HashTableCell,
995
+ ListItemButtonEx,
996
+ ListItemButtonExTo,
997
+ ListModeContext,
998
+ ListModeProvider,
999
+ LoadResult,
1000
+ NotFound,
1001
+ PayloadDataMissing,
1002
+ Pipe,
1003
+ ResolvedDivinerContext,
1004
+ ResolvedDivinerProvider,
1005
+ ScrollTableOnSm,
1006
+ SectionSpacingRow,
1007
+ ThemeTokenAvatar,
1008
+ ThemeTokenAvatarGroup,
1009
+ TokenBar,
1010
+ TokenData,
1011
+ TokenSummary,
1012
+ TypographyEx,
1013
+ assertDefinedEx,
1014
+ colorfulGradientDarkMode,
1015
+ colorfulGradientLightMode,
1016
+ createContextEx,
1017
+ findNetworkComponent,
1018
+ findNetworkComponentIndex,
1019
+ getActualPaddingX,
1020
+ networkComponents,
1021
+ parseMeausureString,
1022
+ parsePadding,
1023
+ useContextEx,
1024
+ useDataState,
1025
+ useGetTokenData,
1026
+ useGradientStyles,
1027
+ useIsMobile,
1028
+ useIsSmall,
1029
+ useListMode,
1030
+ useMediaQuery,
1031
+ usePayloadHash,
1032
+ usePayloadHashes,
1033
+ usePromise,
1034
+ useProvided,
1035
+ useShareForwardedRef
1036
+ });
2
1037
  //# sourceMappingURL=index.cjs.map