@rainbow-me/rainbowkit
Version:
The best way to connect a wallet
724 lines (693 loc) • 282 kB
JavaScript
"use client";
import {
darkTheme
} from "./chunk-RZWDCITT.js";
import {
lightTheme
} from "./chunk-72HZGUJA.js";
import {
midnightTheme
} from "./chunk-7ZP3ENJ2.js";
import "./chunk-DQLAW7KN.js";
import {
en_US_default
} from "./chunk-JT4N2T7B.js";
// src/components/ConnectButton/ConnectButton.tsx
import React60, { useContext as useContext22, useEffect as useEffect18, useState as useState15 } from "react";
// src/css/sprinkles.css.ts
import { createMapValueFn as _51c72 } from "@vanilla-extract/sprinkles/createUtils";
import { createNormalizeValueFn as _a49f6 } from "@vanilla-extract/sprinkles/createUtils";
import { createSprinkles as _ad221 } from "@vanilla-extract/sprinkles/createRuntimeSprinkles";
var largeScreenMinWidth = 768;
var mapResponsiveValue = _51c72({ conditions: { defaultCondition: "smallScreen", conditionNames: ["smallScreen", "largeScreen"], responsiveArray: void 0 } });
var normalizeResponsiveValue = _a49f6({ conditions: { defaultCondition: "smallScreen", conditionNames: ["smallScreen", "largeScreen"], responsiveArray: void 0 } });
var sprinkles = _ad221({ conditions: { defaultCondition: "base", conditionNames: ["base", "hover", "active"], responsiveArray: void 0 }, styles: { background: { values: { accentColor: { conditions: { base: "ju367v9i", hover: "ju367v9j", active: "ju367v9k" }, defaultClass: "ju367v9i" }, accentColorForeground: { conditions: { base: "ju367v9l", hover: "ju367v9m", active: "ju367v9n" }, defaultClass: "ju367v9l" }, actionButtonBorder: { conditions: { base: "ju367v9o", hover: "ju367v9p", active: "ju367v9q" }, defaultClass: "ju367v9o" }, actionButtonBorderMobile: { conditions: { base: "ju367v9r", hover: "ju367v9s", active: "ju367v9t" }, defaultClass: "ju367v9r" }, actionButtonSecondaryBackground: { conditions: { base: "ju367v9u", hover: "ju367v9v", active: "ju367v9w" }, defaultClass: "ju367v9u" }, closeButton: { conditions: { base: "ju367v9x", hover: "ju367v9y", active: "ju367v9z" }, defaultClass: "ju367v9x" }, closeButtonBackground: { conditions: { base: "ju367va0", hover: "ju367va1", active: "ju367va2" }, defaultClass: "ju367va0" }, connectButtonBackground: { conditions: { base: "ju367va3", hover: "ju367va4", active: "ju367va5" }, defaultClass: "ju367va3" }, connectButtonBackgroundError: { conditions: { base: "ju367va6", hover: "ju367va7", active: "ju367va8" }, defaultClass: "ju367va6" }, connectButtonInnerBackground: { conditions: { base: "ju367va9", hover: "ju367vaa", active: "ju367vab" }, defaultClass: "ju367va9" }, connectButtonText: { conditions: { base: "ju367vac", hover: "ju367vad", active: "ju367vae" }, defaultClass: "ju367vac" }, connectButtonTextError: { conditions: { base: "ju367vaf", hover: "ju367vag", active: "ju367vah" }, defaultClass: "ju367vaf" }, connectionIndicator: { conditions: { base: "ju367vai", hover: "ju367vaj", active: "ju367vak" }, defaultClass: "ju367vai" }, downloadBottomCardBackground: { conditions: { base: "ju367val", hover: "ju367vam", active: "ju367van" }, defaultClass: "ju367val" }, downloadTopCardBackground: { conditions: { base: "ju367vao", hover: "ju367vap", active: "ju367vaq" }, defaultClass: "ju367vao" }, error: { conditions: { base: "ju367var", hover: "ju367vas", active: "ju367vat" }, defaultClass: "ju367var" }, generalBorder: { conditions: { base: "ju367vau", hover: "ju367vav", active: "ju367vaw" }, defaultClass: "ju367vau" }, generalBorderDim: { conditions: { base: "ju367vax", hover: "ju367vay", active: "ju367vaz" }, defaultClass: "ju367vax" }, menuItemBackground: { conditions: { base: "ju367vb0", hover: "ju367vb1", active: "ju367vb2" }, defaultClass: "ju367vb0" }, modalBackdrop: { conditions: { base: "ju367vb3", hover: "ju367vb4", active: "ju367vb5" }, defaultClass: "ju367vb3" }, modalBackground: { conditions: { base: "ju367vb6", hover: "ju367vb7", active: "ju367vb8" }, defaultClass: "ju367vb6" }, modalBorder: { conditions: { base: "ju367vb9", hover: "ju367vba", active: "ju367vbb" }, defaultClass: "ju367vb9" }, modalText: { conditions: { base: "ju367vbc", hover: "ju367vbd", active: "ju367vbe" }, defaultClass: "ju367vbc" }, modalTextDim: { conditions: { base: "ju367vbf", hover: "ju367vbg", active: "ju367vbh" }, defaultClass: "ju367vbf" }, modalTextSecondary: { conditions: { base: "ju367vbi", hover: "ju367vbj", active: "ju367vbk" }, defaultClass: "ju367vbi" }, profileAction: { conditions: { base: "ju367vbl", hover: "ju367vbm", active: "ju367vbn" }, defaultClass: "ju367vbl" }, profileActionHover: { conditions: { base: "ju367vbo", hover: "ju367vbp", active: "ju367vbq" }, defaultClass: "ju367vbo" }, profileForeground: { conditions: { base: "ju367vbr", hover: "ju367vbs", active: "ju367vbt" }, defaultClass: "ju367vbr" }, selectedOptionBorder: { conditions: { base: "ju367vbu", hover: "ju367vbv", active: "ju367vbw" }, defaultClass: "ju367vbu" }, standby: { conditions: { base: "ju367vbx", hover: "ju367vby", active: "ju367vbz" }, defaultClass: "ju367vbx" } } }, borderColor: { values: { accentColor: { conditions: { base: "ju367vc0", hover: "ju367vc1", active: "ju367vc2" }, defaultClass: "ju367vc0" }, accentColorForeground: { conditions: { base: "ju367vc3", hover: "ju367vc4", active: "ju367vc5" }, defaultClass: "ju367vc3" }, actionButtonBorder: { conditions: { base: "ju367vc6", hover: "ju367vc7", active: "ju367vc8" }, defaultClass: "ju367vc6" }, actionButtonBorderMobile: { conditions: { base: "ju367vc9", hover: "ju367vca", active: "ju367vcb" }, defaultClass: "ju367vc9" }, actionButtonSecondaryBackground: { conditions: { base: "ju367vcc", hover: "ju367vcd", active: "ju367vce" }, defaultClass: "ju367vcc" }, closeButton: { conditions: { base: "ju367vcf", hover: "ju367vcg", active: "ju367vch" }, defaultClass: "ju367vcf" }, closeButtonBackground: { conditions: { base: "ju367vci", hover: "ju367vcj", active: "ju367vck" }, defaultClass: "ju367vci" }, connectButtonBackground: { conditions: { base: "ju367vcl", hover: "ju367vcm", active: "ju367vcn" }, defaultClass: "ju367vcl" }, connectButtonBackgroundError: { conditions: { base: "ju367vco", hover: "ju367vcp", active: "ju367vcq" }, defaultClass: "ju367vco" }, connectButtonInnerBackground: { conditions: { base: "ju367vcr", hover: "ju367vcs", active: "ju367vct" }, defaultClass: "ju367vcr" }, connectButtonText: { conditions: { base: "ju367vcu", hover: "ju367vcv", active: "ju367vcw" }, defaultClass: "ju367vcu" }, connectButtonTextError: { conditions: { base: "ju367vcx", hover: "ju367vcy", active: "ju367vcz" }, defaultClass: "ju367vcx" }, connectionIndicator: { conditions: { base: "ju367vd0", hover: "ju367vd1", active: "ju367vd2" }, defaultClass: "ju367vd0" }, downloadBottomCardBackground: { conditions: { base: "ju367vd3", hover: "ju367vd4", active: "ju367vd5" }, defaultClass: "ju367vd3" }, downloadTopCardBackground: { conditions: { base: "ju367vd6", hover: "ju367vd7", active: "ju367vd8" }, defaultClass: "ju367vd6" }, error: { conditions: { base: "ju367vd9", hover: "ju367vda", active: "ju367vdb" }, defaultClass: "ju367vd9" }, generalBorder: { conditions: { base: "ju367vdc", hover: "ju367vdd", active: "ju367vde" }, defaultClass: "ju367vdc" }, generalBorderDim: { conditions: { base: "ju367vdf", hover: "ju367vdg", active: "ju367vdh" }, defaultClass: "ju367vdf" }, menuItemBackground: { conditions: { base: "ju367vdi", hover: "ju367vdj", active: "ju367vdk" }, defaultClass: "ju367vdi" }, modalBackdrop: { conditions: { base: "ju367vdl", hover: "ju367vdm", active: "ju367vdn" }, defaultClass: "ju367vdl" }, modalBackground: { conditions: { base: "ju367vdo", hover: "ju367vdp", active: "ju367vdq" }, defaultClass: "ju367vdo" }, modalBorder: { conditions: { base: "ju367vdr", hover: "ju367vds", active: "ju367vdt" }, defaultClass: "ju367vdr" }, modalText: { conditions: { base: "ju367vdu", hover: "ju367vdv", active: "ju367vdw" }, defaultClass: "ju367vdu" }, modalTextDim: { conditions: { base: "ju367vdx", hover: "ju367vdy", active: "ju367vdz" }, defaultClass: "ju367vdx" }, modalTextSecondary: { conditions: { base: "ju367ve0", hover: "ju367ve1", active: "ju367ve2" }, defaultClass: "ju367ve0" }, profileAction: { conditions: { base: "ju367ve3", hover: "ju367ve4", active: "ju367ve5" }, defaultClass: "ju367ve3" }, profileActionHover: { conditions: { base: "ju367ve6", hover: "ju367ve7", active: "ju367ve8" }, defaultClass: "ju367ve6" }, profileForeground: { conditions: { base: "ju367ve9", hover: "ju367vea", active: "ju367veb" }, defaultClass: "ju367ve9" }, selectedOptionBorder: { conditions: { base: "ju367vec", hover: "ju367ved", active: "ju367vee" }, defaultClass: "ju367vec" }, standby: { conditions: { base: "ju367vef", hover: "ju367veg", active: "ju367veh" }, defaultClass: "ju367vef" } } }, boxShadow: { values: { connectButton: { conditions: { base: "ju367vei", hover: "ju367vej", active: "ju367vek" }, defaultClass: "ju367vei" }, dialog: { conditions: { base: "ju367vel", hover: "ju367vem", active: "ju367ven" }, defaultClass: "ju367vel" }, profileDetailsAction: { conditions: { base: "ju367veo", hover: "ju367vep", active: "ju367veq" }, defaultClass: "ju367veo" }, selectedOption: { conditions: { base: "ju367ver", hover: "ju367ves", active: "ju367vet" }, defaultClass: "ju367ver" }, selectedWallet: { conditions: { base: "ju367veu", hover: "ju367vev", active: "ju367vew" }, defaultClass: "ju367veu" }, walletLogo: { conditions: { base: "ju367vex", hover: "ju367vey", active: "ju367vez" }, defaultClass: "ju367vex" } } }, color: { values: { accentColor: { conditions: { base: "ju367vf0", hover: "ju367vf1", active: "ju367vf2" }, defaultClass: "ju367vf0" }, accentColorForeground: { conditions: { base: "ju367vf3", hover: "ju367vf4", active: "ju367vf5" }, defaultClass: "ju367vf3" }, actionButtonBorder: { conditions: { base: "ju367vf6", hover: "ju367vf7", active: "ju367vf8" }, defaultClass: "ju367vf6" }, actionButtonBorderMobile: { conditions: { base: "ju367vf9", hover: "ju367vfa", active: "ju367vfb" }, defaultClass: "ju367vf9" }, actionButtonSecondaryBackground: { conditions: { base: "ju367vfc", hover: "ju367vfd", active: "ju367vfe" }, defaultClass: "ju367vfc" }, closeButton: { conditions: { base: "ju367vff", hover: "ju367vfg", active: "ju367vfh" }, defaultClass: "ju367vff" }, closeButtonBackground: { conditions: { base: "ju367vfi", hover: "ju367vfj", active: "ju367vfk" }, defaultClass: "ju367vfi" }, connectButtonBackground: { conditions: { base: "ju367vfl", hover: "ju367vfm", active: "ju367vfn" }, defaultClass: "ju367vfl" }, connectButtonBackgroundError: { conditions: { base: "ju367vfo", hover: "ju367vfp", active: "ju367vfq" }, defaultClass: "ju367vfo" }, connectButtonInnerBackground: { conditions: { base: "ju367vfr", hover: "ju367vfs", active: "ju367vft" }, defaultClass: "ju367vfr" }, connectButtonText: { conditions: { base: "ju367vfu", hover: "ju367vfv", active: "ju367vfw" }, defaultClass: "ju367vfu" }, connectButtonTextError: { conditions: { base: "ju367vfx", hover: "ju367vfy", active: "ju367vfz" }, defaultClass: "ju367vfx" }, connectionIndicator: { conditions: { base: "ju367vg0", hover: "ju367vg1", active: "ju367vg2" }, defaultClass: "ju367vg0" }, downloadBottomCardBackground: { conditions: { base: "ju367vg3", hover: "ju367vg4", active: "ju367vg5" }, defaultClass: "ju367vg3" }, downloadTopCardBackground: { conditions: { base: "ju367vg6", hover: "ju367vg7", active: "ju367vg8" }, defaultClass: "ju367vg6" }, error: { conditions: { base: "ju367vg9", hover: "ju367vga", active: "ju367vgb" }, defaultClass: "ju367vg9" }, generalBorder: { conditions: { base: "ju367vgc", hover: "ju367vgd", active: "ju367vge" }, defaultClass: "ju367vgc" }, generalBorderDim: { conditions: { base: "ju367vgf", hover: "ju367vgg", active: "ju367vgh" }, defaultClass: "ju367vgf" }, menuItemBackground: { conditions: { base: "ju367vgi", hover: "ju367vgj", active: "ju367vgk" }, defaultClass: "ju367vgi" }, modalBackdrop: { conditions: { base: "ju367vgl", hover: "ju367vgm", active: "ju367vgn" }, defaultClass: "ju367vgl" }, modalBackground: { conditions: { base: "ju367vgo", hover: "ju367vgp", active: "ju367vgq" }, defaultClass: "ju367vgo" }, modalBorder: { conditions: { base: "ju367vgr", hover: "ju367vgs", active: "ju367vgt" }, defaultClass: "ju367vgr" }, modalText: { conditions: { base: "ju367vgu", hover: "ju367vgv", active: "ju367vgw" }, defaultClass: "ju367vgu" }, modalTextDim: { conditions: { base: "ju367vgx", hover: "ju367vgy", active: "ju367vgz" }, defaultClass: "ju367vgx" }, modalTextSecondary: { conditions: { base: "ju367vh0", hover: "ju367vh1", active: "ju367vh2" }, defaultClass: "ju367vh0" }, profileAction: { conditions: { base: "ju367vh3", hover: "ju367vh4", active: "ju367vh5" }, defaultClass: "ju367vh3" }, profileActionHover: { conditions: { base: "ju367vh6", hover: "ju367vh7", active: "ju367vh8" }, defaultClass: "ju367vh6" }, profileForeground: { conditions: { base: "ju367vh9", hover: "ju367vha", active: "ju367vhb" }, defaultClass: "ju367vh9" }, selectedOptionBorder: { conditions: { base: "ju367vhc", hover: "ju367vhd", active: "ju367vhe" }, defaultClass: "ju367vhc" }, standby: { conditions: { base: "ju367vhf", hover: "ju367vhg", active: "ju367vhh" }, defaultClass: "ju367vhf" } } } } }, { conditions: { defaultCondition: "smallScreen", conditionNames: ["smallScreen", "largeScreen"], responsiveArray: void 0 }, styles: { alignItems: { values: { "flex-start": { conditions: { smallScreen: "ju367v0", largeScreen: "ju367v1" }, defaultClass: "ju367v0" }, "flex-end": { conditions: { smallScreen: "ju367v2", largeScreen: "ju367v3" }, defaultClass: "ju367v2" }, center: { conditions: { smallScreen: "ju367v4", largeScreen: "ju367v5" }, defaultClass: "ju367v4" } } }, display: { values: { none: { conditions: { smallScreen: "ju367v6", largeScreen: "ju367v7" }, defaultClass: "ju367v6" }, block: { conditions: { smallScreen: "ju367v8", largeScreen: "ju367v9" }, defaultClass: "ju367v8" }, flex: { conditions: { smallScreen: "ju367va", largeScreen: "ju367vb" }, defaultClass: "ju367va" }, inline: { conditions: { smallScreen: "ju367vc", largeScreen: "ju367vd" }, defaultClass: "ju367vc" } } } } }, { conditions: void 0, styles: { margin: { mappings: ["marginTop", "marginBottom", "marginLeft", "marginRight"] }, marginX: { mappings: ["marginLeft", "marginRight"] }, marginY: { mappings: ["marginTop", "marginBottom"] }, padding: { mappings: ["paddingTop", "paddingBottom", "paddingLeft", "paddingRight"] }, paddingX: { mappings: ["paddingLeft", "paddingRight"] }, paddingY: { mappings: ["paddingTop", "paddingBottom"] }, alignSelf: { values: { "flex-start": { defaultClass: "ju367ve" }, "flex-end": { defaultClass: "ju367vf" }, center: { defaultClass: "ju367vg" } } }, backgroundSize: { values: { cover: { defaultClass: "ju367vh" } } }, borderRadius: { values: { "1": { defaultClass: "ju367vi" }, "6": { defaultClass: "ju367vj" }, "10": { defaultClass: "ju367vk" }, "13": { defaultClass: "ju367vl" }, actionButton: { defaultClass: "ju367vm" }, connectButton: { defaultClass: "ju367vn" }, menuButton: { defaultClass: "ju367vo" }, modal: { defaultClass: "ju367vp" }, modalMobile: { defaultClass: "ju367vq" }, "25%": { defaultClass: "ju367vr" }, full: { defaultClass: "ju367vs" } } }, borderStyle: { values: { solid: { defaultClass: "ju367vt" } } }, borderWidth: { values: { "0": { defaultClass: "ju367vu" }, "1": { defaultClass: "ju367vv" }, "2": { defaultClass: "ju367vw" }, "4": { defaultClass: "ju367vx" } } }, cursor: { values: { pointer: { defaultClass: "ju367vy" }, none: { defaultClass: "ju367vz" } } }, pointerEvents: { values: { none: { defaultClass: "ju367v10" }, all: { defaultClass: "ju367v11" } } }, minHeight: { values: { "8": { defaultClass: "ju367v12" }, "44": { defaultClass: "ju367v13" } } }, flexDirection: { values: { row: { defaultClass: "ju367v14" }, column: { defaultClass: "ju367v15" } } }, fontFamily: { values: { body: { defaultClass: "ju367v16" } } }, fontSize: { values: { "12": { defaultClass: "ju367v17" }, "13": { defaultClass: "ju367v18" }, "14": { defaultClass: "ju367v19" }, "16": { defaultClass: "ju367v1a" }, "18": { defaultClass: "ju367v1b" }, "20": { defaultClass: "ju367v1c" }, "23": { defaultClass: "ju367v1d" } } }, fontWeight: { values: { regular: { defaultClass: "ju367v1e" }, medium: { defaultClass: "ju367v1f" }, semibold: { defaultClass: "ju367v1g" }, bold: { defaultClass: "ju367v1h" }, heavy: { defaultClass: "ju367v1i" } } }, gap: { values: { "0": { defaultClass: "ju367v1j" }, "1": { defaultClass: "ju367v1k" }, "2": { defaultClass: "ju367v1l" }, "3": { defaultClass: "ju367v1m" }, "4": { defaultClass: "ju367v1n" }, "5": { defaultClass: "ju367v1o" }, "6": { defaultClass: "ju367v1p" }, "8": { defaultClass: "ju367v1q" }, "10": { defaultClass: "ju367v1r" }, "12": { defaultClass: "ju367v1s" }, "14": { defaultClass: "ju367v1t" }, "16": { defaultClass: "ju367v1u" }, "18": { defaultClass: "ju367v1v" }, "20": { defaultClass: "ju367v1w" }, "24": { defaultClass: "ju367v1x" }, "28": { defaultClass: "ju367v1y" }, "32": { defaultClass: "ju367v1z" }, "36": { defaultClass: "ju367v20" }, "44": { defaultClass: "ju367v21" }, "64": { defaultClass: "ju367v22" }, "-1": { defaultClass: "ju367v23" } } }, height: { values: { "1": { defaultClass: "ju367v24" }, "2": { defaultClass: "ju367v25" }, "4": { defaultClass: "ju367v26" }, "8": { defaultClass: "ju367v27" }, "12": { defaultClass: "ju367v28" }, "20": { defaultClass: "ju367v29" }, "24": { defaultClass: "ju367v2a" }, "28": { defaultClass: "ju367v2b" }, "30": { defaultClass: "ju367v2c" }, "32": { defaultClass: "ju367v2d" }, "34": { defaultClass: "ju367v2e" }, "36": { defaultClass: "ju367v2f" }, "40": { defaultClass: "ju367v2g" }, "44": { defaultClass: "ju367v2h" }, "48": { defaultClass: "ju367v2i" }, "54": { defaultClass: "ju367v2j" }, "60": { defaultClass: "ju367v2k" }, "200": { defaultClass: "ju367v2l" }, full: { defaultClass: "ju367v2m" }, max: { defaultClass: "ju367v2n" } } }, justifyContent: { values: { "flex-start": { defaultClass: "ju367v2o" }, "flex-end": { defaultClass: "ju367v2p" }, center: { defaultClass: "ju367v2q" }, "space-between": { defaultClass: "ju367v2r" }, "space-around": { defaultClass: "ju367v2s" } } }, textAlign: { values: { left: { defaultClass: "ju367v2t" }, center: { defaultClass: "ju367v2u" }, inherit: { defaultClass: "ju367v2v" } } }, marginBottom: { values: { "0": { defaultClass: "ju367v2w" }, "1": { defaultClass: "ju367v2x" }, "2": { defaultClass: "ju367v2y" }, "3": { defaultClass: "ju367v2z" }, "4": { defaultClass: "ju367v30" }, "5": { defaultClass: "ju367v31" }, "6": { defaultClass: "ju367v32" }, "8": { defaultClass: "ju367v33" }, "10": { defaultClass: "ju367v34" }, "12": { defaultClass: "ju367v35" }, "14": { defaultClass: "ju367v36" }, "16": { defaultClass: "ju367v37" }, "18": { defaultClass: "ju367v38" }, "20": { defaultClass: "ju367v39" }, "24": { defaultClass: "ju367v3a" }, "28": { defaultClass: "ju367v3b" }, "32": { defaultClass: "ju367v3c" }, "36": { defaultClass: "ju367v3d" }, "44": { defaultClass: "ju367v3e" }, "64": { defaultClass: "ju367v3f" }, "-1": { defaultClass: "ju367v3g" } } }, marginLeft: { values: { "0": { defaultClass: "ju367v3h" }, "1": { defaultClass: "ju367v3i" }, "2": { defaultClass: "ju367v3j" }, "3": { defaultClass: "ju367v3k" }, "4": { defaultClass: "ju367v3l" }, "5": { defaultClass: "ju367v3m" }, "6": { defaultClass: "ju367v3n" }, "8": { defaultClass: "ju367v3o" }, "10": { defaultClass: "ju367v3p" }, "12": { defaultClass: "ju367v3q" }, "14": { defaultClass: "ju367v3r" }, "16": { defaultClass: "ju367v3s" }, "18": { defaultClass: "ju367v3t" }, "20": { defaultClass: "ju367v3u" }, "24": { defaultClass: "ju367v3v" }, "28": { defaultClass: "ju367v3w" }, "32": { defaultClass: "ju367v3x" }, "36": { defaultClass: "ju367v3y" }, "44": { defaultClass: "ju367v3z" }, "64": { defaultClass: "ju367v40" }, "-1": { defaultClass: "ju367v41" } } }, marginRight: { values: { "0": { defaultClass: "ju367v42" }, "1": { defaultClass: "ju367v43" }, "2": { defaultClass: "ju367v44" }, "3": { defaultClass: "ju367v45" }, "4": { defaultClass: "ju367v46" }, "5": { defaultClass: "ju367v47" }, "6": { defaultClass: "ju367v48" }, "8": { defaultClass: "ju367v49" }, "10": { defaultClass: "ju367v4a" }, "12": { defaultClass: "ju367v4b" }, "14": { defaultClass: "ju367v4c" }, "16": { defaultClass: "ju367v4d" }, "18": { defaultClass: "ju367v4e" }, "20": { defaultClass: "ju367v4f" }, "24": { defaultClass: "ju367v4g" }, "28": { defaultClass: "ju367v4h" }, "32": { defaultClass: "ju367v4i" }, "36": { defaultClass: "ju367v4j" }, "44": { defaultClass: "ju367v4k" }, "64": { defaultClass: "ju367v4l" }, "-1": { defaultClass: "ju367v4m" } } }, marginTop: { values: { "0": { defaultClass: "ju367v4n" }, "1": { defaultClass: "ju367v4o" }, "2": { defaultClass: "ju367v4p" }, "3": { defaultClass: "ju367v4q" }, "4": { defaultClass: "ju367v4r" }, "5": { defaultClass: "ju367v4s" }, "6": { defaultClass: "ju367v4t" }, "8": { defaultClass: "ju367v4u" }, "10": { defaultClass: "ju367v4v" }, "12": { defaultClass: "ju367v4w" }, "14": { defaultClass: "ju367v4x" }, "16": { defaultClass: "ju367v4y" }, "18": { defaultClass: "ju367v4z" }, "20": { defaultClass: "ju367v50" }, "24": { defaultClass: "ju367v51" }, "28": { defaultClass: "ju367v52" }, "32": { defaultClass: "ju367v53" }, "36": { defaultClass: "ju367v54" }, "44": { defaultClass: "ju367v55" }, "64": { defaultClass: "ju367v56" }, "-1": { defaultClass: "ju367v57" } } }, maxWidth: { values: { "1": { defaultClass: "ju367v58" }, "2": { defaultClass: "ju367v59" }, "4": { defaultClass: "ju367v5a" }, "8": { defaultClass: "ju367v5b" }, "12": { defaultClass: "ju367v5c" }, "20": { defaultClass: "ju367v5d" }, "24": { defaultClass: "ju367v5e" }, "28": { defaultClass: "ju367v5f" }, "30": { defaultClass: "ju367v5g" }, "32": { defaultClass: "ju367v5h" }, "34": { defaultClass: "ju367v5i" }, "36": { defaultClass: "ju367v5j" }, "40": { defaultClass: "ju367v5k" }, "44": { defaultClass: "ju367v5l" }, "48": { defaultClass: "ju367v5m" }, "54": { defaultClass: "ju367v5n" }, "60": { defaultClass: "ju367v5o" }, "200": { defaultClass: "ju367v5p" }, full: { defaultClass: "ju367v5q" }, max: { defaultClass: "ju367v5r" } } }, minWidth: { values: { "1": { defaultClass: "ju367v5s" }, "2": { defaultClass: "ju367v5t" }, "4": { defaultClass: "ju367v5u" }, "8": { defaultClass: "ju367v5v" }, "12": { defaultClass: "ju367v5w" }, "20": { defaultClass: "ju367v5x" }, "24": { defaultClass: "ju367v5y" }, "28": { defaultClass: "ju367v5z" }, "30": { defaultClass: "ju367v60" }, "32": { defaultClass: "ju367v61" }, "34": { defaultClass: "ju367v62" }, "36": { defaultClass: "ju367v63" }, "40": { defaultClass: "ju367v64" }, "44": { defaultClass: "ju367v65" }, "48": { defaultClass: "ju367v66" }, "54": { defaultClass: "ju367v67" }, "60": { defaultClass: "ju367v68" }, "200": { defaultClass: "ju367v69" }, full: { defaultClass: "ju367v6a" }, max: { defaultClass: "ju367v6b" } } }, overflow: { values: { hidden: { defaultClass: "ju367v6c" } } }, paddingBottom: { values: { "0": { defaultClass: "ju367v6d" }, "1": { defaultClass: "ju367v6e" }, "2": { defaultClass: "ju367v6f" }, "3": { defaultClass: "ju367v6g" }, "4": { defaultClass: "ju367v6h" }, "5": { defaultClass: "ju367v6i" }, "6": { defaultClass: "ju367v6j" }, "8": { defaultClass: "ju367v6k" }, "10": { defaultClass: "ju367v6l" }, "12": { defaultClass: "ju367v6m" }, "14": { defaultClass: "ju367v6n" }, "16": { defaultClass: "ju367v6o" }, "18": { defaultClass: "ju367v6p" }, "20": { defaultClass: "ju367v6q" }, "24": { defaultClass: "ju367v6r" }, "28": { defaultClass: "ju367v6s" }, "32": { defaultClass: "ju367v6t" }, "36": { defaultClass: "ju367v6u" }, "44": { defaultClass: "ju367v6v" }, "64": { defaultClass: "ju367v6w" }, "-1": { defaultClass: "ju367v6x" } } }, paddingLeft: { values: { "0": { defaultClass: "ju367v6y" }, "1": { defaultClass: "ju367v6z" }, "2": { defaultClass: "ju367v70" }, "3": { defaultClass: "ju367v71" }, "4": { defaultClass: "ju367v72" }, "5": { defaultClass: "ju367v73" }, "6": { defaultClass: "ju367v74" }, "8": { defaultClass: "ju367v75" }, "10": { defaultClass: "ju367v76" }, "12": { defaultClass: "ju367v77" }, "14": { defaultClass: "ju367v78" }, "16": { defaultClass: "ju367v79" }, "18": { defaultClass: "ju367v7a" }, "20": { defaultClass: "ju367v7b" }, "24": { defaultClass: "ju367v7c" }, "28": { defaultClass: "ju367v7d" }, "32": { defaultClass: "ju367v7e" }, "36": { defaultClass: "ju367v7f" }, "44": { defaultClass: "ju367v7g" }, "64": { defaultClass: "ju367v7h" }, "-1": { defaultClass: "ju367v7i" } } }, paddingRight: { values: { "0": { defaultClass: "ju367v7j" }, "1": { defaultClass: "ju367v7k" }, "2": { defaultClass: "ju367v7l" }, "3": { defaultClass: "ju367v7m" }, "4": { defaultClass: "ju367v7n" }, "5": { defaultClass: "ju367v7o" }, "6": { defaultClass: "ju367v7p" }, "8": { defaultClass: "ju367v7q" }, "10": { defaultClass: "ju367v7r" }, "12": { defaultClass: "ju367v7s" }, "14": { defaultClass: "ju367v7t" }, "16": { defaultClass: "ju367v7u" }, "18": { defaultClass: "ju367v7v" }, "20": { defaultClass: "ju367v7w" }, "24": { defaultClass: "ju367v7x" }, "28": { defaultClass: "ju367v7y" }, "32": { defaultClass: "ju367v7z" }, "36": { defaultClass: "ju367v80" }, "44": { defaultClass: "ju367v81" }, "64": { defaultClass: "ju367v82" }, "-1": { defaultClass: "ju367v83" } } }, paddingTop: { values: { "0": { defaultClass: "ju367v84" }, "1": { defaultClass: "ju367v85" }, "2": { defaultClass: "ju367v86" }, "3": { defaultClass: "ju367v87" }, "4": { defaultClass: "ju367v88" }, "5": { defaultClass: "ju367v89" }, "6": { defaultClass: "ju367v8a" }, "8": { defaultClass: "ju367v8b" }, "10": { defaultClass: "ju367v8c" }, "12": { defaultClass: "ju367v8d" }, "14": { defaultClass: "ju367v8e" }, "16": { defaultClass: "ju367v8f" }, "18": { defaultClass: "ju367v8g" }, "20": { defaultClass: "ju367v8h" }, "24": { defaultClass: "ju367v8i" }, "28": { defaultClass: "ju367v8j" }, "32": { defaultClass: "ju367v8k" }, "36": { defaultClass: "ju367v8l" }, "44": { defaultClass: "ju367v8m" }, "64": { defaultClass: "ju367v8n" }, "-1": { defaultClass: "ju367v8o" } } }, position: { values: { absolute: { defaultClass: "ju367v8p" }, fixed: { defaultClass: "ju367v8q" }, relative: { defaultClass: "ju367v8r" } } }, WebkitUserSelect: { values: { none: { defaultClass: "ju367v8s" } } }, right: { values: { "0": { defaultClass: "ju367v8t" } } }, transition: { values: { "default": { defaultClass: "ju367v8u" }, transform: { defaultClass: "ju367v8v" } } }, userSelect: { values: { none: { defaultClass: "ju367v8w" } } }, width: { values: { "1": { defaultClass: "ju367v8x" }, "2": { defaultClass: "ju367v8y" }, "4": { defaultClass: "ju367v8z" }, "8": { defaultClass: "ju367v90" }, "12": { defaultClass: "ju367v91" }, "20": { defaultClass: "ju367v92" }, "24": { defaultClass: "ju367v93" }, "28": { defaultClass: "ju367v94" }, "30": { defaultClass: "ju367v95" }, "32": { defaultClass: "ju367v96" }, "34": { defaultClass: "ju367v97" }, "36": { defaultClass: "ju367v98" }, "40": { defaultClass: "ju367v99" }, "44": { defaultClass: "ju367v9a" }, "48": { defaultClass: "ju367v9b" }, "54": { defaultClass: "ju367v9c" }, "60": { defaultClass: "ju367v9d" }, "200": { defaultClass: "ju367v9e" }, full: { defaultClass: "ju367v9f" }, max: { defaultClass: "ju367v9g" } } }, backdropFilter: { values: { modalOverlay: { defaultClass: "ju367v9h" } } } } });
var themeVars = { colors: { accentColor: "var(--rk-colors-accentColor)", accentColorForeground: "var(--rk-colors-accentColorForeground)", actionButtonBorder: "var(--rk-colors-actionButtonBorder)", actionButtonBorderMobile: "var(--rk-colors-actionButtonBorderMobile)", actionButtonSecondaryBackground: "var(--rk-colors-actionButtonSecondaryBackground)", closeButton: "var(--rk-colors-closeButton)", closeButtonBackground: "var(--rk-colors-closeButtonBackground)", connectButtonBackground: "var(--rk-colors-connectButtonBackground)", connectButtonBackgroundError: "var(--rk-colors-connectButtonBackgroundError)", connectButtonInnerBackground: "var(--rk-colors-connectButtonInnerBackground)", connectButtonText: "var(--rk-colors-connectButtonText)", connectButtonTextError: "var(--rk-colors-connectButtonTextError)", connectionIndicator: "var(--rk-colors-connectionIndicator)", downloadBottomCardBackground: "var(--rk-colors-downloadBottomCardBackground)", downloadTopCardBackground: "var(--rk-colors-downloadTopCardBackground)", error: "var(--rk-colors-error)", generalBorder: "var(--rk-colors-generalBorder)", generalBorderDim: "var(--rk-colors-generalBorderDim)", menuItemBackground: "var(--rk-colors-menuItemBackground)", modalBackdrop: "var(--rk-colors-modalBackdrop)", modalBackground: "var(--rk-colors-modalBackground)", modalBorder: "var(--rk-colors-modalBorder)", modalText: "var(--rk-colors-modalText)", modalTextDim: "var(--rk-colors-modalTextDim)", modalTextSecondary: "var(--rk-colors-modalTextSecondary)", profileAction: "var(--rk-colors-profileAction)", profileActionHover: "var(--rk-colors-profileActionHover)", profileForeground: "var(--rk-colors-profileForeground)", selectedOptionBorder: "var(--rk-colors-selectedOptionBorder)", standby: "var(--rk-colors-standby)" }, fonts: { body: "var(--rk-fonts-body)" }, radii: { actionButton: "var(--rk-radii-actionButton)", connectButton: "var(--rk-radii-connectButton)", menuButton: "var(--rk-radii-menuButton)", modal: "var(--rk-radii-modal)", modalMobile: "var(--rk-radii-modalMobile)" }, shadows: { connectButton: "var(--rk-shadows-connectButton)", dialog: "var(--rk-shadows-dialog)", profileDetailsAction: "var(--rk-shadows-profileDetailsAction)", selectedOption: "var(--rk-shadows-selectedOption)", selectedWallet: "var(--rk-shadows-selectedWallet)", walletLogo: "var(--rk-shadows-walletLogo)" }, blurs: { modalOverlay: "var(--rk-blurs-modalOverlay)" } };
// src/css/touchableStyles.css.ts
var active = { shrink: "_12cbo8i6", shrinkSm: "_12cbo8i7" };
var base = "_12cbo8i3 ju367v8r";
var hover = { grow: "_12cbo8i4", growLg: "_12cbo8i5" };
// src/css/touchableStyles.ts
function touchableStyles({ active: active2, hover: hover2 }) {
return [base, hover2 && hover[hover2], active[active2]];
}
// src/hooks/useConnectionStatus.ts
import { useAccount as useAccount2 } from "wagmi";
// src/components/RainbowKitProvider/AuthenticationContext.tsx
import React, {
createContext,
useContext,
useEffect,
useMemo,
useState
} from "react";
import { useAccount, useAccountEffect } from "wagmi";
function createAuthenticationAdapter(adapter) {
return adapter;
}
var AuthenticationContext = createContext(
null
);
function RainbowKitAuthenticationProvider({
adapter,
children,
enabled = true,
status
}) {
const { connector } = useAccount();
const [currentConnectorUid, setCurrentConnectorUid] = useState();
useAccountEffect({
onDisconnect: () => {
adapter.signOut();
setCurrentConnectorUid(void 0);
}
});
const handleChangedAccount = (data) => {
if (data.accounts) {
setCurrentConnectorUid(void 0);
adapter.signOut();
}
};
useEffect(() => {
if (typeof connector?.emitter?.on === "function" && status === "authenticated") {
setCurrentConnectorUid(connector?.uid);
connector.emitter.on("change", handleChangedAccount);
return () => {
connector.emitter.off("change", handleChangedAccount);
};
}
}, [connector?.emitter, status]);
useEffect(() => {
if (currentConnectorUid && typeof connector?.emitter?.on === "function" && status === "authenticated") {
if (connector?.uid !== currentConnectorUid) {
setCurrentConnectorUid(void 0);
adapter.signOut();
}
}
}, [connector?.emitter, currentConnectorUid, status]);
return /* @__PURE__ */ React.createElement(
AuthenticationContext.Provider,
{
value: useMemo(
() => enabled ? { adapter, status } : null,
[enabled, adapter, status]
)
},
children
);
}
function useAuthenticationAdapter() {
const { adapter } = useContext(AuthenticationContext) ?? {};
if (!adapter) {
throw new Error("No authentication adapter found");
}
return adapter;
}
function useAuthenticationStatus() {
const contextValue = useContext(AuthenticationContext);
return contextValue?.status ?? null;
}
// src/hooks/useConnectionStatus.ts
function useConnectionStatus() {
const authenticationStatus = useAuthenticationStatus();
const { isConnected } = useAccount2();
if (!isConnected) {
return "disconnected";
}
if (!authenticationStatus) {
return "connected";
}
if (authenticationStatus === "loading" || authenticationStatus === "unauthenticated") {
return authenticationStatus;
}
return "connected";
}
// src/utils/isMobile.ts
function isAndroid() {
return typeof navigator !== "undefined" && /android/i.test(navigator.userAgent);
}
function isSmallIOS() {
return typeof navigator !== "undefined" && /iPhone|iPod/.test(navigator.userAgent);
}
function isLargeIOS() {
return typeof navigator !== "undefined" && (/iPad/.test(navigator.userAgent) || navigator.platform === "MacIntel" && navigator.maxTouchPoints > 1);
}
function isIOS() {
return isSmallIOS() || isLargeIOS();
}
function isMobile() {
return isAndroid() || isIOS();
}
// src/components/AsyncImage/AsyncImage.tsx
import React3, { useReducer as useReducer2 } from "react";
// src/components/Box/Box.ts
import clsx2 from "clsx";
import React2 from "react";
// src/css/atoms.ts
import clsx from "clsx";
// src/css/reset.css.ts
var base2 = "iekbcc0";
var element = { a: "iekbcca", blockquote: "iekbcc2", button: "iekbcc9", input: "iekbcc8 iekbcc5 iekbcc4", mark: "iekbcc6", ol: "iekbcc1", q: "iekbcc2", select: "iekbcc7 iekbcc5 iekbcc4", table: "iekbcc3", textarea: "iekbcc5 iekbcc4", ul: "iekbcc1" };
// src/css/atoms.ts
var atoms = ({ reset, ...rest }) => {
if (!reset) return sprinkles(rest);
const elementReset = element[reset];
const sprinklesClasses = sprinkles(rest);
return clsx(base2, elementReset, sprinklesClasses);
};
// src/components/Box/Box.ts
var Box = React2.forwardRef(
({ as = "div", className, testId, ...props }, ref) => {
const atomProps = {};
const nativeProps = {};
for (const key in props) {
if (sprinkles.properties.has(key)) {
atomProps[key] = props[key];
} else {
nativeProps[key] = props[key];
}
}
const atomicClasses = atoms({
reset: typeof as === "string" ? as : "div",
...atomProps
});
return React2.createElement(as, {
className: clsx2(atomicClasses, className),
...nativeProps,
"data-testid": testId ? `rk-${testId.replace(/^rk-/, "")}` : void 0,
ref
});
}
);
Box.displayName = "Box";
// src/components/AsyncImage/useAsyncImage.ts
import { useEffect as useEffect2, useReducer } from "react";
var cachedUrls = /* @__PURE__ */ new Map();
var cachedRequestPromises = /* @__PURE__ */ new Map();
async function loadAsyncImage(asyncImage) {
const cachedRequestPromise = cachedRequestPromises.get(asyncImage);
if (cachedRequestPromise) {
return cachedRequestPromise;
}
const load = async () => asyncImage().then(async (url) => {
cachedUrls.set(asyncImage, url);
return url;
});
const requestPromise = load().catch((_err) => {
return load().catch((_err2) => {
cachedRequestPromises.delete(asyncImage);
});
});
cachedRequestPromises.set(asyncImage, requestPromise);
return requestPromise;
}
async function loadImages(...urls) {
return await Promise.all(
urls.map((url) => typeof url === "function" ? loadAsyncImage(url) : url)
);
}
function useForceUpdate() {
const [, forceUpdate] = useReducer((x) => x + 1, 0);
return forceUpdate;
}
function useAsyncImage(url) {
const cachedUrl = typeof url === "function" ? cachedUrls.get(url) : void 0;
const forceUpdate = useForceUpdate();
useEffect2(() => {
if (typeof url === "function" && !cachedUrl) {
loadAsyncImage(url).then(forceUpdate);
}
}, [url, cachedUrl, forceUpdate]);
return typeof url === "function" ? cachedUrl : url;
}
// src/components/AsyncImage/AsyncImage.tsx
function AsyncImage({
alt,
background,
borderColor,
borderRadius,
useAsImage,
boxShadow,
height,
src: srcProp,
width,
testId
}) {
const ios = isIOS();
const src7 = useAsyncImage(srcProp);
const isRemoteImage = src7 && /^http/.test(src7);
const [isRemoteImageLoaded, setRemoteImageLoaded] = useReducer2(
() => true,
false
);
return /* @__PURE__ */ React3.createElement(
Box,
{
"aria-label": alt,
borderRadius,
boxShadow,
height: typeof height === "string" ? height : void 0,
overflow: "hidden",
position: "relative",
role: "img",
style: {
background,
height: typeof height === "number" ? height : void 0,
width: typeof width === "number" ? width : void 0
},
width: typeof width === "string" ? width : void 0,
testId
},
/* @__PURE__ */ React3.createElement(
Box,
{
...isRemoteImage ? {
"aria-hidden": true,
as: "img",
onLoad: setRemoteImageLoaded,
src: src7
} : { "aria-hidden": true, as: "img", src: src7 },
height: "full",
position: "absolute",
...ios ? { WebkitUserSelect: "none" } : {},
style: {
WebkitTouchCallout: "none",
transition: "opacity .15s linear",
userSelect: "none",
...!useAsImage && isRemoteImage ? {
opacity: isRemoteImageLoaded ? 1 : 0
} : {}
},
width: "full"
}
),
borderColor ? /* @__PURE__ */ React3.createElement(
Box,
{
...typeof borderColor === "object" && "custom" in borderColor ? { style: { borderColor: borderColor.custom } } : { borderColor },
borderRadius,
borderStyle: "solid",
borderWidth: "1",
height: "full",
position: "relative",
width: "full"
}
) : null
);
}
// src/components/Avatar/Avatar.tsx
import React6, { useContext as useContext2 } from "react";
// src/components/Icons/Spinner.tsx
import React4, { useMemo as useMemo2 } from "react";
// src/components/Icons/Icons.css.ts
var SpinnerIconClassName = "_1luule42";
var SpinnerIconPathClassName = "_1luule43";
// src/components/Icons/Spinner.tsx
var useRandomId = (prefix) => useMemo2(
() => `${prefix}_${Math.round(Math.random() * 1e9)}`,
[prefix]
);
var SpinnerIcon = ({
height = 21,
width = 21
}) => {
const id = useRandomId("spinner");
return /* @__PURE__ */ React4.createElement(
"svg",
{
className: SpinnerIconClassName,
fill: "none",
height,
viewBox: "0 0 21 21",
width,
xmlns: "http://www.w3.org/2000/svg"
},
/* @__PURE__ */ React4.createElement("title", null, "Loading"),
/* @__PURE__ */ React4.createElement("clipPath", { id }, /* @__PURE__ */ React4.createElement("path", { d: "M10.5 3C6.35786 3 3 6.35786 3 10.5C3 14.6421 6.35786 18 10.5 18C11.3284 18 12 18.6716 12 19.5C12 20.3284 11.3284 21 10.5 21C4.70101 21 0 16.299 0 10.5C0 4.70101 4.70101 0 10.5 0C16.299 0 21 4.70101 21 10.5C21 11.3284 20.3284 12 19.5 12C18.6716 12 18 11.3284 18 10.5C18 6.35786 14.6421 3 10.5 3Z" })),
/* @__PURE__ */ React4.createElement(
"foreignObject",
{
clipPath: `url(#${id})`,
height: "21",
width: "21",
x: "0",
y: "0"
},
/* @__PURE__ */ React4.createElement("div", { className: SpinnerIconPathClassName })
)
);
};
// src/components/RainbowKitProvider/AvatarContext.ts
import { createContext as createContext2 } from "react";
// src/components/Avatar/EmojiAvatar.tsx
import React5, { useEffect as useEffect3, useMemo as useMemo3, useState as useState2 } from "react";
// src/components/Avatar/emojiAvatarForAddress.ts
var colors = [
"#FC5C54",
"#FFD95A",
"#E95D72",
"#6A87C8",
"#5FD0F3",
"#75C06B",
"#FFDD86",
"#5FC6D4",
"#FF949A",
"#FF8024",
"#9BA1A4",
"#EC66FF",
"#FF8CBC",
"#FF9A23",
"#C5DADB",
"#A8CE63",
"#71ABFF",
"#FFE279",
"#B6B1B6",
"#FF6780",
"#A575FF",
"#4D82FF",
"#FFB35A"
];
var avatars = [
{ color: colors[0], emoji: "\u{1F336}" },
{ color: colors[1], emoji: "\u{1F911}" },
{ color: colors[2], emoji: "\u{1F419}" },
{ color: colors[3], emoji: "\u{1FAD0}" },
{ color: colors[4], emoji: "\u{1F433}" },
{ color: colors[0], emoji: "\u{1F936}" },
{ color: colors[5], emoji: "\u{1F332}" },
{ color: colors[6], emoji: "\u{1F31E}" },
{ color: colors[7], emoji: "\u{1F412}" },
{ color: colors[8], emoji: "\u{1F435}" },
{ color: colors[9], emoji: "\u{1F98A}" },
{ color: colors[10], emoji: "\u{1F43C}" },
{ color: colors[11], emoji: "\u{1F984}" },
{ color: colors[12], emoji: "\u{1F437}" },
{ color: colors[13], emoji: "\u{1F427}" },
{ color: colors[8], emoji: "\u{1F9A9}" },
{ color: colors[14], emoji: "\u{1F47D}" },
{ color: colors[0], emoji: "\u{1F388}" },
{ color: colors[8], emoji: "\u{1F349}" },
{ color: colors[1], emoji: "\u{1F389}" },
{ color: colors[15], emoji: "\u{1F432}" },
{ color: colors[16], emoji: "\u{1F30E}" },
{ color: colors[17], emoji: "\u{1F34A}" },
{ color: colors[18], emoji: "\u{1F42D}" },
{ color: colors[19], emoji: "\u{1F363}" },
{ color: colors[1], emoji: "\u{1F425}" },
{ color: colors[20], emoji: "\u{1F47E}" },
{ color: colors[15], emoji: "\u{1F966}" },
{ color: colors[0], emoji: "\u{1F479}" },
{ color: colors[17], emoji: "\u{1F640}" },
{ color: colors[4], emoji: "\u26F1" },
{ color: colors[21], emoji: "\u26F5\uFE0F" },
{ color: colors[17], emoji: "\u{1F973}" },
{ color: colors[8], emoji: "\u{1F92F}" },
{ color: colors[22], emoji: "\u{1F920}" }
];
function hashCode(text) {
let hash = 0;
if (text.length === 0) return hash;
for (let i = 0; i < text.length; i++) {
const chr = text.charCodeAt(i);
hash = (hash << 5) - hash + chr;
hash |= 0;
}
return hash;
}
function emojiAvatarForAddress(address) {
const resolvedAddress = typeof address === "string" ? address : "";
const avatarIndex = Math.abs(
hashCode(resolvedAddress.toLowerCase()) % avatars.length
);
return avatars[avatarIndex ?? 0];
}
// src/components/Avatar/EmojiAvatar.tsx
var EmojiAvatar = ({ address, ensImage, size }) => {
const [loaded, setLoaded] = useState2(false);
useEffect3(() => {
if (ensImage) {
const img = new Image();
img.src = ensImage;
img.onload = () => setLoaded(true);
}
}, [ensImage]);
const { color: backgroundColor, emoji } = useMemo3(
() => emojiAvatarForAddress(address),
[address]
);
return ensImage ? loaded ? /* @__PURE__ */ React5.createElement(
Box,
{
backgroundSize: "cover",
borderRadius: "full",
position: "absolute",
style: {
backgroundImage: `url(${ensImage})`,
backgroundPosition: "center",
height: size,
width: size
}
}
) : /* @__PURE__ */ React5.createElement(
Box,
{
alignItems: "center",
backgroundSize: "cover",
borderRadius: "full",
color: "modalText",
display: "flex",
justifyContent: "center",
position: "absolute",
style: {
height: size,
width: size
}
},
/* @__PURE__ */ React5.createElement(SpinnerIcon, null)
) : /* @__PURE__ */ React5.createElement(
Box,
{
alignItems: "center",
display: "flex",
justifyContent: "center",
overflow: "hidden",
style: {
...!ensImage && { backgroundColor },
height: size,
width: size
}
},
emoji
);
};
// src/components/RainbowKitProvider/AvatarContext.ts
var defaultAvatar = EmojiAvatar;
var AvatarContext = createContext2(defaultAvatar);
// src/components/Avatar/Avatar.tsx
function Avatar({ address, imageUrl, loading, size }) {
const AvatarComponent = useContext2(AvatarContext);
return /* @__PURE__ */ React6.createElement(
Box,
{
"aria-hidden": true,
borderRadius: "full",
overflow: "hidden",
position: "relative",
style: {
height: `${size}px`,
width: `${size}px`
},
userSelect: "none"
},
/* @__PURE__ */ React6.createElement(
Box,
{
alignItems: "center",
borderRadius: "full",
display: "flex",
justifyContent: "center",
overflow: "hidden",
position: "absolute",
style: {
fontSize: `${Math.round(size * 0.55)}px`,
height: `${size}px`,
transform: loading ? "scale(0.72)" : void 0,
transition: ".25s ease",
transitionDelay: loading ? void 0 : ".1s",
width: `${size}px`,
willChange: "transform"
},
userSelect: "none"
},
/* @__PURE__ */ React6.createElement(AvatarComponent, { address, ensImage: imageUrl, size })
),
loading && /* @__PURE__ */ React6.createElement(
Box,
{
color: "accentColor",
display: "flex",
height: "full",
position: "absolute",
width: "full"
},
/* @__PURE__ */ React6.createElement(SpinnerIcon, { height: "100%", width: "100%" })
)
);
}
// src/components/Icons/Dropdown.tsx
import React7 from "react";
var DropdownIcon = () => /* @__PURE__ */ React7.createElement("svg", { fill: "none", height: "7", width: "14", xmlns: "http://www.w3.org/2000/svg" }, /* @__PURE__ */ React7.createElement("title", null, "Dropdown"), /* @__PURE__ */ React7.createElement(
"path",
{
d: "M12.75 1.54001L8.51647 5.0038C7.77974 5.60658 6.72026 5.60658 5.98352 5.0038L1.75 1.54001",
stroke: "currentColor",
strokeLinecap: "round",
strokeLinejoin: "round",
strokeWidth: "2.5",
xmlns: "http://www.w3.org/2000/svg"
}
));
// src/components/RainbowKitProvider/I18nContext.tsx
import React8, {
createContext as createContext3,
useEffect as useEffect4,
useMemo as useMemo4,
useState as useState3
} from "react";
// src/locales/I18n.ts
var defaultOptions = {
defaultLocale: "en",
locale: "en"
};
var I18n = class {
constructor(localeTranslations) {
this.listeners = /* @__PURE__ */ new Set();
this.defaultLocale = defaultOptions.defaultLocale;
this.enableFallback = false;
this.locale = defaultOptions.locale;
this.cachedLocales = [];
this.translations = {};
for (const [locale, translation] of Object.entries(localeTranslations)) {
this.cachedLocales = [...this.cachedLocales, locale];
this.translations = {
...this.translations,
...this.flattenTranslation(translation, locale)
};
}
}
missingMessage(key) {
return `[missing: "${this.locale}.${key}" translation]`;
}
flattenTranslation(translationObject, locale) {
const result = {};
const flatten = (currentTranslationObj, parentKey) => {
for (const key of Object.keys(currentTranslationObj)) {
const newKey = `${parentKey}.${key}`;
const currentValue = currentTranslationObj[key];
if (typeof currentValue === "object" && currentValue !== null) {
flatten(currentValue, newKey);
} else {
result[newKey] = currentValue;
}
}
};
flatten(translationObject, locale);
return result;
}
translateWithReplacements(translation, replacements = {}) {
let translatedString = translation;
for (const placeholder in replacements) {
const replacementValue = replacements[placeholder];
translatedString = translatedString.replace(
`%{${placeholder}}`,
replacementValue
);
}
return translatedString;
}
t(key, replacements, options) {
const translationKey = `${this.locale}.${key}`;
const translation = this.translations[translationKey];
if (!translation) {
if (this.enableFallback) {
const fallbackTranslationKey = `${this.defaultLocale}.${key}`;
const fallbackTranslation = this.translations[fallbackTranslationKey];
if (fallbackTranslation) {
return this.translateWithReplacements(
fallbackTranslation,
replacements
);
}
}
if (options?.rawKeyIfTranslationMissing) return key;
return this.missingMessage(key);
}
return this.translateWithReplacements(translation, replacements);
}
isLocaleCached(locale) {
return this.cachedLocales.includes(locale);
}
updateLocale(locale) {
this.locale = locale;
this.notifyListeners();
}
setTranslations(locale, translations) {
const cachedLocale = this.isLocaleCached(locale);
if (!cachedLocale) {
this.cachedLocales = [...this.cachedLocales, locale];
this.translations = {
...this.translations,
...this.flattenTranslation(translations, locale)
};
}
this.locale = locale;
this.notifyListeners();
}
notifyListeners() {
for (const listener of this.listeners) {
listener();
}
}
onChange(fn) {
this.listeners.add(fn);
return () => {
this.listeners.delete(fn);
};
}
};
// src/locales/index.ts
var i18n = new I18n({
en: JSON.parse(en_US_default),
"en-US": JSON.parse(en_US_default)
});
i18n.defaultLocale = "en-US";
i18n.locale = "en-US";
i18n.enableFallback = true;
var fetchTranslations = async (locale) => {
switch (locale) {
case "ar":
case "ar-AR":
return (await import("./ar_AR-LIPSOZP5.js")).default;
case "de":
case "de-DE":
return (await import("./de_DE-YE3KOFHU.js")).default;
case "en":
case "en-US":
return (await import("./en_US-SK3WV2N3.js")).default;
case "es":
case "es-419":
return (await import("./es_419-7LMPU7G4.js")).default;
case "fr":
case "fr-FR":
return (await import("./fr_FR-VBJP3ZLL.js")).default;
case "hi":
case "hi-IN":
return (await import("./hi_IN-WBVD5XYI.js")).default;
case "id":
case "id-ID":
return (await import("./id_ID-SBYANJ7G.js")).default;
case "ja":
case "ja-JP":
return (await import("./ja_JP-ZRMWJV3I.js")).default;
case "ko":
case "ko-KR":