@tempoxyz/id 0.0.0-stage → 0.0.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.
- package/README.md +121 -2
- package/dist/App.d.ts +121 -0
- package/dist/App.d.ts.map +1 -0
- package/dist/App.js +132 -0
- package/dist/App.js.map +1 -0
- package/dist/app/client/.assetsignore +2 -0
- package/dist/app/client/_headers +4 -0
- package/dist/app/client/assets/Account-BYLpNFf3.css +1 -0
- package/dist/app/client/assets/Account-BllJah07.js +1 -0
- package/dist/app/client/assets/Amount-E_7snI0-.js +1 -0
- package/dist/app/client/assets/Amount-ZdtluGf-.css +1 -0
- package/dist/app/client/assets/Approval-CgV5JHlb.css +1 -0
- package/dist/app/client/assets/Approval-yKflypU2.js +1 -0
- package/dist/app/client/assets/ArrowUp-CRvqfMNU.js +1 -0
- package/dist/app/client/assets/Authentication-BAXhOh_4.js +2 -0
- package/dist/app/client/assets/BRLA-CZvVDNYr.png +0 -0
- package/dist/app/client/assets/BRZ-Cn3jEi9t.svg +1 -0
- package/dist/app/client/assets/CHFAU-DCedc4aH.png +0 -0
- package/dist/app/client/assets/Callout-B736759d.js +1 -0
- package/dist/app/client/assets/Callout-DBfEmP7q.css +1 -0
- package/dist/app/client/assets/Check-DVgD8tDG.js +1 -0
- package/dist/app/client/assets/ChevronRight-CsXtIZCB.js +1 -0
- package/dist/app/client/assets/ChooseAccount-BjxfQjPK.js +1 -0
- package/dist/app/client/assets/ChooseAccount-DL3wgJhE.css +1 -0
- package/dist/app/client/assets/Client-JrABNovb.js +1 -0
- package/dist/app/client/assets/Close-CRvWlhqc.js +1 -0
- package/dist/app/client/assets/Cloud-DgJsrqpQ.js +1 -0
- package/dist/app/client/assets/CodeInput-79Ctx8ZA.js +1 -0
- package/dist/app/client/assets/CodeInput-BqRteSwD.css +1 -0
- package/dist/app/client/assets/DLUSD-BnRXm3EI.png +0 -0
- package/dist/app/client/assets/Deposit-CclrAoXL.css +1 -0
- package/dist/app/client/assets/Deposit-c7uYn2Eb.js +1 -0
- package/dist/app/client/assets/DevTools-BYkmtuV5.css +1 -0
- package/dist/app/client/assets/DevTools-BgnzDGo2.js +1 -0
- package/dist/app/client/assets/DeviceApproval-BBUVv58e.js +1 -0
- package/dist/app/client/assets/DeviceApproval-BffFLD8F.css +1 -0
- package/dist/app/client/assets/EURAU-sjieTTB9.svg +1 -0
- package/dist/app/client/assets/EURC.e-CxYiiwkz.svg +1 -0
- package/dist/app/client/assets/Fingerprint-BNCA6qOJ.js +1 -0
- package/dist/app/client/assets/GBPA-DI_25xSG.svg +4 -0
- package/dist/app/client/assets/GUSD-BDEP2Qb-.svg +1 -0
- package/dist/app/client/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/dist/app/client/assets/Globe-f0eWzcEI.js +1 -0
- package/dist/app/client/assets/Grant-5a-n1gJH.css +1 -0
- package/dist/app/client/assets/Grant-Dp7mpcEi.js +1 -0
- package/dist/app/client/assets/Hex-C9KeV7_9.css +1 -0
- package/dist/app/client/assets/Hex-CSp2U46W.js +10 -0
- package/dist/app/client/assets/IconChip-DpZHa1JW.js +1 -0
- package/dist/app/client/assets/IconChip-yqaQ2y_d.css +1 -0
- package/dist/app/client/assets/InputGroup-BlZvt9In.css +1 -0
- package/dist/app/client/assets/InputGroup-CsOeBnpB.js +1 -0
- package/dist/app/client/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/dist/app/client/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/dist/app/client/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/dist/app/client/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/dist/app/client/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/dist/app/client/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/dist/app/client/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/dist/app/client/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/dist/app/client/assets/Loader-Cm9YJNNJ.js +1 -0
- package/dist/app/client/assets/MACH-sK0r79kQ.svg +4 -0
- package/dist/app/client/assets/OUSD-BFXgVo-Z.svg +5 -0
- package/dist/app/client/assets/OUSD.dark-BbbjMvA1.svg +17 -0
- package/dist/app/client/assets/OUSD.light-B_zpSz_c.svg +17 -0
- package/dist/app/client/assets/PRIME-CiFp2-3e.svg +14 -0
- package/dist/app/client/assets/PopoverPopup-DprRXRQe.js +1 -0
- package/dist/app/client/assets/Rows-DPGTUdA8.css +1 -0
- package/dist/app/client/assets/Rows-Qqo3evtk.js +1 -0
- package/dist/app/client/assets/SBC-BTYkbkiD.svg +1 -0
- package/dist/app/client/assets/SEKAU-CB5Fc6o8.svg +5 -0
- package/dist/app/client/assets/Separator-CZUjVQOL.js +1 -0
- package/dist/app/client/assets/SignIn-HdaDzFmq.js +1 -0
- package/dist/app/client/assets/SignIn-mlBTwUq4.css +1 -0
- package/dist/app/client/assets/Stack-CkkvkOzj.js +1 -0
- package/dist/app/client/assets/Stack-D7Yt22Ed.css +1 -0
- package/dist/app/client/assets/Tag-BMh6ajrW.css +1 -0
- package/dist/app/client/assets/Tag-CLOVANTX.js +1 -0
- package/dist/app/client/assets/ToolbarRootContext-Zty_Dh3J.js +1 -0
- package/dist/app/client/assets/Tooltip-CLATV6YU.js +1 -0
- package/dist/app/client/assets/Tooltip-d3y9ESUJ.css +1 -0
- package/dist/app/client/assets/USD1-COVcO_PB.svg +30 -0
- package/dist/app/client/assets/USDB-Ckwb6UQw.svg +11 -0
- package/dist/app/client/assets/USDC.e-3nMsKAMC.svg +1 -0
- package/dist/app/client/assets/USDT0-ia60Dw0e.svg +1 -0
- package/dist/app/client/assets/USDY-CB4iet2q.svg +16 -0
- package/dist/app/client/assets/USDe-BXHQCd92.svg +1 -0
- package/dist/app/client/assets/Upgrade-D0_aO5AP.js +1 -0
- package/dist/app/client/assets/WalletUpgrade-BPsPNQsd.js +1 -0
- package/dist/app/client/assets/WalletUpgrade-C04kW0Jl.css +1 -0
- package/dist/app/client/assets/YLDS-CRh8Zw0g.svg +3 -0
- package/dist/app/client/assets/___-I98bns4o.css +1 -0
- package/dist/app/client/assets/___.flows-XOlLwMIy.js +5 -0
- package/dist/app/client/assets/alphaUSD-CpCFoVuh.svg +1 -0
- package/dist/app/client/assets/authorize-C-MlCyaM.js +1 -0
- package/dist/app/client/assets/betaUSD-9A8AjgYg.svg +1 -0
- package/dist/app/client/assets/cUSD-WsQfa-iC.svg +1 -0
- package/dist/app/client/assets/cbBTC-DvUDqrDi.svg +1 -0
- package/dist/app/client/assets/choose-account-nXR-SKa2.js +1 -0
- package/dist/app/client/assets/deposit-G8tiLPN4.js +1 -0
- package/dist/app/client/assets/device-BojBF7hZ.js +1 -0
- package/dist/app/client/assets/error-KiOpX7GD.js +1 -0
- package/dist/app/client/assets/frxUSD-n9pTpinR.svg +1 -0
- package/dist/app/client/assets/getPseudoElementBounds-BsLy4zf_.js +1 -0
- package/dist/app/client/assets/goUSD-D9kUvHsF.svg +5 -0
- package/dist/app/client/assets/iUSD-CWCJAq9X.svg +1 -0
- package/dist/app/client/assets/index-BZH0M7Nf.js +13 -0
- package/dist/app/client/assets/index-CIYxHmYA.css +1 -0
- package/dist/app/client/assets/login-DUjpk60p.js +1 -0
- package/dist/app/client/assets/pathUSD-BvaO6ooS.svg +25 -0
- package/dist/app/client/assets/preload-helper-Bs9KvdYl.js +1 -0
- package/dist/app/client/assets/rUSD-B-xuFS7T.svg +1 -0
- package/dist/app/client/assets/reUSD-CkIUs0Lx.svg +1 -0
- package/dist/app/client/assets/removable-DMiA3t_o.js +1 -0
- package/dist/app/client/assets/reset-co-CHrff.css +1 -0
- package/dist/app/client/assets/rolldown-runtime-WkwZ5CU-.js +1 -0
- package/dist/app/client/assets/routes-CK8cthzA.js +1 -0
- package/dist/app/client/assets/sUSDe-j9GOnH7I.svg +1 -0
- package/dist/app/client/assets/siUSD-C10QUNYS.svg +1 -0
- package/dist/app/client/assets/stcUSD-DIntDJeh.svg +1 -0
- package/dist/app/client/assets/syrupUSDC-DhYwZqdM.svg +5 -0
- package/dist/app/client/assets/thetaUSD-Dgmksf6G.svg +1 -0
- package/dist/app/client/assets/useNavigate-CB6S2u4J.js +1 -0
- package/dist/app/client/assets/useQuery-BpHfPhTT.js +1 -0
- package/dist/app/client/assets/useRegisterFieldControl-DsslqY-V.js +1 -0
- package/dist/app/client/assets/wYLDS-CaCKDrO-.svg +10 -0
- package/dist/app/client/assets/wsrUSD-B2Ey0bDQ.svg +1 -0
- package/dist/app/client/assets/zyzz-DYC-X0_B.css +1 -0
- package/dist/app/client/assets/zyzz.config-DX_D_7j3.js +2 -0
- package/dist/app/db/auth.d.ts +3412 -0
- package/dist/app/db/auth.d.ts.map +1 -0
- package/dist/app/db/auth.js +349 -0
- package/dist/app/db/auth.js.map +1 -0
- package/dist/app/db/schema.d.ts +1091 -0
- package/dist/app/db/schema.d.ts.map +1 -0
- package/dist/app/db/schema.js +183 -0
- package/dist/app/db/schema.js.map +1 -0
- package/dist/app/db/table.d.ts +8 -0
- package/dist/app/db/table.d.ts.map +1 -0
- package/dist/app/db/table.js +28 -0
- package/dist/app/db/table.js.map +1 -0
- package/dist/app/server/.vite/manifest.json +2093 -0
- package/dist/app/server/assets/Account-BYLpNFf3.css +1 -0
- package/dist/app/server/assets/Account-G_SUeRU3.js +2 -0
- package/dist/app/server/assets/Account-G_SUeRU3.js.map +1 -0
- package/dist/app/server/assets/Amount-Cgwdr3Xt.js +2 -0
- package/dist/app/server/assets/Amount-Cgwdr3Xt.js.map +1 -0
- package/dist/app/server/assets/Amount-ZdtluGf-.css +1 -0
- package/dist/app/server/assets/Approval-CgV5JHlb.css +1 -0
- package/dist/app/server/assets/Approval-DvkB9tWA.js +2 -0
- package/dist/app/server/assets/Approval-DvkB9tWA.js.map +1 -0
- package/dist/app/server/assets/ArrowUp-DpK_zNgZ.js +2 -0
- package/dist/app/server/assets/ArrowUp-DpK_zNgZ.js.map +1 -0
- package/dist/app/server/assets/Authentication-BOkhlNQu.js +2 -0
- package/dist/app/server/assets/Authentication-BOkhlNQu.js.map +1 -0
- package/dist/app/server/assets/Authentication-C3oNZAVX.js +2 -0
- package/dist/app/server/assets/Authentication-C3oNZAVX.js.map +1 -0
- package/dist/app/server/assets/BRLA-CZvVDNYr.png +0 -0
- package/dist/app/server/assets/BRZ-Cn3jEi9t.svg +1 -0
- package/dist/app/server/assets/Bytes-C7CRVS3J.js +4 -0
- package/dist/app/server/assets/Bytes-C7CRVS3J.js.map +1 -0
- package/dist/app/server/assets/CHFAU-DCedc4aH.png +0 -0
- package/dist/app/server/assets/Callout-DBfEmP7q.css +1 -0
- package/dist/app/server/assets/Callout-tQoAitWq.js +2 -0
- package/dist/app/server/assets/Callout-tQoAitWq.js.map +1 -0
- package/dist/app/server/assets/ChainList-C4A_7e-9.js +6 -0
- package/dist/app/server/assets/ChainList-C4A_7e-9.js.map +1 -0
- package/dist/app/server/assets/ChainName-BMnJyJrd.js +2 -0
- package/dist/app/server/assets/ChainName-BMnJyJrd.js.map +1 -0
- package/dist/app/server/assets/Check-DU_oR3Ev.js +2 -0
- package/dist/app/server/assets/Check-DU_oR3Ev.js.map +1 -0
- package/dist/app/server/assets/ChevronRight-DTBnw-W6.js +2 -0
- package/dist/app/server/assets/ChevronRight-DTBnw-W6.js.map +1 -0
- package/dist/app/server/assets/ChooseAccount-BizJvMrY.js +2 -0
- package/dist/app/server/assets/ChooseAccount-BizJvMrY.js.map +1 -0
- package/dist/app/server/assets/ChooseAccount-DL3wgJhE.css +1 -0
- package/dist/app/server/assets/Client-Dx3KrpJZ.js +2 -0
- package/dist/app/server/assets/Client-Dx3KrpJZ.js.map +1 -0
- package/dist/app/server/assets/ClientOnly-CKLiu67O.js +2 -0
- package/dist/app/server/assets/ClientOnly-CKLiu67O.js.map +1 -0
- package/dist/app/server/assets/Close-DUeE37ev.js +2 -0
- package/dist/app/server/assets/Close-DUeE37ev.js.map +1 -0
- package/dist/app/server/assets/Cloud-CLB3rTTy.js +2 -0
- package/dist/app/server/assets/Cloud-CLB3rTTy.js.map +1 -0
- package/dist/app/server/assets/CodeInput-BqRteSwD.css +1 -0
- package/dist/app/server/assets/CodeInput-FsPzVuLU.js +2 -0
- package/dist/app/server/assets/CodeInput-FsPzVuLU.js.map +1 -0
- package/dist/app/server/assets/Credential-DFjcrdyI.js +2 -0
- package/dist/app/server/assets/Credential-DFjcrdyI.js.map +1 -0
- package/dist/app/server/assets/DLUSD-BnRXm3EI.png +0 -0
- package/dist/app/server/assets/Deposit-CclrAoXL.css +1 -0
- package/dist/app/server/assets/Deposit-ChYGRfW2.js +2 -0
- package/dist/app/server/assets/Deposit-ChYGRfW2.js.map +1 -0
- package/dist/app/server/assets/DevTools-BYkmtuV5.css +1 -0
- package/dist/app/server/assets/DevTools-ZJVXqrIK.js +2 -0
- package/dist/app/server/assets/DevTools-ZJVXqrIK.js.map +1 -0
- package/dist/app/server/assets/DeviceApproval-BffFLD8F.css +1 -0
- package/dist/app/server/assets/DeviceApproval-Bqe3Mi78.js +2 -0
- package/dist/app/server/assets/DeviceApproval-Bqe3Mi78.js.map +1 -0
- package/dist/app/server/assets/EURAU-sjieTTB9.svg +1 -0
- package/dist/app/server/assets/EURC.e-CxYiiwkz.svg +1 -0
- package/dist/app/server/assets/ExecutionError-CDszGSF1.js +9 -0
- package/dist/app/server/assets/ExecutionError-CDszGSF1.js.map +1 -0
- package/dist/app/server/assets/Fingerprint-DhOPOdRr.js +2 -0
- package/dist/app/server/assets/Fingerprint-DhOPOdRr.js.map +1 -0
- package/dist/app/server/assets/GBPA-DI_25xSG.svg +4 -0
- package/dist/app/server/assets/GUSD-BDEP2Qb-.svg +1 -0
- package/dist/app/server/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/dist/app/server/assets/Globe-2CxqxU-7.js +2 -0
- package/dist/app/server/assets/Globe-2CxqxU-7.js.map +1 -0
- package/dist/app/server/assets/Grant-5a-n1gJH.css +1 -0
- package/dist/app/server/assets/Grant-D_tun0mF.js +2 -0
- package/dist/app/server/assets/Grant-D_tun0mF.js.map +1 -0
- package/dist/app/server/assets/Hex-C9KeV7_9.css +1 -0
- package/dist/app/server/assets/Hex-Z6m_0Y0m.js +11 -0
- package/dist/app/server/assets/Hex-Z6m_0Y0m.js.map +1 -0
- package/dist/app/server/assets/IconChip-C9ZrmGB5.js +2 -0
- package/dist/app/server/assets/IconChip-C9ZrmGB5.js.map +1 -0
- package/dist/app/server/assets/IconChip-yqaQ2y_d.css +1 -0
- package/dist/app/server/assets/InputGroup-BlZvt9In.css +1 -0
- package/dist/app/server/assets/InputGroup-hpjuLuR7.js +2 -0
- package/dist/app/server/assets/InputGroup-hpjuLuR7.js.map +1 -0
- package/dist/app/server/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/dist/app/server/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/dist/app/server/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/dist/app/server/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/dist/app/server/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/dist/app/server/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/dist/app/server/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/dist/app/server/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/dist/app/server/assets/Loader-DnKC9P5p.js +2 -0
- package/dist/app/server/assets/Loader-DnKC9P5p.js.map +1 -0
- package/dist/app/server/assets/MACH-sK0r79kQ.svg +4 -0
- package/dist/app/server/assets/Match-CyVdYcSf.js +2 -0
- package/dist/app/server/assets/Match-CyVdYcSf.js.map +1 -0
- package/dist/app/server/assets/OUSD-BFXgVo-Z.svg +5 -0
- package/dist/app/server/assets/OUSD.dark-BbbjMvA1.svg +17 -0
- package/dist/app/server/assets/OUSD.light-B_zpSz_c.svg +17 -0
- package/dist/app/server/assets/PRIME-CiFp2-3e.svg +14 -0
- package/dist/app/server/assets/PopoverPopup-CwqeQelI.js +2 -0
- package/dist/app/server/assets/PopoverPopup-CwqeQelI.js.map +1 -0
- package/dist/app/server/assets/Rows-CQKQwTI1.js +2 -0
- package/dist/app/server/assets/Rows-CQKQwTI1.js.map +1 -0
- package/dist/app/server/assets/Rows-DPGTUdA8.css +1 -0
- package/dist/app/server/assets/SBC-BTYkbkiD.svg +1 -0
- package/dist/app/server/assets/SEKAU-CB5Fc6o8.svg +5 -0
- package/dist/app/server/assets/Separator-DrI7KRAs.js +2 -0
- package/dist/app/server/assets/Separator-DrI7KRAs.js.map +1 -0
- package/dist/app/server/assets/SignIn-DfeeLEmN.js +2 -0
- package/dist/app/server/assets/SignIn-DfeeLEmN.js.map +1 -0
- package/dist/app/server/assets/SignIn-mlBTwUq4.css +1 -0
- package/dist/app/server/assets/Stack-D7Yt22Ed.css +1 -0
- package/dist/app/server/assets/Stack-DGktaLZc.js +2 -0
- package/dist/app/server/assets/Stack-DGktaLZc.js.map +1 -0
- package/dist/app/server/assets/Tag-9vSRBpph.js +2 -0
- package/dist/app/server/assets/Tag-9vSRBpph.js.map +1 -0
- package/dist/app/server/assets/Tag-BMh6ajrW.css +1 -0
- package/dist/app/server/assets/ToolbarRootContext-BH_CFSWd.js +2 -0
- package/dist/app/server/assets/ToolbarRootContext-BH_CFSWd.js.map +1 -0
- package/dist/app/server/assets/Tooltip-DLX41peb.js +2 -0
- package/dist/app/server/assets/Tooltip-DLX41peb.js.map +1 -0
- package/dist/app/server/assets/Tooltip-d3y9ESUJ.css +1 -0
- package/dist/app/server/assets/USD1-COVcO_PB.svg +30 -0
- package/dist/app/server/assets/USDB-Ckwb6UQw.svg +11 -0
- package/dist/app/server/assets/USDC.e-3nMsKAMC.svg +1 -0
- package/dist/app/server/assets/USDT0-ia60Dw0e.svg +1 -0
- package/dist/app/server/assets/USDY-CB4iet2q.svg +16 -0
- package/dist/app/server/assets/USDe-BXHQCd92.svg +1 -0
- package/dist/app/server/assets/Upgrade-Dbfm2nm0.js +2 -0
- package/dist/app/server/assets/Upgrade-Dbfm2nm0.js.map +1 -0
- package/dist/app/server/assets/WalletUpgrade-C04kW0Jl.css +1 -0
- package/dist/app/server/assets/WalletUpgrade-CWKc5fYt.js +2 -0
- package/dist/app/server/assets/WalletUpgrade-CWKc5fYt.js.map +1 -0
- package/dist/app/server/assets/YLDS-CRh8Zw0g.svg +3 -0
- package/dist/app/server/assets/___-I98bns4o.css +1 -0
- package/dist/app/server/assets/___.flows-Cc-awUoC.js +6 -0
- package/dist/app/server/assets/___.flows-Cc-awUoC.js.map +1 -0
- package/dist/app/server/assets/_tanstack-start-manifest_v-U7TrtUSA.js +1 -0
- package/dist/app/server/assets/_zyzz__2Fhome_2Frunner_2Fwork_2Fid_2Fid_2Fsrc_2Fapp_2Froutes_2F_5B__5D.flows-B1pPOqsM.css +1 -0
- package/dist/app/server/assets/_zyzz__2Fhome_2Frunner_2Fwork_2Fid_2Fid_2Fsrc_2Fapp_2Froutes_2F_5B__5D.flows.tsx-CKALi9oD.js +2 -0
- package/dist/app/server/assets/_zyzz__2Fhome_2Frunner_2Fwork_2Fid_2Fid_2Fsrc_2Fapp_2Froutes_2F_5B__5D.flows.tsx-CKALi9oD.js.map +1 -0
- package/dist/app/server/assets/_zyzz_shared-BbDIEd_j.css +1 -0
- package/dist/app/server/assets/alphaUSD-CpCFoVuh.svg +1 -0
- package/dist/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +2 -0
- package/dist/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +1 -0
- package/dist/app/server/assets/async-local-storage-DlOvwxXd.js +2 -0
- package/dist/app/server/assets/async-local-storage-DlOvwxXd.js.map +1 -0
- package/dist/app/server/assets/authorize-BXzTo2Pb.js +2 -0
- package/dist/app/server/assets/authorize-BXzTo2Pb.js.map +1 -0
- package/dist/app/server/assets/authorize-BzoUqOdA.js +2 -0
- package/dist/app/server/assets/authorize-BzoUqOdA.js.map +1 -0
- package/dist/app/server/assets/authorize-DXYo-K2n-rmQQ42x1.js +56 -0
- package/dist/app/server/assets/authorize-DXYo-K2n-rmQQ42x1.js.map +1 -0
- package/dist/app/server/assets/authorize-DfjPYJqS.css +1 -0
- package/dist/app/server/assets/betaUSD-9A8AjgYg.svg +1 -0
- package/dist/app/server/assets/bun-sqlite-dialect-DoOVo4ja-CtyBkVMb.js +2 -0
- package/dist/app/server/assets/bun-sqlite-dialect-DoOVo4ja-CtyBkVMb.js.map +1 -0
- package/dist/app/server/assets/cUSD-WsQfa-iC.svg +1 -0
- package/dist/app/server/assets/call-dzi0xjZd.js +31 -0
- package/dist/app/server/assets/call-dzi0xjZd.js.map +1 -0
- package/dist/app/server/assets/cbBTC-DvUDqrDi.svg +1 -0
- package/dist/app/server/assets/ccip-DjD8z_3B.js +2 -0
- package/dist/app/server/assets/ccip-DjD8z_3B.js.map +1 -0
- package/dist/app/server/assets/choose-account-_X7xq5am.js +2 -0
- package/dist/app/server/assets/choose-account-_X7xq5am.js.map +1 -0
- package/dist/app/server/assets/choose-account-lqA5SLx9.css +1 -0
- package/dist/app/server/assets/choose-account-zm-5Qs3e.js +2 -0
- package/dist/app/server/assets/choose-account-zm-5Qs3e.js.map +1 -0
- package/dist/app/server/assets/compiled-query-Ds2NVcFT.js +2 -0
- package/dist/app/server/assets/compiled-query-Ds2NVcFT.js.map +1 -0
- package/dist/app/server/assets/convert-BIC8n32x.js +2 -0
- package/dist/app/server/assets/convert-BIC8n32x.js.map +1 -0
- package/dist/app/server/assets/cookie-DxViaO10.js +2 -0
- package/dist/app/server/assets/cookie-DxViaO10.js.map +1 -0
- package/dist/app/server/assets/core-BBrZXfrB.js +56 -0
- package/dist/app/server/assets/core-BBrZXfrB.js.map +1 -0
- package/dist/app/server/assets/d1-sqlite-dialect-m0f01-4z-Cv-csE1u.js +2 -0
- package/dist/app/server/assets/d1-sqlite-dialect-m0f01-4z-Cv-csE1u.js.map +1 -0
- package/dist/app/server/assets/decodeFunctionData-bP6V2ai4.js +2 -0
- package/dist/app/server/assets/decodeFunctionData-bP6V2ai4.js.map +1 -0
- package/dist/app/server/assets/default-u_dwuiYb-DOrMMcg9.js +2 -0
- package/dist/app/server/assets/default-u_dwuiYb-DOrMMcg9.js.map +1 -0
- package/dist/app/server/assets/deposit-BBaNI01u.js +2 -0
- package/dist/app/server/assets/deposit-BBaNI01u.js.map +1 -0
- package/dist/app/server/assets/deposit-LWS6ZTuf.js +2 -0
- package/dist/app/server/assets/deposit-LWS6ZTuf.js.map +1 -0
- package/dist/app/server/assets/deposit-oFx15XCA.css +1 -0
- package/dist/app/server/assets/device-CrXlusjr.js +2 -0
- package/dist/app/server/assets/device-CrXlusjr.js.map +1 -0
- package/dist/app/server/assets/device-DdFMgYe2.js +2 -0
- package/dist/app/server/assets/device-DdFMgYe2.js.map +1 -0
- package/dist/app/server/assets/device-tMCpu5zk.css +1 -0
- package/dist/app/server/assets/dist-CR6FW-yS.js +1 -0
- package/dist/app/server/assets/dist-CoH0hD1s.js +15 -0
- package/dist/app/server/assets/dist-CoH0hD1s.js.map +1 -0
- package/dist/app/server/assets/dist-DcICI3fd.js +2 -0
- package/dist/app/server/assets/dist-DcICI3fd.js.map +1 -0
- package/dist/app/server/assets/effect-QlVUlMFu-mXPkuQTb.js +2 -0
- package/dist/app/server/assets/effect-QlVUlMFu-mXPkuQTb.js.map +1 -0
- package/dist/app/server/assets/empty-plugin-adapters-BaGcmrjC.js +2 -0
- package/dist/app/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +1 -0
- package/dist/app/server/assets/error-CXy8gqdE.css +1 -0
- package/dist/app/server/assets/error-DXDT2AHy.js +2 -0
- package/dist/app/server/assets/error-DXDT2AHy.js.map +1 -0
- package/dist/app/server/assets/error-bnVzy9tx.js +2 -0
- package/dist/app/server/assets/error-bnVzy9tx.js.map +1 -0
- package/dist/app/server/assets/esm-C6SW--yt.js +4 -0
- package/dist/app/server/assets/esm-C6SW--yt.js.map +1 -0
- package/dist/app/server/assets/factory-dvoOlKer.js +5 -0
- package/dist/app/server/assets/factory-dvoOlKer.js.map +1 -0
- package/dist/app/server/assets/frxUSD-n9pTpinR.svg +1 -0
- package/dist/app/server/assets/get-id-field-OwLpfjj2.js +6 -0
- package/dist/app/server/assets/get-id-field-OwLpfjj2.js.map +1 -0
- package/dist/app/server/assets/getPseudoElementBounds-PkWU72kn.js +2 -0
- package/dist/app/server/assets/getPseudoElementBounds-PkWU72kn.js.map +1 -0
- package/dist/app/server/assets/goUSD-D9kUvHsF.svg +5 -0
- package/dist/app/server/assets/iUSD-CWCJAq9X.svg +1 -0
- package/dist/app/server/assets/index-CLddUTqr-CC33CMvS.js +2 -0
- package/dist/app/server/assets/index-CLddUTqr-CC33CMvS.js.map +1 -0
- package/dist/app/server/assets/index-DZEfthgZ-Ec2MMQ_e.js +2 -0
- package/dist/app/server/assets/index-DZEfthgZ-Ec2MMQ_e.js.map +1 -0
- package/dist/app/server/assets/kysely-adapter-B8tQwTcu.js +1 -0
- package/dist/app/server/assets/lazyRouteComponent-DPOOPZw_.js +2 -0
- package/dist/app/server/assets/lazyRouteComponent-DPOOPZw_.js.map +1 -0
- package/dist/app/server/assets/load-server-Dr0IlySo.js +3 -0
- package/dist/app/server/assets/load-server-Dr0IlySo.js.map +1 -0
- package/dist/app/server/assets/login-BLq3tEEr.js +2 -0
- package/dist/app/server/assets/login-BLq3tEEr.js.map +1 -0
- package/dist/app/server/assets/login-DCIrAbED.js +2 -0
- package/dist/app/server/assets/login-DCIrAbED.js.map +1 -0
- package/dist/app/server/assets/login-msDnt3yT.css +1 -0
- package/dist/app/server/assets/matchContext-ByrIUj4L.js +2 -0
- package/dist/app/server/assets/matchContext-ByrIUj4L.js.map +1 -0
- package/dist/app/server/assets/node-sqlite-dialect-BowWLXvK.js +2 -0
- package/dist/app/server/assets/node-sqlite-dialect-BowWLXvK.js.map +1 -0
- package/dist/app/server/assets/pathUSD-BvaO6ooS.svg +25 -0
- package/dist/app/server/assets/rUSD-B-xuFS7T.svg +1 -0
- package/dist/app/server/assets/reUSD-CkIUs0Lx.svg +1 -0
- package/dist/app/server/assets/react-dom-DYzj0HXX.js +2 -0
- package/dist/app/server/assets/react-dom-DYzj0HXX.js.map +1 -0
- package/dist/app/server/assets/removable-BCLTvPOx.js +2 -0
- package/dist/app/server/assets/removable-BCLTvPOx.js.map +1 -0
- package/dist/app/server/assets/reset-DZWeTZeQ.js +2 -0
- package/dist/app/server/assets/reset-DZWeTZeQ.js.map +1 -0
- package/dist/app/server/assets/reset-co-CHrff.css +1 -0
- package/dist/app/server/assets/resolveError-CZXXvCJR.js +2 -0
- package/dist/app/server/assets/resolveError-CZXXvCJR.js.map +1 -0
- package/dist/app/server/assets/rolldown-runtime-BWaJ3C7D.js +1 -0
- package/dist/app/server/assets/router-Bqz5X4Qw.js +2 -0
- package/dist/app/server/assets/router-Bqz5X4Qw.js.map +1 -0
- package/dist/app/server/assets/router-CclzitkY.css +1 -0
- package/dist/app/server/assets/routes-BLQdKqcZ.js +2 -0
- package/dist/app/server/assets/routes-BLQdKqcZ.js.map +1 -0
- package/dist/app/server/assets/routes-BgiIzrOt.css +1 -0
- package/dist/app/server/assets/routes-Bv6WzsSR.js +2 -0
- package/dist/app/server/assets/routes-Bv6WzsSR.js.map +1 -0
- package/dist/app/server/assets/sUSDe-j9GOnH7I.svg +1 -0
- package/dist/app/server/assets/schema-check-oLqvHR8y.js +9 -0
- package/dist/app/server/assets/schema-check-oLqvHR8y.js.map +1 -0
- package/dist/app/server/assets/secp256k1-yg8eeIYU.js +2 -0
- package/dist/app/server/assets/secp256k1-yg8eeIYU.js.map +1 -0
- package/dist/app/server/assets/server-RRUiOef2.js +76 -0
- package/dist/app/server/assets/server-RRUiOef2.js.map +1 -0
- package/dist/app/server/assets/siUSD-C10QUNYS.svg +1 -0
- package/dist/app/server/assets/sqlite-adapter-C_LAV4e3.js +2 -0
- package/dist/app/server/assets/sqlite-adapter-C_LAV4e3.js.map +1 -0
- package/dist/app/server/assets/sqlite-introspector-DSCAP82F-Crx7Ny14.js +6 -0
- package/dist/app/server/assets/sqlite-introspector-DSCAP82F-Crx7Ny14.js.map +1 -0
- package/dist/app/server/assets/standard-json-DY77efq0.js +2 -0
- package/dist/app/server/assets/standard-json-DY77efq0.js.map +1 -0
- package/dist/app/server/assets/standard-json-ig2t0wRt.js +2 -0
- package/dist/app/server/assets/standard-json-ig2t0wRt.js.map +1 -0
- package/dist/app/server/assets/standard-json-t-LNckA6.js +2 -0
- package/dist/app/server/assets/standard-json-t-LNckA6.js.map +1 -0
- package/dist/app/server/assets/standard-openapi-CONmVRl8.js +2 -0
- package/dist/app/server/assets/standard-openapi-CONmVRl8.js.map +1 -0
- package/dist/app/server/assets/start-C63VetBp.js +2 -0
- package/dist/app/server/assets/start-C63VetBp.js.map +1 -0
- package/dist/app/server/assets/stcUSD-DIntDJeh.svg +1 -0
- package/dist/app/server/assets/sury-CWZTCd75-CDaOS2oM.js +2 -0
- package/dist/app/server/assets/sury-CWZTCd75-CDaOS2oM.js.map +1 -0
- package/dist/app/server/assets/syrupUSDC-DhYwZqdM.svg +5 -0
- package/dist/app/server/assets/thetaUSD-Dgmksf6G.svg +1 -0
- package/dist/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js +2 -0
- package/dist/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +1 -0
- package/dist/app/server/assets/useNavigate-D6d1w7KE.js +2 -0
- package/dist/app/server/assets/useNavigate-D6d1w7KE.js.map +1 -0
- package/dist/app/server/assets/useQuery-BRpCr5vj.js +2 -0
- package/dist/app/server/assets/useQuery-BRpCr5vj.js.map +1 -0
- package/dist/app/server/assets/useRegisterFieldControl-cJesrOWK.js +2 -0
- package/dist/app/server/assets/useRegisterFieldControl-cJesrOWK.js.map +1 -0
- package/dist/app/server/assets/utils-C4ZXZIZW.js +2 -0
- package/dist/app/server/assets/utils-C4ZXZIZW.js.map +1 -0
- package/dist/app/server/assets/utils-D57zfcg-.js +2 -0
- package/dist/app/server/assets/utils-D57zfcg-.js.map +1 -0
- package/dist/app/server/assets/valibot--1zFm7rT-CIKoH3MS.js +2 -0
- package/dist/app/server/assets/valibot--1zFm7rT-CIKoH3MS.js.map +1 -0
- package/dist/app/server/assets/valibot-D_HTw1Gn-BdPyLkXt.js +2 -0
- package/dist/app/server/assets/valibot-D_HTw1Gn-BdPyLkXt.js.map +1 -0
- package/dist/app/server/assets/wYLDS-CaCKDrO-.svg +10 -0
- package/dist/app/server/assets/wsrUSD-B2Ey0bDQ.svg +1 -0
- package/dist/app/server/assets/zod-Bwrt9trS-BezI5Gi1.js +2 -0
- package/dist/app/server/assets/zod-Bwrt9trS-BezI5Gi1.js.map +1 -0
- package/dist/app/server/assets/zod-DSgpEGAE-DZ7M_Q33.js +2 -0
- package/dist/app/server/assets/zod-DSgpEGAE-DZ7M_Q33.js.map +1 -0
- package/dist/app/server/assets/zyzz-6R2K52xP.css +1 -0
- package/dist/app/server/assets/zyzz.config-CJRpjn0E.js +3 -0
- package/dist/app/server/assets/zyzz.config-CJRpjn0E.js.map +1 -0
- package/dist/app/server/index.js +532 -0
- package/dist/app/server/index.js.map +1 -0
- package/dist/app/server/wrangler.json +1 -0
- package/dist/cli/Admin.d.ts +34 -0
- package/dist/cli/Admin.d.ts.map +1 -0
- package/dist/cli/Admin.js +61 -0
- package/dist/cli/Admin.js.map +1 -0
- package/dist/cli/Apps.d.ts +9 -0
- package/dist/cli/Apps.d.ts.map +1 -0
- package/dist/cli/Apps.js +34 -0
- package/dist/cli/Apps.js.map +1 -0
- package/dist/cli/Cli.d.ts +13 -0
- package/dist/cli/Cli.d.ts.map +1 -0
- package/dist/cli/Cli.js +26 -0
- package/dist/cli/Cli.js.map +1 -0
- package/dist/cli/Project.d.ts +17 -0
- package/dist/cli/Project.d.ts.map +1 -0
- package/dist/cli/Project.js +90 -0
- package/dist/cli/Project.js.map +1 -0
- package/dist/cli/Realms.d.ts +24 -0
- package/dist/cli/Realms.d.ts.map +1 -0
- package/dist/cli/Realms.js +48 -0
- package/dist/cli/Realms.js.map +1 -0
- package/dist/cli/Session.d.ts +79 -0
- package/dist/cli/Session.d.ts.map +1 -0
- package/dist/cli/Session.js +229 -0
- package/dist/cli/Session.js.map +1 -0
- package/dist/cli/User.d.ts +24 -0
- package/dist/cli/User.d.ts.map +1 -0
- package/dist/cli/User.js +34 -0
- package/dist/cli/User.js.map +1 -0
- package/dist/cli/V1.d.ts +32 -0
- package/dist/cli/V1.d.ts.map +1 -0
- package/dist/cli/V1.js +38 -0
- package/dist/cli/V1.js.map +1 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +46 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/admin/apps/create.d.ts +23 -0
- package/dist/cli/commands/admin/apps/create.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/create.js +84 -0
- package/dist/cli/commands/admin/apps/create.js.map +1 -0
- package/dist/cli/commands/admin/apps/delete.d.ts +15 -0
- package/dist/cli/commands/admin/apps/delete.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/delete.js +41 -0
- package/dist/cli/commands/admin/apps/delete.js.map +1 -0
- package/dist/cli/commands/admin/apps/index.d.ts +5 -0
- package/dist/cli/commands/admin/apps/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/index.js +14 -0
- package/dist/cli/commands/admin/apps/index.js.map +1 -0
- package/dist/cli/commands/admin/apps/list.d.ts +10 -0
- package/dist/cli/commands/admin/apps/list.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/list.js +26 -0
- package/dist/cli/commands/admin/apps/list.js.map +1 -0
- package/dist/cli/commands/admin/apps/rotate-secret.d.ts +17 -0
- package/dist/cli/commands/admin/apps/rotate-secret.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/rotate-secret.js +47 -0
- package/dist/cli/commands/admin/apps/rotate-secret.js.map +1 -0
- package/dist/cli/commands/admin/apps/update.d.ts +20 -0
- package/dist/cli/commands/admin/apps/update.d.ts.map +1 -0
- package/dist/cli/commands/admin/apps/update.js +71 -0
- package/dist/cli/commands/admin/apps/update.js.map +1 -0
- package/dist/cli/commands/admin/index.d.ts +5 -0
- package/dist/cli/commands/admin/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/index.js +13 -0
- package/dist/cli/commands/admin/index.js.map +1 -0
- package/dist/cli/commands/admin/migrate.d.ts +10 -0
- package/dist/cli/commands/admin/migrate.d.ts.map +1 -0
- package/dist/cli/commands/admin/migrate.js +20 -0
- package/dist/cli/commands/admin/migrate.js.map +1 -0
- package/dist/cli/commands/admin/realms/add.d.ts +13 -0
- package/dist/cli/commands/admin/realms/add.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/add.js +42 -0
- package/dist/cli/commands/admin/realms/add.js.map +1 -0
- package/dist/cli/commands/admin/realms/index.d.ts +5 -0
- package/dist/cli/commands/admin/realms/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/index.js +13 -0
- package/dist/cli/commands/admin/realms/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/list.d.ts +14 -0
- package/dist/cli/commands/admin/realms/list.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/list.js +36 -0
- package/dist/cli/commands/admin/realms/list.js.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/index.d.ts +5 -0
- package/dist/cli/commands/admin/realms/passkeys/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/index.js +13 -0
- package/dist/cli/commands/admin/realms/passkeys/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/set.d.ts +17 -0
- package/dist/cli/commands/admin/realms/passkeys/set.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/passkeys/set.js +46 -0
- package/dist/cli/commands/admin/realms/passkeys/set.js.map +1 -0
- package/dist/cli/commands/admin/realms/privy/index.d.ts +5 -0
- package/dist/cli/commands/admin/realms/privy/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/privy/index.js +13 -0
- package/dist/cli/commands/admin/realms/privy/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/privy/set.d.ts +19 -0
- package/dist/cli/commands/admin/realms/privy/set.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/privy/set.js +66 -0
- package/dist/cli/commands/admin/realms/privy/set.js.map +1 -0
- package/dist/cli/commands/admin/realms/remove.d.ts +12 -0
- package/dist/cli/commands/admin/realms/remove.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/remove.js +35 -0
- package/dist/cli/commands/admin/realms/remove.js.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.d.ts +16 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.js +42 -0
- package/dist/cli/commands/admin/realms/secp256k1/disable.js.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.d.ts +16 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.js +42 -0
- package/dist/cli/commands/admin/realms/secp256k1/enable.js.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.d.ts +9 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.js +17 -0
- package/dist/cli/commands/admin/realms/secp256k1/index.js.map +1 -0
- package/dist/cli/commands/admin/realms/set.d.ts +17 -0
- package/dist/cli/commands/admin/realms/set.d.ts.map +1 -0
- package/dist/cli/commands/admin/realms/set.js +46 -0
- package/dist/cli/commands/admin/realms/set.js.map +1 -0
- package/dist/cli/commands/admin/rotate-key.d.ts +16 -0
- package/dist/cli/commands/admin/rotate-key.d.ts.map +1 -0
- package/dist/cli/commands/admin/rotate-key.js +46 -0
- package/dist/cli/commands/admin/rotate-key.js.map +1 -0
- package/dist/cli/commands/init.d.ts +11 -0
- package/dist/cli/commands/init.d.ts.map +1 -0
- package/dist/cli/commands/init.js +34 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/login.d.ts +12 -0
- package/dist/cli/commands/login.d.ts.map +1 -0
- package/dist/cli/commands/login.js +29 -0
- package/dist/cli/commands/login.js.map +1 -0
- package/dist/cli/commands/logout.d.ts +8 -0
- package/dist/cli/commands/logout.d.ts.map +1 -0
- package/dist/cli/commands/logout.js +19 -0
- package/dist/cli/commands/logout.js.map +1 -0
- package/dist/cli/commands/whoami.d.ts +12 -0
- package/dist/cli/commands/whoami.d.ts.map +1 -0
- package/dist/cli/commands/whoami.js +24 -0
- package/dist/cli/commands/whoami.js.map +1 -0
- package/dist/client/Actions.d.ts +108 -0
- package/dist/client/Actions.d.ts.map +1 -0
- package/dist/client/Actions.js +94 -0
- package/dist/client/Actions.js.map +1 -0
- package/dist/client/Auth.d.ts +143 -0
- package/dist/client/Auth.d.ts.map +1 -0
- package/dist/client/Auth.js +106 -0
- package/dist/client/Auth.js.map +1 -0
- package/dist/client/Authorization.d.ts +29 -0
- package/dist/client/Authorization.d.ts.map +1 -0
- package/dist/client/Authorization.js +12 -0
- package/dist/client/Authorization.js.map +1 -0
- package/dist/client/Decorator.d.ts +172 -0
- package/dist/client/Decorator.d.ts.map +1 -0
- package/dist/client/Decorator.js +241 -0
- package/dist/client/Decorator.js.map +1 -0
- package/dist/client/Key.d.ts +82 -0
- package/dist/client/Key.d.ts.map +1 -0
- package/dist/client/Key.js +81 -0
- package/dist/client/Key.js.map +1 -0
- package/dist/client/Pending.d.ts +38 -0
- package/dist/client/Pending.d.ts.map +1 -0
- package/dist/client/Pending.js +12 -0
- package/dist/client/Pending.js.map +1 -0
- package/dist/client/Permissions.d.ts +36 -0
- package/dist/client/Permissions.d.ts.map +1 -0
- package/dist/client/Permissions.js +16 -0
- package/dist/client/Permissions.js.map +1 -0
- package/dist/client/Storage.d.ts +27 -0
- package/dist/client/Storage.d.ts.map +1 -0
- package/dist/client/Storage.js +16 -0
- package/dist/client/Storage.js.map +1 -0
- package/dist/client/TempoAccount.d.ts +52 -0
- package/dist/client/TempoAccount.d.ts.map +1 -0
- package/dist/client/TempoAccount.js +17 -0
- package/dist/client/TempoAccount.js.map +1 -0
- package/dist/client/Tokens.d.ts +25 -0
- package/dist/client/Tokens.d.ts.map +1 -0
- package/dist/client/Tokens.js +12 -0
- package/dist/client/Tokens.js.map +1 -0
- package/dist/client/User.d.ts +21 -0
- package/dist/client/User.d.ts.map +1 -0
- package/dist/client/User.js +12 -0
- package/dist/client/User.js.map +1 -0
- package/dist/client/actions/account.d.ts +75 -0
- package/dist/client/actions/account.d.ts.map +1 -0
- package/dist/client/actions/account.js +102 -0
- package/dist/client/actions/account.js.map +1 -0
- package/dist/client/actions/device.d.ts +52 -0
- package/dist/client/actions/device.d.ts.map +1 -0
- package/dist/client/actions/device.js +103 -0
- package/dist/client/actions/device.js.map +1 -0
- package/dist/client/actions/email.d.ts +89 -0
- package/dist/client/actions/email.d.ts.map +1 -0
- package/dist/client/actions/email.js +86 -0
- package/dist/client/actions/email.js.map +1 -0
- package/dist/client/actions/oauth.d.ts +112 -0
- package/dist/client/actions/oauth.d.ts.map +1 -0
- package/dist/client/actions/oauth.js +103 -0
- package/dist/client/actions/oauth.js.map +1 -0
- package/dist/client/actions/passkey.d.ts +140 -0
- package/dist/client/actions/passkey.d.ts.map +1 -0
- package/dist/client/actions/passkey.js +170 -0
- package/dist/client/actions/passkey.js.map +1 -0
- package/dist/client/actions/realm.d.ts +25 -0
- package/dist/client/actions/realm.d.ts.map +1 -0
- package/dist/client/actions/realm.js +16 -0
- package/dist/client/actions/realm.js.map +1 -0
- package/dist/client/actions/redirect.d.ts +152 -0
- package/dist/client/actions/redirect.d.ts.map +1 -0
- package/dist/client/actions/redirect.js +311 -0
- package/dist/client/actions/redirect.js.map +1 -0
- package/dist/client/internal/accessKey.d.ts +21 -0
- package/dist/client/internal/accessKey.d.ts.map +1 -0
- package/dist/client/internal/accessKey.js +38 -0
- package/dist/client/internal/accessKey.js.map +1 -0
- package/dist/client/internal/account.d.ts +17 -0
- package/dist/client/internal/account.d.ts.map +1 -0
- package/dist/client/internal/account.js +3 -0
- package/dist/client/internal/account.js.map +1 -0
- package/dist/client/internal/api.d.ts +110 -0
- package/dist/client/internal/api.d.ts.map +1 -0
- package/dist/client/internal/api.js +136 -0
- package/dist/client/internal/api.js.map +1 -0
- package/dist/client/internal/headless.d.ts +159 -0
- package/dist/client/internal/headless.d.ts.map +1 -0
- package/dist/client/internal/headless.js +196 -0
- package/dist/client/internal/headless.js.map +1 -0
- package/dist/client/internal/indexedDb.d.ts +8 -0
- package/dist/client/internal/indexedDb.d.ts.map +1 -0
- package/dist/client/internal/indexedDb.js +32 -0
- package/dist/client/internal/indexedDb.js.map +1 -0
- package/dist/client/internal/request.d.ts +56 -0
- package/dist/client/internal/request.d.ts.map +1 -0
- package/dist/client/internal/request.js +44 -0
- package/dist/client/internal/request.js.map +1 -0
- package/dist/client/internal/store.d.ts +12 -0
- package/dist/client/internal/store.d.ts.map +1 -0
- package/dist/client/internal/store.js +15 -0
- package/dist/client/internal/store.js.map +1 -0
- package/dist/client/internal/verifier.d.ts +25 -0
- package/dist/client/internal/verifier.d.ts.map +1 -0
- package/dist/client/internal/verifier.js +52 -0
- package/dist/client/internal/verifier.js.map +1 -0
- package/dist/client.d.ts +18 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +18 -0
- package/dist/client.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/Apps.d.ts +3169 -0
- package/dist/internal/Apps.d.ts.map +1 -0
- package/dist/internal/Apps.js +948 -0
- package/dist/internal/Apps.js.map +1 -0
- package/dist/internal/Auth.d.ts +4287 -0
- package/dist/internal/Auth.d.ts.map +1 -0
- package/dist/internal/Auth.js +185 -0
- package/dist/internal/Auth.js.map +1 -0
- package/dist/internal/Authorize.d.ts +526 -0
- package/dist/internal/Authorize.d.ts.map +1 -0
- package/dist/internal/Authorize.js +330 -0
- package/dist/internal/Authorize.js.map +1 -0
- package/dist/internal/Cache.d.ts +56 -0
- package/dist/internal/Cache.d.ts.map +1 -0
- package/dist/internal/Cache.js +65 -0
- package/dist/internal/Cache.js.map +1 -0
- package/dist/internal/Chain.d.ts +738 -0
- package/dist/internal/Chain.d.ts.map +1 -0
- package/dist/internal/Chain.js +65 -0
- package/dist/internal/Chain.js.map +1 -0
- package/dist/internal/ChainList.d.ts +117 -0
- package/dist/internal/ChainList.d.ts.map +1 -0
- package/dist/internal/ChainList.js +148 -0
- package/dist/internal/ChainList.js.map +1 -0
- package/dist/internal/ChainName.d.ts +11 -0
- package/dist/internal/ChainName.d.ts.map +1 -0
- package/dist/internal/ChainName.js +13 -0
- package/dist/internal/ChainName.js.map +1 -0
- package/dist/internal/CodeEmail.d.ts +38 -0
- package/dist/internal/CodeEmail.d.ts.map +1 -0
- package/dist/internal/CodeEmail.js +85 -0
- package/dist/internal/CodeEmail.js.map +1 -0
- package/dist/internal/ConfigurableAccount.d.ts +600 -0
- package/dist/internal/ConfigurableAccount.d.ts.map +1 -0
- package/dist/internal/ConfigurableAccount.js +795 -0
- package/dist/internal/ConfigurableAccount.js.map +1 -0
- package/dist/internal/Device.d.ts +246 -0
- package/dist/internal/Device.d.ts.map +1 -0
- package/dist/internal/Device.js +257 -0
- package/dist/internal/Device.js.map +1 -0
- package/dist/internal/Env.d.ts +97 -0
- package/dist/internal/Env.d.ts.map +1 -0
- package/dist/internal/Env.js +2 -0
- package/dist/internal/Env.js.map +1 -0
- package/dist/internal/ErrorResponse.d.ts +608 -0
- package/dist/internal/ErrorResponse.d.ts.map +1 -0
- package/dist/internal/ErrorResponse.js +701 -0
- package/dist/internal/ErrorResponse.js.map +1 -0
- package/dist/internal/Id.d.ts +10 -0
- package/dist/internal/Id.d.ts.map +1 -0
- package/dist/internal/Id.js +34 -0
- package/dist/internal/Id.js.map +1 -0
- package/dist/internal/KeyAuthorization.d.ts +1650 -0
- package/dist/internal/KeyAuthorization.d.ts.map +1 -0
- package/dist/internal/KeyAuthorization.js +1187 -0
- package/dist/internal/KeyAuthorization.js.map +1 -0
- package/dist/internal/Limits.d.ts +70 -0
- package/dist/internal/Limits.d.ts.map +1 -0
- package/dist/internal/Limits.js +36 -0
- package/dist/internal/Limits.js.map +1 -0
- package/dist/internal/Log.d.ts +34 -0
- package/dist/internal/Log.d.ts.map +1 -0
- package/dist/internal/Log.js +99 -0
- package/dist/internal/Log.js.map +1 -0
- package/dist/internal/LogLine.d.ts +29 -0
- package/dist/internal/LogLine.d.ts.map +1 -0
- package/dist/internal/LogLine.js +50 -0
- package/dist/internal/LogLine.js.map +1 -0
- package/dist/internal/Migrations.d.ts +28 -0
- package/dist/internal/Migrations.d.ts.map +1 -0
- package/dist/internal/Migrations.js +82 -0
- package/dist/internal/Migrations.js.map +1 -0
- package/dist/internal/Owner.d.ts +230 -0
- package/dist/internal/Owner.d.ts.map +1 -0
- package/dist/internal/Owner.js +101 -0
- package/dist/internal/Owner.js.map +1 -0
- package/dist/internal/Passkey.d.ts +901 -0
- package/dist/internal/Passkey.d.ts.map +1 -0
- package/dist/internal/Passkey.js +1185 -0
- package/dist/internal/Passkey.js.map +1 -0
- package/dist/internal/PendingKey.d.ts +49 -0
- package/dist/internal/PendingKey.d.ts.map +1 -0
- package/dist/internal/PendingKey.js +58 -0
- package/dist/internal/PendingKey.js.map +1 -0
- package/dist/internal/Privy.d.ts +138 -0
- package/dist/internal/Privy.d.ts.map +1 -0
- package/dist/internal/Privy.js +285 -0
- package/dist/internal/Privy.js.map +1 -0
- package/dist/internal/RateLimit.d.ts +218 -0
- package/dist/internal/RateLimit.d.ts.map +1 -0
- package/dist/internal/RateLimit.js +209 -0
- package/dist/internal/RateLimit.js.map +1 -0
- package/dist/internal/Realm.d.ts +290 -0
- package/dist/internal/Realm.d.ts.map +1 -0
- package/dist/internal/Realm.js +502 -0
- package/dist/internal/Realm.js.map +1 -0
- package/dist/internal/RequestId.d.ts +16 -0
- package/dist/internal/RequestId.d.ts.map +1 -0
- package/dist/internal/RequestId.js +78 -0
- package/dist/internal/RequestId.js.map +1 -0
- package/dist/internal/SigningKey.d.ts +126 -0
- package/dist/internal/SigningKey.d.ts.map +1 -0
- package/dist/internal/SigningKey.js +221 -0
- package/dist/internal/SigningKey.js.map +1 -0
- package/dist/internal/TempoAccount.d.ts +181 -0
- package/dist/internal/TempoAccount.d.ts.map +1 -0
- package/dist/internal/TempoAccount.js +369 -0
- package/dist/internal/TempoAccount.js.map +1 -0
- package/dist/internal/TestInbox.d.ts +42 -0
- package/dist/internal/TestInbox.d.ts.map +1 -0
- package/dist/internal/TestInbox.js +20 -0
- package/dist/internal/TestInbox.js.map +1 -0
- package/dist/internal/Timing.d.ts +52 -0
- package/dist/internal/Timing.d.ts.map +1 -0
- package/dist/internal/Timing.js +116 -0
- package/dist/internal/Timing.js.map +1 -0
- package/dist/internal/Validation.d.ts +52 -0
- package/dist/internal/Validation.d.ts.map +1 -0
- package/dist/internal/Validation.js +22 -0
- package/dist/internal/Validation.js.map +1 -0
- package/dist/internal/Verification.d.ts +24 -0
- package/dist/internal/Verification.d.ts.map +1 -0
- package/dist/internal/Verification.js +37 -0
- package/dist/internal/Verification.js.map +1 -0
- package/dist/internal/Wallet.d.ts +66 -0
- package/dist/internal/Wallet.d.ts.map +1 -0
- package/dist/internal/Wallet.js +59 -0
- package/dist/internal/Wallet.js.map +1 -0
- package/dist/internal/owners/Passkey.d.ts +9 -0
- package/dist/internal/owners/Passkey.d.ts.map +1 -0
- package/dist/internal/owners/Passkey.js +58 -0
- package/dist/internal/owners/Passkey.js.map +1 -0
- package/dist/internal/owners/Privy.d.ts +13 -0
- package/dist/internal/owners/Privy.d.ts.map +1 -0
- package/dist/internal/owners/Privy.js +59 -0
- package/dist/internal/owners/Privy.js.map +1 -0
- package/dist/internal/owners/Secp256k1.d.ts +12 -0
- package/dist/internal/owners/Secp256k1.d.ts.map +1 -0
- package/dist/internal/owners/Secp256k1.js +99 -0
- package/dist/internal/owners/Secp256k1.js.map +1 -0
- package/dist/worker.d.ts +18 -0
- package/dist/worker.d.ts.map +1 -0
- package/dist/worker.js +18 -0
- package/dist/worker.js.map +1 -0
- package/package.json +83 -3
- package/src/Api.ts +157 -0
- package/src/App.ts +316 -0
- package/src/api/account.ts +2266 -0
- package/src/api/authenticate.ts +1662 -0
- package/src/api/authorize.ts +1086 -0
- package/src/api/device.ts +516 -0
- package/src/api/health.ts +72 -0
- package/src/api/lib/AccountStep.ts +485 -0
- package/src/api/lib/Auth.ts +164 -0
- package/src/api/lib/Configure.ts +921 -0
- package/src/api/lib/Consent.ts +388 -0
- package/src/api/lib/Cors.ts +160 -0
- package/src/api/lib/Database.ts +10 -0
- package/src/api/lib/DeviceRequest.ts +244 -0
- package/src/api/lib/FirstAccount.ts +136 -0
- package/src/api/lib/Headless.ts +616 -0
- package/src/api/lib/IsolateCache.ts +28 -0
- package/src/api/lib/KeySigner.ts +690 -0
- package/src/api/lib/PasskeyLink.ts +162 -0
- package/src/api/lib/Session.ts +64 -0
- package/src/api/lib/SignInConsent.ts +393 -0
- package/src/api/oauth.ts +1796 -0
- package/src/app/components/CodeInput.tsx +153 -0
- package/src/app/components/DevTools.tsx +1071 -0
- package/src/app/components/Grant.tsx +476 -0
- package/src/app/components/icons/BRLA.png +0 -0
- package/src/app/components/icons/BRZ.svg +1 -0
- package/src/app/components/icons/CHFAU.png +0 -0
- package/src/app/components/icons/DLUSD.png +0 -0
- package/src/app/components/icons/EURAU.svg +1 -0
- package/src/app/components/icons/EURC.e.svg +1 -0
- package/src/app/components/icons/GBPA.svg +4 -0
- package/src/app/components/icons/GUSD.svg +1 -0
- package/src/app/components/icons/MACH.svg +4 -0
- package/src/app/components/icons/OUSD.svg +5 -0
- package/src/app/components/icons/PRIME.svg +14 -0
- package/src/app/components/icons/SBC.svg +1 -0
- package/src/app/components/icons/SEKAU.svg +5 -0
- package/src/app/components/icons/USD1.svg +30 -0
- package/src/app/components/icons/USDB.svg +11 -0
- package/src/app/components/icons/USDC.e.svg +1 -0
- package/src/app/components/icons/USDT0.svg +1 -0
- package/src/app/components/icons/USDY.svg +16 -0
- package/src/app/components/icons/USDe.svg +1 -0
- package/src/app/components/icons/YLDS.svg +3 -0
- package/src/app/components/icons/alphaUSD.svg +1 -0
- package/src/app/components/icons/betaUSD.svg +1 -0
- package/src/app/components/icons/cUSD.svg +1 -0
- package/src/app/components/icons/cbBTC.svg +1 -0
- package/src/app/components/icons/frxUSD.svg +1 -0
- package/src/app/components/icons/goUSD.svg +5 -0
- package/src/app/components/icons/iUSD.svg +1 -0
- package/src/app/components/icons/pathUSD.svg +25 -0
- package/src/app/components/icons/rUSD.svg +1 -0
- package/src/app/components/icons/reUSD.svg +1 -0
- package/src/app/components/icons/sUSDe.svg +1 -0
- package/src/app/components/icons/siUSD.svg +1 -0
- package/src/app/components/icons/stcUSD.svg +1 -0
- package/src/app/components/icons/syrupUSDC.svg +5 -0
- package/src/app/components/icons/thetaUSD.svg +1 -0
- package/src/app/components/icons/wYLDS.svg +10 -0
- package/src/app/components/icons/wsrUSD.svg +1 -0
- package/src/app/components/logos/OUSD.dark.svg +17 -0
- package/src/app/components/logos/OUSD.light.svg +17 -0
- package/src/app/coverage.server.ts +73 -0
- package/src/app/coverage.ts +69 -0
- package/src/app/crons/cleanup.ts +104 -0
- package/src/app/db/auth.ts +440 -0
- package/src/app/db/migrations/0000_better_auth.sql +53 -0
- package/src/app/db/migrations/0001_oauth_provider.sql +162 -0
- package/src/app/db/migrations/0002_device_code.sql +17 -0
- package/src/app/db/migrations/0003_realms.sql +27 -0
- package/src/app/db/migrations/0004_default_realm.sql +2 -0
- package/src/app/db/migrations/0005_passkeys.sql +30 -0
- package/src/app/db/migrations/0006_first_accounts.sql +9 -0
- package/src/app/db/migrations/0007_pending_keys.sql +13 -0
- package/src/app/db/migrations/0008_secp256k1_owners.sql +18 -0
- package/src/app/db/migrations/0009_device_requests.sql +8 -0
- package/src/app/db/migrations/0010_device_keys.sql +4 -0
- package/src/app/db/migrations/0011_registered_passkeys.sql +2 -0
- package/src/app/db/migrations/0012_passkey_accounts.sql +7 -0
- package/src/app/db/migrations/0013_first_party_apps.sql +4 -0
- package/src/app/db/migrations/0014_logout_revokes_tokens.sql +17 -0
- package/src/app/db/migrations/0015_expiry_indexes.sql +9 -0
- package/src/app/db/migrations/0016_configurable_accounts.sql +15 -0
- package/src/app/db/migrations/0017_account_config_keys.sql +3 -0
- package/src/app/db/migrations/0018_better_auth_1_8.sql +9 -0
- package/src/app/db/migrations/0019_drop_provider_account_index.sql +1 -0
- package/src/app/db/migrations/meta/0000_snapshot.json +362 -0
- package/src/app/db/migrations/meta/0001_snapshot.json +1487 -0
- package/src/app/db/migrations/meta/0002_snapshot.json +1603 -0
- package/src/app/db/migrations/meta/0003_snapshot.json +1760 -0
- package/src/app/db/migrations/meta/0004_snapshot.json +1760 -0
- package/src/app/db/migrations/meta/0005_snapshot.json +1911 -0
- package/src/app/db/migrations/meta/0006_snapshot.json +1967 -0
- package/src/app/db/migrations/meta/0007_snapshot.json +2047 -0
- package/src/app/db/migrations/meta/0008_snapshot.json +2157 -0
- package/src/app/db/migrations/meta/0009_snapshot.json +2207 -0
- package/src/app/db/migrations/meta/0010_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0011_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0012_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0013_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0014_snapshot.json +2231 -0
- package/src/app/db/migrations/meta/0015_snapshot.json +2375 -0
- package/src/app/db/migrations/meta/0016_snapshot.json +2475 -0
- package/src/app/db/migrations/meta/0017_snapshot.json +2481 -0
- package/src/app/db/migrations/meta/0018_snapshot.json +2535 -0
- package/src/app/db/migrations/meta/0019_snapshot.json +2514 -0
- package/src/app/db/migrations/meta/_journal.json +146 -0
- package/src/app/db/schema.ts +241 -0
- package/src/app/db/table.ts +31 -0
- package/src/app/env.ts +57 -0
- package/src/app/inbox.ts +190 -0
- package/src/app/lib/Client.ts +82 -0
- package/src/app/lib/Inbox.ts +11 -0
- package/src/app/lib/Loader.ts +21 -0
- package/src/app/lib/Upgrade.ts +221 -0
- package/src/app/package.json +8 -0
- package/src/app/public/_headers +4 -0
- package/src/app/routeTree.gen.ts +219 -0
- package/src/app/router.tsx +47 -0
- package/src/app/routes/[_].flows.tsx +4254 -0
- package/src/app/routes/__root.tsx +172 -0
- package/src/app/routes/authorize.tsx +379 -0
- package/src/app/routes/choose-account.tsx +144 -0
- package/src/app/routes/deposit.tsx +107 -0
- package/src/app/routes/device.tsx +273 -0
- package/src/app/routes/error.tsx +62 -0
- package/src/app/routes/index.tsx +511 -0
- package/src/app/routes/login.tsx +577 -0
- package/src/app/screens/Account.tsx +559 -0
- package/src/app/screens/Approval.tsx +444 -0
- package/src/app/screens/ChooseAccount.tsx +206 -0
- package/src/app/screens/Deposit.tsx +523 -0
- package/src/app/screens/DeviceApproval.tsx +500 -0
- package/src/app/screens/NotFound.tsx +62 -0
- package/src/app/screens/SignIn.tsx +372 -0
- package/src/app/screens/WalletUpgrade.tsx +121 -0
- package/src/app/screens/chains/base.svg +3 -0
- package/src/app/screens/chains/ethereum.svg +11 -0
- package/src/app/screens/chains/solana.svg +4 -0
- package/src/app/screens/chains/tempo.svg +4 -0
- package/src/app/server.ts +342 -0
- package/src/app/vite.config.ts +128 -0
- package/src/app/void.config.ts +36 -0
- package/src/app/wallet.ts +69 -0
- package/src/app/zyzz.config.ts +52 -0
- package/src/cli/Admin.ts +74 -0
- package/src/cli/Apps.ts +27 -0
- package/src/cli/Cli.ts +41 -0
- package/src/cli/Project.ts +119 -0
- package/src/cli/Realms.ts +49 -0
- package/src/cli/Session.ts +290 -0
- package/src/cli/User.ts +40 -0
- package/src/cli/V1.ts +54 -0
- package/src/cli/bin.ts +44 -0
- package/src/cli/commands/admin/apps/create.ts +96 -0
- package/src/cli/commands/admin/apps/delete.ts +38 -0
- package/src/cli/commands/admin/apps/index.ts +15 -0
- package/src/cli/commands/admin/apps/list.ts +25 -0
- package/src/cli/commands/admin/apps/rotate-secret.ts +47 -0
- package/src/cli/commands/admin/apps/update.ts +79 -0
- package/src/cli/commands/admin/index.ts +14 -0
- package/src/cli/commands/admin/migrate.ts +19 -0
- package/src/cli/commands/admin/realms/add.ts +40 -0
- package/src/cli/commands/admin/realms/index.ts +14 -0
- package/src/cli/commands/admin/realms/list.ts +38 -0
- package/src/cli/commands/admin/realms/passkeys/index.ts +15 -0
- package/src/cli/commands/admin/realms/passkeys/set.ts +44 -0
- package/src/cli/commands/admin/realms/privy/index.ts +14 -0
- package/src/cli/commands/admin/realms/privy/set.ts +69 -0
- package/src/cli/commands/admin/realms/remove.ts +33 -0
- package/src/cli/commands/admin/realms/secp256k1/disable.ts +40 -0
- package/src/cli/commands/admin/realms/secp256k1/enable.ts +40 -0
- package/src/cli/commands/admin/realms/secp256k1/index.ts +19 -0
- package/src/cli/commands/admin/realms/set.ts +46 -0
- package/src/cli/commands/admin/rotate-key.ts +47 -0
- package/src/cli/commands/init.ts +42 -0
- package/src/cli/commands/login.ts +32 -0
- package/src/cli/commands/logout.ts +19 -0
- package/src/cli/commands/whoami.ts +23 -0
- package/src/client/Actions.ts +180 -0
- package/src/client/Auth.ts +267 -0
- package/src/client/Authorization.ts +34 -0
- package/src/client/Decorator.ts +444 -0
- package/src/client/Key.ts +137 -0
- package/src/client/Pending.ts +45 -0
- package/src/client/Permissions.ts +41 -0
- package/src/client/Storage.ts +29 -0
- package/src/client/TempoAccount.ts +55 -0
- package/src/client/Tokens.ts +27 -0
- package/src/client/User.ts +23 -0
- package/src/client/actions/account.ts +171 -0
- package/src/client/actions/device.ts +166 -0
- package/src/client/actions/email.ts +164 -0
- package/src/client/actions/oauth.ts +179 -0
- package/src/client/actions/passkey.ts +333 -0
- package/src/client/actions/realm.ts +37 -0
- package/src/client/actions/redirect.ts +502 -0
- package/src/client/internal/accessKey.ts +54 -0
- package/src/client/internal/account.ts +18 -0
- package/src/client/internal/api.ts +242 -0
- package/src/client/internal/headless.ts +308 -0
- package/src/client/internal/indexedDb.ts +44 -0
- package/src/client/internal/request.ts +70 -0
- package/src/client/internal/store.ts +20 -0
- package/src/client/internal/verifier.ts +75 -0
- package/src/client.ts +17 -0
- package/src/index.ts +5 -0
- package/src/internal/Apps.ts +1283 -0
- package/src/internal/Auth.ts +273 -0
- package/src/internal/Authorize.ts +433 -0
- package/src/internal/Balance.ts +144 -0
- package/src/internal/BodyLimit.ts +31 -0
- package/src/internal/Cache.ts +119 -0
- package/src/internal/Chain.ts +99 -0
- package/src/internal/ChainList.ts +270 -0
- package/src/internal/ChainName.ts +14 -0
- package/src/internal/ChainStatus.ts +65 -0
- package/src/internal/CodeEmail.ts +138 -0
- package/src/internal/ConfigurableAccount.ts +1315 -0
- package/src/internal/Device.ts +471 -0
- package/src/internal/Env.ts +92 -0
- package/src/internal/ErrorResponse.ts +896 -0
- package/src/internal/Faucet.ts +43 -0
- package/src/internal/Id.ts +41 -0
- package/src/internal/KeyAuthorization.ts +1536 -0
- package/src/internal/Limits.ts +40 -0
- package/src/internal/Log.ts +166 -0
- package/src/internal/LogLine.ts +81 -0
- package/src/internal/Logout.ts +356 -0
- package/src/internal/Migrations.ts +120 -0
- package/src/internal/OpenApi.ts +300 -0
- package/src/internal/Owner.ts +310 -0
- package/src/internal/Passkey.ts +1904 -0
- package/src/internal/PendingKey.ts +104 -0
- package/src/internal/Privy.ts +536 -0
- package/src/internal/RateLimit.ts +346 -0
- package/src/internal/Realm.ts +814 -0
- package/src/internal/RequestId.ts +118 -0
- package/src/internal/SignInGrant.ts +175 -0
- package/src/internal/SigningKey.ts +319 -0
- package/src/internal/TempoAccount.ts +545 -0
- package/src/internal/TestInbox.ts +51 -0
- package/src/internal/Timing.ts +172 -0
- package/src/internal/Validation.ts +52 -0
- package/src/internal/Verification.ts +58 -0
- package/src/internal/Wallet.ts +101 -0
- package/src/internal/owners/Passkey.ts +76 -0
- package/src/internal/owners/Privy.ts +82 -0
- package/src/internal/owners/Secp256k1.ts +139 -0
- package/src/types/app.d.ts +39 -0
- package/src/worker.ts +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Deposit-ChYGRfW2.js","names":["_jsx","arrayItems","styles","_jsxs","_jsx","QrCode.create","_Fragment","_jsx","styles","_formatErrorMessage","REASONS.imperativeAction","REASONS.none","CommonTriggerDataAttributes.popupOpen","CommonTriggerDataAttributes.pressed","stateAttributesMapping","SelectTriggerDataAttributes.popupSide","REASONS.none","REASONS.cancelOpen","stateAttributesMapping","_formatErrorMessage","REASONS.none","ownerWindow","SelectPositionerCssVars.transformOrigin","platform.engine.webkit","REASONS.windowResize","floatingPlatform","_formatErrorMessage","REASONS.itemPress","_formatErrorMessage","_jsx","BaseUi.Select.Group","BaseUi.Select.GroupLabel","BaseUi.Select.Icon","styles","_jsxs","BaseUi.Select.Item","BaseUi.Select.ItemIndicator","BaseUi.Select.ItemText","BaseUi.Select.Portal","BaseUi.Select.Positioner","BaseUi.Select.Popup","BaseUi.Select.List","BaseUi.Select.Root","BaseUi.Select.Separator","BaseUi.Select.Trigger","BaseUi.Select.Value","styles","_jsx","_jsx","forwardRef","tempo","base","ethereum","solana","usdc","usdt","pathUsd","_Fragment","Apple","__toESM","require_react","require_jsx_runtime","Link","Stack","useStableCallback","EMPTY_OBJECT","createChangeEventDetails","useRefWithInit","transitionStatusMapping","visuallyHidden","contains","useRenderElement","useAnimationFrame","EMPTY_ARRAY","windowResize","getFloatingFocusElement","ownerDocument","visuallyHiddenInput","formatErrorMessage","clamp","useTimeout","imperativeAction","useButton","useMergedRefs","itemPress","useOpenChangeComplete","none","isElement","useId","mergeProps","create$1","ReactStore","webkit","getWindow","addEventListener","useRender","Button","cancelOpen","inertValue","useIsoLayoutEffect","DROPDOWN_COLLISION_AVOIDANCE","NOOP","FloatingPortal","useTransitionStatus","pressableTriggerOpenStateMapping","useValueAsRef","useFloatingParentNodeId","isVirtualClick","triggerOpenStateMapping","useDismiss","popupStateMapping","FOCUSABLE_POPUP_PROPS","useDirection","PopupTriggerMap","FloatingRootStore","useAnchorPositioning","useUnmountAfterClose","usePositioner","useBaseUiId","getDisabledMountTransitionStyles","platform","Tooltip","attachPreventUnmountOnClose","useOpenInteractionType","useClick","InternalBackdrop","FloatingFocusManager","COMPOSITE_KEYS","useAnchoredPopupScrollLock","useValueChanged","useToolbarRootContext","useTypeahead","useListNavigation","isMouseWithinBounds","useFormContext","useCompositeListItem","useLabelableContext","CompositeList","useSetFieldFocused","useFieldRootContext","useLabelableId","fieldValidityMapping","useRegisterFieldControl","useControlled","styles$5","Check","Callout","Hex","Inline","Tag","Rows","useFloatingRootContext","options","floatingId","nested","store","elements","valuesToSync","open","onOpenChange","import_jsx_runtime","import_react","usePreviousValue","state","setState","value","ChevronDown","props","useOnFirstRender","ref","fn","areArraysEqual","array1","length","array2","itemComparer","defaultItemEquality","itemValue","selectedValue","compareItemEquality","comparer","isSelectedValueDirty","currentValue","initialValue","initialItemValue","selectedValueIncludes","selectedValues","findItemIndex","itemValues","createSelectionMatcher","index","v","findSelectionIndex","multiple","resolveSelectedIndex","currentIndex","registry","removeItem","serializeValue","isGroup","item","isGroupedItems","items","flattenLeafItems","group","hasNullItemLabel","arrayItems","stringifyAsLabel","itemToStringLabel","stringifyAsValue","itemToStringValue","resolveSelectedLabel","fallback","flatItems","match","resolveMultipleLabels","values","acc","resolveAriaLabelledBy","fieldLabelId","localLabelId","ListboxSeparator","elementProps","componentProps","forwardedRef","ItemIndicator","indicatorRef","selected","element","setMounted","styles$4","external","input","style","vars","inline","className","result","\"size\"","isElementDisabled","chCodes","assertNumber","n","validateVersion","ver","bin","dec","pad","mod","a","b","fillArr","val","popcnt","interleaveBytes","maxLen","totalLen","block","blocks","idx","i","best","bestScore","score","alphabet","char","letter","digits","transpose32","masks","stage","m","s","step","k","i0","i1","x","y","t","bitMask","rangeMask","len","shift","Bitmap","size","limit","lines","height","width","rows","line","row","data","p","offset","c","wi","mask","w","h","startWord","x0","endWord","startBit","endBit","ry","rowBase","y0","words","yPos","Py","xPos","bitX","bitsPerWord","bit","cb","word","defWord","valWord","res","border","out","src","srcStride","srcValue","srcRow","dstX","dstWord","dstBit","srcWord","srcBit","w0","w1","sVal","dstMask","valBits","rect","cur","dst","dstStride","dstValue","dstDefined","dstTail","tmpV","tmpD","by","bx","r","defined","dstY","dstPos","curMask","factor","fullWords","tailMask","patterns","patternLen","count","window","bitEnd","runLen","runValue","base0","base1","validLast","boxes","a0","a1","eqV","n0","eqH0","n1","eqH1","nl","first","second","cc","reset","whiteBG","darkBG","pathData","prevPoint","point","optimize","relM","bH","u16le","dims","bytes","fullChunks","isRGB","ECMode","Encoding","BYTES","WORDS_PER_BLOCK","ECC_BLOCKS","info","last","distance","interval","ecc","maskIdx","d","type","numBlocks","blockLen","shortBlocks","PATTERNS","GF","exp","log","p_poly","e","poly","degree","coefficient","coefficients","j","scalar","smaller","larger","sumDiff","lengthDiff","divisor","elm","g","rLast","tLast","R","rLastLast","tLastLast","q","dltInverse","degreeDiff","scale","sigmaTildeAtZero","inverse","RS","eccWords","pol","from","to","syndrome","hasError","evl","monomial","errorLocator","errorEvaluator","locations","pos","xiInverse","denominator","interleave","rs","eccBlocks","resBlocks","resECC","total","isShort","drawTemplate","finder","align","alignPos","bits","getBit","test","zigzag","tpl","pattern","dir","xOffset","detectType","str","utf8ToBytes","encode","encoded","dataLen","utf8","encoder","capacity","drawQR","need","mkPattern","finderPattern","lightPattern","P1","P2","penalty","bm","transposed","adjacent","box","darkPixels","darkPercent","dark","drawQRBest","bestMask","validateECC","ec","validateEncoding","enc","validateMask","encodeQR","opts","encoding","text","err","output","create","grid","errorCorrection","Cuer","rest","arena","Root","hasArena","children","child","qrcode","ecl","version","edgeSize","finderSize","arenaSize","context","Finder","Inner","outerX","cellSize","position","outerY","innerX","innerY","fill","radius","innerClassName","Cells","inset_","path","start","edgeLength","end","topLeftFinder","finderLength","topRightFinder","bottomLeftFinder","inset","innerSize","cx","cy","left","right","top","bottom","Arena","padding","Qr","attributes","styles$3","SelectRootContext","SelectFloatingContext","useSelectRootContext","useSelectFloatingContext","selectors","enabled","storeValue","selectedItem","getMaxScrollOffset","scrollSize","clientSize","normalizeScrollOffset","max","clamped","startDistance","endDistance","withinStartTolerance","withinEndTolerance","SelectRoot","valueProp","openProp","nameProp","disabledProp","fieldName","fieldDisabled","generatedId","disabled","name","setValueUnwrapped","defaultValue","setOpenUnwrapped","defaultOpen","listRef","labelsRef","popupRef","scrollHandlerRef","scrollArrowsMountedCountRef","valueRef","valuesRef","typingRef","firstItemTextRef","selectedItemTextRef","selectionRef","alignItemWithTriggerActiveRef","initialValueRef","interactionTypeProps","preventUnmountOnClose","setPreventUnmountOnClose","handleUnmount","onOpenChangeComplete","activeIndex","selectedIndex","triggerElement","positionerElement","previousOpenMethod","openMethod","renderedOpenMethod","serializedValue","fieldStringValue","controlRef","getStringifiedValueForForm","hasSelectedValue","setFilled","nextIndex","isItemEqualToValue","clearErrors","setDirty","validityData","validation","setOpen","openEventDetails","eventDetails","shouldPreventUnmountOnClose","nextOpen","setTouched","setFocused","validationMode","actionsRef","setValue","onValueChange","nextValue","handleScrollArrowVisibility","maxScrollTop","scroller","scrollTop","shouldShowUp","shouldShowDown","floatingContext","click","dismiss","listNavigation","nextActiveIndex","highlightItemOnHover","typeahead","readOnly","typing","mergedTriggerProps","popupProps","itemProps","itemRoot","inputRef","hiddenInputName","hiddenInputs","currentSerializedValue","form","event","details","handleChange","nextValueLower","matchingIndex","candidate","renderedLabel","matchingValue","required","popupSide","SELECTED_DELAY","stateAttributesMapping$2","side","SelectTrigger","idProp","fieldState","selectDisabled","mounted","triggerProps","listElement","popupSideValue","rootId","selectLabelId","id","ariaLabelledBy","positionerRef","triggerRef","nativeButton","setTriggerElement","timeoutFocus","timeoutMouseDown","selectedDelayTimeout","mergedProps","doc","handleMouseUp","mouseUpTarget","mouseEvent","getButtonProps","buttonRef","stateAttributesMapping$1","SelectValue","childrenProp","shouldCheckNullItemLabel","placeholder","hasNullLabel","SelectIcon","SelectPortal","forceMount","portalProps","SelectPositionerContext","useSelectPositionerContext","clearStyles","originalStyles","LIST_FUNCTIONAL_STYLES","FIXED","SelectPositioner","floatingRootContext","modal","transitionStatus","scrollUpArrowRef","scrollDownArrowRef","controlledAlignItemWithTrigger","setControlledAlignItemWithTrigger","alignItemWithTrigger","alignItemWithTriggerActive","positioning","disableAnchorTracking","renderedSide","positionerStyles","setPositionerElement","prevMapSizeRef","onMapChange","prevSize","map","initialSelectedValue","selectedItemValue","stylesToClear","contextValue","DISABLE_SCROLLBAR_CLASS_NAME","styleDisableScrollbar","CSPContext","DEFAULT_CSP_CONTEXT_VALUE","useCSPContext","transformOrigin","stateAttributesMapping","SelectPopup","insideToolbar","direction","reachedMaxHeightRef","initialPlacedRef","originalPositionerStylesRef","scrollArrowFrame","handleScroll","isTopPositioned","isBottomPositioned","getScale","currentHeight","normalizeSize","win","marginTop","marginBottom","maxPopupHeight","getMaxPopupHeight","maxAvailableHeight","getMaxScrollTop","nextScrollTop","setHeight","diff","nextHeight","heightDelta","nextPositionerHeight","target","popupElement","isPositioned","restoreTransformStyles","unsetTransformStyles","textElement","valueElement","popupStyles","triggerRect","normalizeRect","positionerRect","triggerHeight","scrollHeight","borderBottom","minHeight","viewportHeight","viewportWidth","availableSpaceBeneathTrigger","textRect","alignedLeft","offsetY","valueRect","valueCenterFromTriggerTop","idealHeight","maxHeight","maxRight","fallbackToAlignPopupToTrigger","isPinchZoomed","initialHeight","topOffset","popupTop","popupHeight","textCenterY","clampedY","handleResize","defaultProps","disableStyleElements","nonce","finalFocus","maxHeightStyle","axis","rectToClientRect","TRANSFORM_STYLE_RESETS","property","originalValue","SelectList","hasScrollArrows","setListElement","SelectItemContext","useSelectItemContext","SelectItem","textRef","listItem","highlighted","selectedByFocus","itemRef","claims","pointerTypeRef","allowMouseSelectionRef","commitSelection","resetDragMovement","isMouseClick","clickPointerType","isVirtualMouseClick","isInvalidMouseClick","selection","disallowSelectedMouseUp","disallowUnselectedMouseUp","SelectItemIndicator","SelectItemText","localRef","node","SelectGroupContext","useSelectGroupContext","SelectGroup","labelId","setLabelId","SelectGroupLabel","currentId","SelectSeparator","Select","Group","GroupLabel","Icon","styles$2","Item","ItemPrefix","ItemSuffix","ItemText","Popup","Separator","Trigger","invalid","Value","Surface","styles$1","Description","Header","Links","Title","ArrowLeft","ForwardRef","titleId","title","pathUSD_default","USDC_e_default","USDT0_default","base_default","ethereum_default","solana_default","tempo_default","networks","stablecoins","Deposit","Subtitle","styles","Receive","MethodRow","network","content","asset","address","coin"],"sources":["../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs","../../../../../node_modules/.pnpm/@base-ui+utils@0.5.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/usePreviousValue.mjs","../../../../../node_modules/.pnpm/@tempoxyz+ds@0.2.6_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react-native@0.86_f564df10a26f3190a3aaf6288ad1f3d1/node_modules/@tempoxyz/ds/dist/web/icons/ChevronDown.js","../../../../../node_modules/.pnpm/@base-ui+utils@0.5.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/useOnFirstRender.mjs","../../../../../node_modules/.pnpm/@base-ui+utils@0.5.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/areArraysEqual.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/itemEquality.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/serializeValue.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/resolveValueLabel.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/listbox-separator/ListboxSeparator.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/ItemIndicator.mjs","../../../../../node_modules/.pnpm/@tempoxyz+ds@0.2.6_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react-native@0.86_f564df10a26f3190a3aaf6288ad1f3d1/node_modules/@tempoxyz/ds/dist/web/components/internal/Listbox.js","../../../../../node_modules/.pnpm/@base-ui+utils@0.5.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/utils/isElementDisabled.mjs","../../../../../node_modules/.pnpm/qr@0.5.5/node_modules/qr/index.js","../../../../../node_modules/.pnpm/cuer@0.0.3_react-dom@19.3.0_react@19.3.0__react@19.3.0_typescript@7.0.2/node_modules/cuer/_dist/QrCode.js","../../../../../node_modules/.pnpm/cuer@0.0.3_react-dom@19.3.0_react@19.3.0__react@19.3.0_typescript@7.0.2/node_modules/cuer/_dist/Cuer.js","../../../../../node_modules/.pnpm/@tempoxyz+ds@0.2.6_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react-native@0.86_f564df10a26f3190a3aaf6288ad1f3d1/node_modules/@tempoxyz/ds/dist/web/components/Qr.js","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/root/SelectRootContext.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/store.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/scrollEdges.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/root/SelectRoot.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/trigger/SelectTriggerDataAttributes.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/trigger/SelectTrigger.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/value/SelectValue.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/icon/SelectIcon.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/portal/SelectPortal.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/positioner/SelectPositionerContext.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/popup/utils.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/positioner/SelectPositioner.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/utils/styles.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/internals/csp-context/CSPContext.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/positioner/SelectPositionerCssVars.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/popup/SelectPopup.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/list/SelectList.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/item/SelectItemContext.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/item/SelectItem.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/item-indicator/SelectItemIndicator.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/item-text/SelectItemText.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/group/SelectGroupContext.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/group/SelectGroup.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/group-label/SelectGroupLabel.mjs","../../../../../node_modules/.pnpm/@base-ui+react@1.9.0_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react@19.3.0/node_modules/@base-ui/react/select/separator/SelectSeparator.mjs","../../../../../node_modules/.pnpm/@tempoxyz+ds@0.2.6_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react-native@0.86_f564df10a26f3190a3aaf6288ad1f3d1/node_modules/@tempoxyz/ds/dist/web/components/Select.js","../../../../../node_modules/.pnpm/@tempoxyz+ds@0.2.6_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react-native@0.86_f564df10a26f3190a3aaf6288ad1f3d1/node_modules/@tempoxyz/ds/dist/web/components/Surface.js","../../../../../node_modules/.pnpm/@tempoxyz+ds@0.2.6_@types+react@19.3.0_react-dom@19.3.0_react@19.3.0__react-native@0.86_f564df10a26f3190a3aaf6288ad1f3d1/node_modules/@tempoxyz/ds/dist/web/icons/ArrowLeft.js","../../../components/icons/pathUSD.svg?url","../../../components/icons/USDC.e.svg?url","../../../components/icons/USDT0.svg?url","../../../screens/chains/base.svg?url","../../../screens/chains/ethereum.svg?url","../../../screens/chains/solana.svg?url","../../../screens/chains/tempo.svg?url","../../../screens/Deposit.tsx"],"sourcesContent":["'use client';\n\nimport { isElement } from '@floating-ui/utils/dom';\nimport { useId } from '@base-ui/utils/useId';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { PopupTriggerMap } from \"../../utils/popups/index.mjs\";\nimport { useFloatingParentNodeId } from \"../components/FloatingTree.mjs\";\nimport { FloatingRootStore } from \"../components/FloatingRootStore.mjs\";\nexport function useFloatingRootContext(options) {\n const {\n open = false,\n onOpenChange,\n elements = {}\n } = options;\n const floatingId = useId();\n const nested = useFloatingParentNodeId() != null;\n if (process.env.NODE_ENV !== 'production') {\n const optionDomReference = elements.reference;\n if (optionDomReference && !isElement(optionDomReference)) {\n console.error('Cannot pass a virtual element to the `elements.reference` option,', 'as it must be a real DOM element. Use `context.setPositionReference()`', 'instead.');\n }\n }\n const store = useRefWithInit(() => new FloatingRootStore({\n open,\n transitionStatus: undefined,\n onOpenChange,\n referenceElement: elements.reference ?? null,\n floatingElement: elements.floating ?? null,\n triggerElements: new PopupTriggerMap(),\n floatingId,\n syncOnly: false,\n nested\n })).current;\n useIsoLayoutEffect(() => {\n const valuesToSync = {\n open,\n floatingId\n };\n if (elements.reference !== undefined) {\n valuesToSync.referenceElement = elements.reference;\n valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;\n }\n if (elements.floating !== undefined) {\n valuesToSync.floatingElement = elements.floating;\n }\n store.update(valuesToSync);\n }, [open, floatingId, elements.reference, elements.floating, store]);\n store.context.onOpenChange = onOpenChange;\n store.context.nested = nested;\n return store;\n}","'use client';\n\nimport * as React from 'react';\n\n/**\n * Returns a previous value of its argument.\n * @param value Current value.\n * @returns Previous value, or null if there is no previous value.\n */\nexport function usePreviousValue(value) {\n const [state, setState] = React.useState({\n current: value,\n previous: null\n });\n if (!Object.is(value, state.current)) {\n setState({\n current: value,\n previous: state.current\n });\n }\n return state.previous;\n}","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function ChevronDown(props) {\n return (_jsx(\"svg\", { width: \"1em\", height: \"1em\", viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-hidden\": props['aria-label'] || props['aria-labelledby'] ? undefined : true, role: props['aria-label'] || props['aria-labelledby'] ? 'img' : undefined, ...props, children: _jsx(\"path\", { d: \"M11.9804 6.1464C12.1757 5.9514 12.4923 5.95122 12.6875 6.1464C12.8823 6.3416 12.8823 6.65827 12.6875 6.85343L8.82516 10.7157C8.36974 11.1709 7.63132 11.1707 7.17574 10.7157L3.31344 6.85343C3.11818 6.65816 3.11818 6.34166 3.31344 6.1464C3.50871 5.95124 3.82524 5.95117 4.02047 6.1464L7.88277 10.0087C7.94782 10.0731 8.05324 10.0734 8.11813 10.0087L11.9804 6.1464Z\", fill: \"currentColor\" }) }));\n}\n//# sourceMappingURL=ChevronDown.js.map","'use client';\n\nimport * as React from 'react';\nexport function useOnFirstRender(fn) {\n const ref = React.useRef(true);\n if (ref.current) {\n ref.current = false;\n fn();\n }\n}","// https://github.com/mui/mui-x/blob/master/packages/x-internals/src/fastArrayCompare/fastArrayCompare.ts\n\n/**\n * Compares two arrays element-wise.\n *\n * The default comparison is `Object.is`, so `NaN` equals `NaN` and `0` does not equal `-0`.\n */\nexport function areArraysEqual(array1, array2, itemComparer = Object.is) {\n const {\n length\n } = array1;\n if (length !== array2.length) {\n return false;\n }\n for (let i = 0; i < length; i += 1) {\n if (!itemComparer(array1[i], array2[i])) {\n return false;\n }\n }\n return true;\n}","import { areArraysEqual } from '@base-ui/utils/areArraysEqual';\n// Compared by identity in `findSelectionIndex`; don't wrap it.\nexport const defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);\nexport function compareItemEquality(itemValue, selectedValue, comparer) {\n if (itemValue == null || selectedValue == null) {\n return Object.is(itemValue, selectedValue);\n }\n return comparer(itemValue, selectedValue);\n}\nexport function isSelectedValueDirty(currentValue, initialValue, comparer) {\n if (Array.isArray(currentValue) && Array.isArray(initialValue)) {\n return !areArraysEqual(currentValue, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, comparer));\n }\n return currentValue !== initialValue;\n}\nexport function selectedValueIncludes(selectedValues, itemValue, comparer) {\n if (!selectedValues) {\n return false;\n }\n return selectedValues.some(selectedValue => {\n if (selectedValue === undefined) {\n return false;\n }\n return compareItemEquality(itemValue, selectedValue, comparer);\n });\n}\nexport function findItemIndex(itemValues, selectedValue, comparer) {\n if (!itemValues) {\n return -1;\n }\n return itemValues.findIndex(itemValue => {\n if (itemValue === undefined) {\n return false;\n }\n return compareItemEquality(itemValue, selectedValue, comparer);\n });\n}\n\n// The default comparer is `Object.is`, so the values can be indexed instead of rescanned\n// for every item. A custom comparer may match values that don't hash alike.\nfunction createSelectionMatcher(selectedValues, comparer) {\n if (comparer !== defaultItemEquality) {\n return itemValue => selectedValueIncludes(selectedValues, itemValue, comparer);\n }\n const index = new Set(selectedValues);\n index.delete(undefined);\n // `Set` treats +0 and -0 as equal; `Object.is` does not.\n return itemValue => index.has(itemValue) && (itemValue !== 0 || selectedValues.some(v => Object.is(itemValue, v)));\n}\nexport function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {\n // Only treat the value as a list in multiple mode: an array can itself be a valid\n // single-select value.\n const index = multiple && Array.isArray(selectedValue) ?\n // Anchor to the first selected item in rendered order so the index does not depend\n // on the order in which the values were added to the array.\n itemValues.findIndex(createSelectionMatcher(selectedValue, comparer)) : findItemIndex(itemValues, selectedValue, comparer);\n return index === -1 ? null : index;\n}\n\n/** Resolves the first selected index as items register or change. */\nexport function resolveSelectedIndex(index, itemValue, registry, selectedValues, comparer, currentIndex) {\n if (selectedValueIncludes(selectedValues, itemValue, comparer)) {\n // A later item only takes over once the current anchor stops being selected.\n return currentIndex != null && index > currentIndex && selectedValueIncludes(selectedValues, registry[currentIndex], comparer) ? currentIndex : index;\n }\n // The holder re-elects the anchor once it stops being selected.\n return index === currentIndex ? findSelectionIndex(registry, selectedValues, comparer, true) : currentIndex;\n}\nexport function removeItem(selectedValues, itemValue, comparer) {\n return selectedValues.filter(selectedValue => !compareItemEquality(itemValue, selectedValue, comparer));\n}","export function serializeValue(value) {\n if (value == null) {\n return '';\n }\n if (typeof value === 'string') {\n return value;\n }\n try {\n return JSON.stringify(value);\n } catch {\n return String(value);\n }\n}","'use client';\n\nimport * as React from 'react';\nimport { serializeValue } from \"./serializeValue.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction isGroup(item) {\n return typeof item === 'object' && item != null && Array.isArray(item.items);\n}\nexport function isGroupedItems(items) {\n // A group must carry an actual `items` array: key presence alone would misclassify an item\n // with an unrelated or optional `items` field.\n return isGroup(items?.[0]);\n}\nexport function flattenLeafItems(items) {\n return isGroupedItems(items) ? items.flatMap(group => group.items) : items;\n}\n\n/**\n * Checks if the items array contains an item with a null value that has a non-null label.\n */\nexport function hasNullItemLabel(items) {\n if (!Array.isArray(items)) {\n return items != null && 'null' in items;\n }\n const arrayItems = items;\n if (isGroupedItems(arrayItems)) {\n for (const group of arrayItems) {\n for (const item of group.items) {\n if (item && item.value == null && item.label != null) {\n return true;\n }\n }\n }\n return false;\n }\n for (const item of arrayItems) {\n if (item && item.value == null && item.label != null) {\n return true;\n }\n }\n return false;\n}\nexport function stringifyAsLabel(item, itemToStringLabel) {\n if (itemToStringLabel && item != null) {\n return itemToStringLabel(item) ?? '';\n }\n if (item && typeof item === 'object') {\n if ('label' in item && item.label != null) {\n return String(item.label);\n }\n if ('value' in item) {\n return String(item.value);\n }\n }\n return serializeValue(item);\n}\nexport function stringifyAsValue(item, itemToStringValue) {\n if (itemToStringValue && item != null) {\n return itemToStringValue(item) ?? '';\n }\n if (item && typeof item === 'object' && 'value' in item && 'label' in item) {\n return serializeValue(item.value);\n }\n return serializeValue(item);\n}\nexport function resolveSelectedLabel(value, items, itemToStringLabel) {\n function fallback() {\n return stringifyAsLabel(value, itemToStringLabel);\n }\n if (itemToStringLabel && value != null) {\n return itemToStringLabel(value);\n }\n\n // Custom object with explicit label takes precedence\n if (value && typeof value === 'object' && 'label' in value && value.label != null) {\n return value.label;\n }\n\n // Items provided as plain record map\n if (items && !Array.isArray(items)) {\n const label = Object.hasOwn(items, value) ? items[value] : undefined;\n return label ?? fallback();\n }\n\n // Items provided as array (flat or grouped)\n if (Array.isArray(items)) {\n const arrayItems = items;\n const flatItems = flattenLeafItems(arrayItems);\n if (value == null || typeof value !== 'object') {\n const match = flatItems.find(item => item.value === value);\n if (match && match.label != null) {\n return match.label;\n }\n return fallback();\n }\n\n // Object without explicit label: try matching by its `value` property\n if ('value' in value) {\n const match = flatItems.find(item => item && item.value === value.value);\n if (match && match.label != null) {\n return match.label;\n }\n }\n }\n return fallback();\n}\nexport function resolveMultipleLabels(values, items, itemToStringLabel) {\n return values.reduce((acc, value, index) => {\n if (index > 0) {\n acc.push(', ');\n }\n acc.push(/*#__PURE__*/_jsx(React.Fragment, {\n children: resolveSelectedLabel(value, items, itemToStringLabel)\n }, index));\n return acc;\n }, []);\n}","'use client';\n\nexport function getDefaultLabelId(id) {\n return id == null ? undefined : `${id}-label`;\n}\nexport function resolveAriaLabelledBy(fieldLabelId, localLabelId) {\n return fieldLabelId ?? localLabelId;\n}","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * A visual separator between items.\n * Renders a `<div>` element.\n *\n * @internal\n */\nexport const ListboxSeparator = /*#__PURE__*/React.forwardRef(function ListboxSeparator(componentProps, forwardedRef) {\n const {\n className,\n render,\n orientation = 'horizontal',\n style,\n ...elementProps\n } = componentProps;\n const state = {\n orientation\n };\n return useRenderElement('div', componentProps, {\n state,\n ref: forwardedRef,\n props: [{\n role: 'presentation'\n }, elementProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") ListboxSeparator.displayName = \"ListboxSeparator\";","'use client';\n\nimport * as React from 'react';\nimport { useTransitionStatus } from \"../internals/useTransitionStatus.mjs\";\nimport { useOpenChangeComplete } from \"../internals/useOpenChangeComplete.mjs\";\nimport { useRenderElement } from \"../internals/useRenderElement.mjs\";\nimport { transitionStatusMapping } from \"../internals/stateAttributesMapping.mjs\";\n\n// The public wrappers mount this component only when selected or kept mounted, avoiding the\n// hook costs for unselected items. Pass selection as a prop so memoization observes changes.\nexport const ItemIndicator = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function ItemIndicator(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n keepMounted,\n selected,\n ...elementProps\n } = componentProps;\n const indicatorRef = React.useRef(null);\n const {\n transitionStatus,\n setMounted\n } = useTransitionStatus(selected);\n const state = {\n selected,\n transitionStatus\n };\n const element = useRenderElement('span', componentProps, {\n ref: [forwardedRef, indicatorRef],\n state,\n props: [{\n 'aria-hidden': true,\n children: '✔️'\n }, elementProps],\n stateAttributesMapping: transitionStatusMapping\n });\n useOpenChangeComplete({\n batch: true,\n enabled: !selected,\n open: selected,\n ref: indicatorRef,\n onComplete() {\n if (!selected) {\n setMounted(false);\n }\n }\n });\n return element;\n}));\nif (process.env.NODE_ENV !== \"production\") ItemIndicator.displayName = \"ItemIndicator\";","\nimport { Props as __zyzzProps } from 'zyzz/runtime';\nimport { style, variants } from '../../zyzz.config.js';\nexport var styles;\n(function (styles) {\n styles.empty = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK0 z_tds_2f_web-MmqStK1 z_tds_2f_web-MmqStK2 z_tds_2f_web-MmqStK3 z_tds_2f_web-MmqStK4 z_tds_2f_web-MmqStK5 z_tds_2f_web-MmqStK6 z_tds_2f_web-MmqStK7 z_tds_2f_web-MmqStK8\"});\n styles.group = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK9 z_tds_2f_web-MmqStKa\"});\n styles.groupLabel = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK0 z_tds_2f_web-MmqStKb z_tds_2f_web-MmqStKc z_tds_2f_web-MmqStKd z_tds_2f_web-MmqStKe z_tds_2f_web-MmqStKf z_tds_2f_web-MmqStKg z_tds_2f_web-MmqStKh\"});\n styles.indicator = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStKi z_tds_2f_web-MmqStKj z_tds_2f_web-MmqStKk z_tds_2f_web-MmqStKl z_tds_2f_web-MmqStKm z_tds_2f_web-MmqStKn z_tds_2f_web-MmqStKo z_tds_2f_web-MmqStKp z_tds_2f_web-MmqStKq z_tds_2f_web-MmqStKr z_tds_2f_web-MmqStKs z_tds_2f_web-MmqStKt\"});\n styles.item = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStKi z_tds_2f_web-MmqStKu z_tds_2f_web-MmqStKv z_tds_2f_web-MmqStKw z_tds_2f_web-MmqStKx z_tds_2f_web-MmqStKy z_tds_2f_web-MmqStKz z_tds_2f_web-MmqStK10 z_tds_2f_web-MmqStK11 z_tds_2f_web-MmqStKb z_tds_2f_web-MmqStKc z_tds_2f_web-MmqStK12 z_tds_2f_web-MmqStK13 z_tds_2f_web-MmqStKp z_tds_2f_web-MmqStK14 z_tds_2f_web-MmqStK15 z_tds_2f_web-MmqStK16 z_tds_2f_web-MmqStK17 z_tds_2f_web-MmqStK18 z_tds_2f_web-MmqStK19 z_tds_2f_web-MmqStK1a z_tds_2f_web-MmqStK1b z_tds_2f_web-MmqStK1c z_tds_2f_web-MmqStK1d\"});\n styles.list = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStKv z_tds_2f_web-MmqStK11\"});\n styles.popup = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-MmqStK1e z_tds_2f_web-MmqStK1f z_tds_2f_web-MmqStK1g z_tds_2f_web-MmqStKv z_tds_2f_web-MmqStKw z_tds_2f_web-MmqStK1h z_tds_2f_web-MmqStK1i z_tds_2f_web-MmqStK1j z_tds_2f_web-MmqStK11 z_tds_2f_web-MmqStK1k z_tds_2f_web-MmqStK1l z_tds_2f_web-MmqStK1m z_tds_2f_web-MmqStK1n z_tds_2f_web-MmqStK1o z_tds_2f_web-MmqStK1p z_tds_2f_web-MmqStK1q z_tds_2f_web-MmqStK1r z_tds_2f_web-MmqStK1s z_tds_2f_web-MmqStK1t z_tds_2f_web-MmqStK1u z_tds_2f_web-MmqStK1v z_tds_2f_web-MmqStK1w z_tds_2f_web-MmqStK1x z_tds_2f_web-MmqStK1y z_tds_2f_web-MmqStK1z z_tds_2f_web-MmqStK20 z_tds_2f_web-MmqStK21 z_tds_2f_web-MmqStK22 z_tds_2f_web-MmqStK23 z_tds_2f_web-MmqStK24 z_tds_2f_web-MmqStK25 z_tds_2f_web-MmqStK26 z_tds_2f_web-MmqStK27 z_tds_2f_web-MmqStK28 z_tds_2f_web-MmqStK29 z_tds_2f_web-MmqStK2a z_tds_2f_web-MmqStK2b z_tds_2f_web-MmqStK2c z_tds_2f_web-MmqStK2d z_tds_2f_web-MmqStK2e z_tds_2f_web-MmqStK2f z_tds_2f_web-MmqStK2g z_tds_2f_web-MmqStK2h\"+\" \"+external:\"z_tds_2f_web-MmqStK1e z_tds_2f_web-MmqStK1f z_tds_2f_web-MmqStK1g z_tds_2f_web-MmqStKv z_tds_2f_web-MmqStKw z_tds_2f_web-MmqStK1h z_tds_2f_web-MmqStK1i z_tds_2f_web-MmqStK1j z_tds_2f_web-MmqStK11 z_tds_2f_web-MmqStK1k z_tds_2f_web-MmqStK1l z_tds_2f_web-MmqStK1m z_tds_2f_web-MmqStK1n z_tds_2f_web-MmqStK1o z_tds_2f_web-MmqStK1p z_tds_2f_web-MmqStK1q z_tds_2f_web-MmqStK1r z_tds_2f_web-MmqStK1s z_tds_2f_web-MmqStK1t z_tds_2f_web-MmqStK1u z_tds_2f_web-MmqStK1v z_tds_2f_web-MmqStK1w z_tds_2f_web-MmqStK1x z_tds_2f_web-MmqStK1y z_tds_2f_web-MmqStK1z z_tds_2f_web-MmqStK20 z_tds_2f_web-MmqStK21 z_tds_2f_web-MmqStK22 z_tds_2f_web-MmqStK23 z_tds_2f_web-MmqStK24 z_tds_2f_web-MmqStK25 z_tds_2f_web-MmqStK26 z_tds_2f_web-MmqStK27 z_tds_2f_web-MmqStK28 z_tds_2f_web-MmqStK29 z_tds_2f_web-MmqStK2a z_tds_2f_web-MmqStK2b z_tds_2f_web-MmqStK2c z_tds_2f_web-MmqStK2d z_tds_2f_web-MmqStK2e z_tds_2f_web-MmqStK2f z_tds_2f_web-MmqStK2g z_tds_2f_web-MmqStK2h\",result=inline?{className,style:inline}:{className};let value;value=Object.hasOwn(input,\"size\")?input[\"size\"]:void 0;if(value===void 0)value=\"medium\";if(value!==null&&value!==void 0)result[\"data-size\"]=String(value);return result});\n styles.positioner = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK2i\"});\n styles.prefix = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStKi z_tds_2f_web-MmqStK2j z_tds_2f_web-MmqStKk\"});\n styles.separator = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK2k z_tds_2f_web-MmqStK2l z_tds_2f_web-MmqStK2m z_tds_2f_web-MmqStK2n\"});\n styles.suffix = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK2o z_tds_2f_web-MmqStKk z_tds_2f_web-MmqStK2p z_tds_2f_web-MmqStK2q z_tds_2f_web-MmqStK2r z_tds_2f_web-MmqStK2s z_tds_2f_web-MmqStK2t z_tds_2f_web-MmqStK2u z_tds_2f_web-MmqStK2v\"});\n styles.text = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-MmqStK2w z_tds_2f_web-MmqStK2x z_tds_2f_web-MmqStK2y z_tds_2f_web-MmqStK2z z_tds_2f_web-MmqStK30 z_tds_2f_web-MmqStK31\"});\n})(styles || (styles = {}));\n//# sourceMappingURL=Listbox.js.map\nimport './Listbox.css';\n","export function isElementDisabled(element) {\n return element == null || element.hasAttribute('disabled') || element.getAttribute('aria-disabled') === 'true';\n}","/*!\nCopyright (c) 2023 Paul Miller (paulmillr.com)\nThe library paulmillr-qr is dual-licensed under the Apache 2.0 OR MIT license.\nYou can select a license of your choice.\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n/**\n * Methods for encoding (generating) QR code patterns.\n * Check out decode.ts for decoding (reading).\n * @module\n * @example\n```js\nimport encodeQR from 'qr';\nconst txt = 'Hello world';\nconst ascii = encodeQR(txt, 'ascii'); // Not all fonts are supported\nconst terminalFriendly = encodeQR(txt, 'term'); // 2x larger, all fonts are OK\nconst gifBytes = encodeQR(txt, 'gif'); // Uncompressed GIF\nconst svgElement = encodeQR(txt, 'svg'); // SVG vector image element\nconst array = encodeQR(txt, 'raw'); // 2d array for canvas or other libs\n// import decodeQR from 'qr/decode.js';\n```\n */\n// We do not use newline escape code directly in strings because it's not parser-friendly\nconst chCodes = { newline: 10, reset: 27 };\nfunction assertNumber(n) {\n if (!Number.isSafeInteger(n))\n throw new Error(`integer expected: ${n}`);\n}\nfunction validateVersion(ver) {\n if (!Number.isSafeInteger(ver) || ver < 1 || ver > 40)\n throw new Error(`Invalid version=${ver}. Expected number [1..40]`);\n}\nfunction bin(dec, pad) {\n return dec.toString(2).padStart(pad, '0');\n}\nfunction mod(a, b) {\n const result = a % b;\n return result >= 0 ? result : b + result;\n}\nfunction fillArr(length, val) {\n return new Array(length).fill(val);\n}\nfunction popcnt(n) {\n n = n - ((n >>> 1) & 0x55555555);\n n = (n & 0x33333333) + ((n >>> 2) & 0x33333333);\n return (((n + (n >>> 4)) & 0x0f0f0f0f) * 0x01010101) >>> 24;\n}\n/**\n * Interleaves byte blocks.\n * @param blocks [[1, 2, 3], [4, 5, 6]]\n * @returns [1, 4, 2, 5, 3, 6]\n */\nfunction interleaveBytes(blocks) {\n let maxLen = 0;\n let totalLen = 0;\n for (const block of blocks) {\n maxLen = Math.max(maxLen, block.length);\n totalLen += block.length;\n }\n const result = new Uint8Array(totalLen);\n let idx = 0;\n for (let i = 0; i < maxLen; i++) {\n for (const block of blocks) {\n if (i < block.length)\n result[idx++] = block[i];\n }\n }\n return result;\n}\n// Optimize for minimal score/penalty\nfunction best() {\n let best;\n let bestScore = Infinity;\n return {\n add(score, value) {\n if (score >= bestScore)\n return;\n best = value;\n bestScore = score;\n },\n get: () => best,\n score: () => bestScore,\n };\n}\n// Based on https://github.com/paulmillr/scure-base/blob/main/index.ts\nfunction alphabet(alphabet) {\n return {\n has: (char) => alphabet.includes(char),\n decode: (input) => {\n if (!Array.isArray(input) || (input.length && typeof input[0] !== 'string'))\n throw new Error('alphabet.decode input should be array of strings');\n return input.map((letter) => {\n if (typeof letter !== 'string')\n throw new Error(`alphabet.decode: not string element=${letter}`);\n const index = alphabet.indexOf(letter);\n if (index === -1)\n throw new Error(`Unknown letter: \"${letter}\". Allowed: ${alphabet}`);\n return index;\n });\n },\n encode: (digits) => {\n if (!Array.isArray(digits) || (digits.length && typeof digits[0] !== 'number'))\n throw new Error('alphabet.encode input should be an array of numbers');\n return digits.map((i) => {\n assertNumber(i);\n if (i < 0 || i >= alphabet.length)\n throw new Error(`Digit index outside alphabet: ${i} (alphabet: ${alphabet.length})`);\n return alphabet[i];\n });\n },\n };\n}\n// Transpose 32x32 bit matrix in-place\n// a[0..31] are 32 rows of 32 bits each; after transpose they become 32 columns.\nfunction transpose32(a) {\n if (a.length !== 32)\n throw new Error('expects 32 element matrix');\n const masks = [0x55555555, 0x33333333, 0x0f0f0f0f, 0x00ff00ff, 0x0000ffff];\n // Hello again, FFT\n for (let stage = 0; stage < 5; stage++) {\n const m = masks[stage] >>> 0;\n const s = 1 << stage; // 1,2,4,8,16\n const step = s << 1; // 2,4,8,16,32\n for (let i = 0; i < 32; i += step) {\n for (let k = 0; k < s; k++) {\n const i0 = i + k;\n const i1 = i0 + s;\n const x = a[i0] >>> 0;\n const y = a[i1] >>> 0;\n const t = ((x >>> s) ^ y) & m;\n a[i0] = (x ^ (t << s)) >>> 0;\n a[i1] = (y ^ t) >>> 0;\n }\n }\n }\n}\nconst bitMask = (x) => (1 << (x & 31)) >>> 0;\nconst rangeMask = (shift, len) => {\n // len in [0..32], shift in [0..31]\n if (len === 0)\n return 0;\n if (len === 32)\n return 0xffffffff;\n return (((1 << len) - 1) << shift) >>> 0;\n};\nexport class Bitmap {\n static size(size, limit) {\n if (typeof size === 'number')\n size = { height: size, width: size };\n if (!Number.isSafeInteger(size.height) && size.height !== Infinity)\n throw new Error(`Bitmap: invalid height=${size.height} (${typeof size.height})`);\n if (!Number.isSafeInteger(size.width) && size.width !== Infinity)\n throw new Error(`Bitmap: invalid width=${size.width} (${typeof size.width})`);\n if (limit !== undefined) {\n // Clamp length, so it won't overflow, also allows to use Infinity, so we draw until end\n size = {\n width: Math.min(size.width, limit.width),\n height: Math.min(size.height, limit.height),\n };\n }\n return size;\n }\n static fromString(s) {\n // Remove linebreaks on start and end, so we draw in `` section\n s = s.replace(/^\\n+/g, '').replace(/\\n+$/g, '');\n const lines = s.split(String.fromCharCode(chCodes.newline));\n const height = lines.length;\n let width;\n const rows = [];\n for (const line of lines) {\n const row = line.split('').map((i) => {\n if (i === 'X')\n return true;\n if (i === ' ')\n return false;\n if (i === '?')\n return undefined;\n throw new Error(`Bitmap.fromString: unknown symbol=${i}`);\n });\n if (width !== undefined && row.length !== width)\n throw new Error(`Bitmap.fromString different row sizes: width=${width} cur=${row.length}`);\n width = row.length;\n rows.push(row);\n }\n if (width === undefined)\n width = 0;\n return new Bitmap({ height, width }, rows);\n }\n // Two bitsets:\n // defined=0 -> undefined\n // defined=1,value=0 -> false\n // defined=1,value=1 -> true\n defined;\n value;\n tailMask;\n words;\n fullWords;\n height;\n width;\n constructor(size, data) {\n const { height, width } = Bitmap.size(size);\n this.height = height;\n this.width = width;\n this.tailMask = rangeMask(0, width & 31 || 32);\n this.words = Math.ceil(width / 32) | 0;\n this.fullWords = Math.floor(width / 32) | 0;\n this.value = new Uint32Array(this.words * height);\n this.defined = new Uint32Array(this.value.length);\n if (data) {\n // accept same semantics as old version\n if (data.length !== height)\n throw new Error(`Bitmap: data height mismatch: exp=${height} got=${data.length}`);\n for (let y = 0; y < height; y++) {\n const row = data[y];\n if (!row || row.length !== width)\n throw new Error(`Bitmap: data width mismatch at y=${y}: exp=${width} got=${row?.length}`);\n for (let x = 0; x < width; x++)\n this.set(x, y, row[x]);\n }\n }\n }\n point(p) {\n return this.get(p.x, p.y);\n }\n isInside(p) {\n return 0 <= p.x && p.x < this.width && 0 <= p.y && p.y < this.height;\n }\n size(offset) {\n if (!offset)\n return { height: this.height, width: this.width };\n const { x, y } = this.xy(offset);\n return { height: this.height - y, width: this.width - x };\n }\n xy(c) {\n if (typeof c === 'number')\n c = { x: c, y: c };\n if (!Number.isSafeInteger(c.x))\n throw new Error(`Bitmap: invalid x=${c.x}`);\n if (!Number.isSafeInteger(c.y))\n throw new Error(`Bitmap: invalid y=${c.y}`);\n // Do modulo, so we can use negative positions\n c.x = mod(c.x, this.width);\n c.y = mod(c.y, this.height);\n return c;\n }\n /**\n * Return pixel bit index\n */\n wordIndex(x, y) {\n return y * this.words + (x >>> 5);\n }\n bitIndex(x, y) {\n return { word: this.wordIndex(x, y), bit: x & 31 };\n }\n isDefined(x, y) {\n const wi = this.wordIndex(x, y);\n const m = bitMask(x);\n return (this.defined[wi] & m) !== 0;\n }\n get(x, y) {\n const wi = this.wordIndex(x, y);\n const m = bitMask(x);\n return (this.value[wi] & m) !== 0;\n }\n maskWord(wi, mask, v) {\n const { defined, value } = this;\n defined[wi] |= mask;\n value[wi] = (value[wi] & ~mask) | (-v & mask);\n }\n set(x, y, v) {\n if (v === undefined)\n return;\n this.maskWord(this.wordIndex(x, y), bitMask(x), v);\n }\n // word-span fill for constant values (fast path)\n fillRectConst(x0, y0, w, h, v) {\n if (w <= 0 || h <= 0)\n return;\n if (v === undefined)\n return;\n const { value, defined, words } = this;\n const startWord = x0 >>> 5;\n const endWord = (x0 + w - 1) >>> 5;\n const startBit = x0 & 31;\n const endBit = (x0 + w - 1) & 31;\n for (let ry = 0; ry < h; ry++) {\n const rowBase = (y0 + ry) * words;\n if (startWord === endWord) {\n const mask = rangeMask(startBit, endBit - startBit + 1);\n this.maskWord(rowBase + startWord, mask, v);\n continue;\n }\n this.maskWord(rowBase + startWord, rangeMask(startBit, 32 - startBit), v);\n for (let i = startWord + 1; i < endWord; i++) {\n defined[rowBase + i] = 0xffffffff;\n value[rowBase + i] = v ? 0xffffffff : 0;\n }\n this.maskWord(rowBase + endWord, rangeMask(0, endBit + 1), v);\n }\n }\n rectWords(x, y, width, height, cb) {\n for (let yPos = 0; yPos < height; yPos++) {\n const Py = y + yPos;\n for (let xPos = 0; xPos < width;) {\n const bitX = x + xPos;\n const { bit, word } = this.bitIndex(bitX, Py);\n const bitsPerWord = Math.min(32 - bit, width - xPos);\n cb(word, bitX, xPos, yPos, bitsPerWord);\n xPos += bitsPerWord;\n }\n }\n }\n // Basically every operation can be represented as rect\n rect(c, size, fn) {\n const { x, y } = this.xy(c);\n const { height, width } = Bitmap.size(size, this.size({ x, y }));\n if (typeof fn !== 'function') {\n this.fillRectConst(x, y, width, height, fn);\n return this;\n }\n const { defined, value } = this;\n this.rectWords(x, y, width, height, (wi, bitX, xPos, yPos, n) => {\n let defWord = 0;\n let valWord = value[wi];\n for (let b = 0; b < n; b++) {\n const mask = bitMask(bitX + b);\n const res = fn({ x: xPos + b, y: yPos }, (valWord & mask) !== 0);\n if (res === undefined)\n continue;\n defWord |= mask;\n valWord = (valWord & ~mask) | (-res & mask);\n }\n defined[wi] |= defWord;\n value[wi] = valWord;\n });\n return this;\n }\n // returns rectangular part of bitmap\n rectRead(c, size, fn) {\n const { x, y } = this.xy(c);\n const { height, width } = Bitmap.size(size, this.size({ x, y }));\n const { value } = this;\n this.rectWords(x, y, width, height, (wi, bitX, xPos, yPos, n) => {\n const valWord = value[wi];\n for (let b = 0; b < n; b++) {\n const mask = bitMask(bitX + b);\n fn({ x: xPos + b, y: yPos }, (valWord & mask) !== 0);\n }\n });\n return this;\n }\n // Horizontal & vertical lines\n hLine(c, len, value) {\n return this.rect(c, { width: len, height: 1 }, value);\n }\n vLine(c, len, value) {\n return this.rect(c, { width: 1, height: len }, value);\n }\n // add border\n border(border = 2, value) {\n const height = this.height + 2 * border;\n const width = this.width + 2 * border;\n const out = new Bitmap({ height, width });\n // fill everything with border value, then embed original\n out.rect(0, Infinity, value);\n out.embed({ x: border, y: border }, this);\n return out;\n }\n // Embed another bitmap on coordinates\n embed(c, src) {\n const { x, y } = this.xy(c);\n const { height, width } = Bitmap.size(src.size(), this.size({ x, y }));\n if (width <= 0 || height <= 0)\n return this;\n const { value, defined } = this;\n const { words: srcStride, value: srcValue } = src;\n for (let yPos = 0; yPos < height; yPos++) {\n const srcRow = yPos * srcStride;\n for (let xPos = 0; xPos < width;) {\n const dstX = x + xPos;\n const { word: dstWord, bit: dstBit } = this.bitIndex(dstX, y + yPos);\n const { word: srcWord, bit: srcBit } = src.bitIndex(xPos, yPos);\n const len = Math.min(32 - dstBit, width - xPos);\n const w0 = srcValue[srcWord];\n const w1 = srcBit && srcWord + 1 < srcRow + srcStride ? srcValue[srcWord + 1] : 0;\n const sVal = srcBit ? ((w0 >>> srcBit) | (w1 << (32 - srcBit))) >>> 0 : w0;\n const dstMask = rangeMask(dstBit, len);\n const valBits = ((sVal & rangeMask(0, len)) << dstBit) >>> 0;\n defined[dstWord] |= dstMask;\n value[dstWord] = (value[dstWord] & ~dstMask) | valBits;\n xPos += len;\n }\n }\n return this;\n }\n // returns rectangular part of bitmap\n rectSlice(c, size = this.size()) {\n const { x, y } = this.xy(c);\n const { height, width } = Bitmap.size(size, this.size({ x, y }));\n const rect = new Bitmap({ height, width });\n this.rectRead({ x, y }, { height, width }, (p, cur) => {\n if (this.isDefined(x + p.x, y + p.y)) {\n rect.set(p.x, p.y, cur);\n }\n });\n return rect;\n }\n // Change shape, replace rows with columns (data[y][x] -> data[x][y])\n transpose() {\n const { height, width, value, defined, words } = this;\n const dst = new Bitmap({ height: width, width: height });\n const { words: dstStride, value: dstValue, defined: dstDefined, tailMask: dstTail } = dst;\n const tmpV = new Uint32Array(32);\n const tmpD = new Uint32Array(32);\n // Process src in blocks: y in [by..by+31], x in 32-bit words\n for (let by = 0; by < height; by += 32) {\n for (let bx = 0; bx < words; bx++) {\n const rows = Math.min(32, height - by);\n for (let r = 0; r < rows; r++) {\n const wi = this.wordIndex(32 * bx, by + r);\n tmpV[r] = value[wi];\n tmpD[r] = defined[wi];\n }\n // zero-pad remainder\n tmpV.fill(0, rows);\n tmpD.fill(0, rows);\n transpose32(tmpV);\n transpose32(tmpD);\n for (let i = 0; i < 32; i++) {\n const dstY = bx * 32 + i;\n if (dstY >= width)\n break;\n const dstPos = dst.wordIndex(by, dstY);\n const curMask = by >>> 5 === dstStride - 1 ? dstTail : 0xffffffff;\n dstValue[dstPos] = tmpV[i] & curMask;\n dstDefined[dstPos] = tmpD[i] & curMask;\n }\n }\n }\n return dst;\n }\n // black <-> white (inplace)\n negate() {\n const n = this.defined.length;\n for (let i = 0; i < n; i++) {\n this.value[i] = ~this.value[i];\n this.defined[i] = 0xffffffff;\n }\n return this;\n }\n // Each pixel size is multiplied by factor\n scale(factor) {\n if (!Number.isSafeInteger(factor) || factor > 1024)\n throw new Error(`invalid scale factor: ${factor}`);\n const { height, width } = this;\n const res = new Bitmap({ height: factor * height, width: factor * width });\n return res.rect({ x: 0, y: 0 }, Infinity, ({ x, y }) => this.get((x / factor) | 0, (y / factor) | 0));\n }\n clone() {\n const res = new Bitmap(this.size());\n res.defined.set(this.defined);\n res.value.set(this.value);\n return res;\n }\n // Ensure that there is no undefined values left\n assertDrawn() {\n const { height, width, defined, tailMask, fullWords, words } = this;\n if (!height || !width)\n return;\n for (let y = 0; y < height; y++) {\n const rowBase = y * words;\n for (let wi = 0; wi < fullWords; wi++) {\n if (defined[rowBase + wi] !== 0xffffffff)\n throw new Error(`Invalid color type=undefined`);\n }\n if (words !== fullWords && (defined[rowBase + fullWords] & tailMask) !== tailMask)\n throw new Error(`Invalid color type=undefined`);\n }\n }\n countPatternInRow(y, patternLen, ...patterns) {\n if (patternLen <= 0 || patternLen >= 32)\n throw new Error('wrong patternLen');\n const mask = (1 << patternLen) - 1;\n const { width, value, words } = this;\n let count = 0;\n const rowBase = this.wordIndex(0, y);\n for (let i = 0, window = 0; i < words; i++) {\n const w = value[rowBase + i];\n const bitEnd = i === words - 1 ? width & 31 || 32 : 32;\n for (let b = 0; b < bitEnd; b++) {\n window = ((window << 1) | ((w >>> b) & 1)) & mask;\n if (i * 32 + b + 1 < patternLen)\n continue;\n for (const p of patterns) {\n if (window !== p)\n continue;\n count++;\n break;\n }\n }\n }\n return count;\n }\n getRuns(y, fn) {\n const { width, value, words } = this;\n if (width === 0)\n return;\n let runLen = 0;\n let runValue;\n const rowBase = this.wordIndex(0, y);\n for (let i = 0; i < words; i++) {\n const word = value[rowBase + i];\n const bitEnd = i === words - 1 ? width & 31 || 32 : 32;\n for (let b = 0; b < bitEnd; b++) {\n const bit = (word & (1 << b)) !== 0;\n if (bit === runValue) {\n runLen++;\n continue;\n }\n if (runValue !== undefined)\n fn(runLen, runValue);\n runValue = bit;\n runLen = 1;\n }\n }\n if (runValue !== undefined)\n fn(runLen, runValue);\n }\n popcnt() {\n const { height, width, words, fullWords, tailMask } = this;\n if (!height || !width)\n return 0;\n let count = 0;\n for (let y = 0; y < height; y++) {\n const rowBase = y * words;\n for (let wi = 0; wi < fullWords; wi++)\n count += popcnt(this.value[rowBase + wi]);\n if (words !== fullWords)\n count += popcnt(this.value[rowBase + fullWords] & tailMask);\n }\n return count;\n }\n countBoxes2x2(y) {\n const { width, words } = this;\n if (width < 2 || (y | 0) < 0 || y + 1 >= this.height)\n return 0;\n const base0 = this.wordIndex(0, y) | 0;\n const base1 = this.wordIndex(0, y + 1) | 0;\n // valid \"left-edge\" positions x in [0 .. W-2]\n const tailBits = width & 31;\n const validLast = tailBits === 0 ? 0x7fffffff : rangeMask(0, (width - 1) & 31);\n let boxes = 0;\n for (let wi = 0; wi < words; wi++) {\n const a0 = this.value[base0 + wi];\n const a1 = this.value[base1 + wi];\n // Compare bit x with bit x+1 at same bit position.\n const eqV = ~(a0 ^ a1) >>> 0; // row0[x] == row1[x]\n const n0 = wi + 1 < words ? this.value[base0 + wi + 1] >>> 0 : 0;\n const eqH0 = ~(a0 ^ (((a0 >>> 1) | ((n0 & 1) << 31)) >>> 0)) >>> 0; // row0[x] == row0[x+1]\n const n1 = wi + 1 < words ? this.value[base1 + wi + 1] >>> 0 : 0;\n const eqH1 = ~(a1 ^ (((a1 >>> 1) | ((n1 & 1) << 31)) >>> 0)) >>> 0; // row1[x] == row1[x+1]\n let m = (eqV & eqH0 & eqH1) >>> 0;\n if (wi === words - 1)\n m &= validLast;\n boxes += popcnt(m);\n }\n return boxes;\n }\n // Export\n toString() {\n const nl = String.fromCharCode(chCodes.newline);\n let out = '';\n for (let y = 0; y < this.height; y++) {\n let line = '';\n for (let x = 0; x < this.width; x++) {\n const v = this.get(x, y);\n line += !this.isDefined(x, y) ? '?' : v ? 'X' : ' ';\n }\n out += line + (y + 1 === this.height ? '' : nl);\n }\n return out;\n }\n toRaw() {\n const out = Array.from({ length: this.height }, () => new Array(this.width));\n for (let y = 0; y < this.height; y++) {\n const row = out[y];\n for (let x = 0; x < this.width; x++)\n row[x] = this.get(x, y);\n }\n return out;\n }\n toASCII() {\n const { height, width } = this;\n let out = '';\n // Terminal character height is x2 of character width, so we process two rows of bitmap\n // to produce one row of ASCII\n for (let y = 0; y < height; y += 2) {\n for (let x = 0; x < width; x++) {\n const first = this.get(x, y);\n const second = y + 1 >= height ? true : this.get(x, y + 1); // if last row outside bitmap, make it black\n if (!first && !second)\n out += '█'; // both rows white (empty)\n else if (!first && second)\n out += '▀'; // top row white\n else if (first && !second)\n out += '▄'; // down row white\n else if (first && second)\n out += ' '; // both rows black\n }\n out += String.fromCharCode(chCodes.newline);\n }\n return out;\n }\n toTerm() {\n const cc = String.fromCharCode(chCodes.reset);\n const reset = cc + '[0m';\n const whiteBG = cc + '[1;47m ' + reset;\n const darkBG = cc + `[40m ` + reset;\n const nl = String.fromCharCode(chCodes.newline);\n let out = '';\n for (let y = 0; y < this.height; y++) {\n for (let x = 0; x < this.width; x++) {\n const v = this.get(x, y); // undefined -> white\n out += v ? darkBG : whiteBG;\n }\n out += nl;\n }\n return out;\n }\n toSVG(optimize = true) {\n let out = `<svg viewBox=\"0 0 ${this.width} ${this.height}\" xmlns=\"http://www.w3.org/2000/svg\">`;\n // Construct optimized SVG path data.\n let pathData = '';\n let prevPoint;\n this.rectRead(0, Infinity, (point, val) => {\n if (!val)\n return;\n const { x, y } = point;\n if (!optimize) {\n out += `<rect x=\"${x}\" y=\"${y}\" width=\"1\" height=\"1\" />`;\n return;\n }\n // https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/d#path_commands\n // Determine the shortest way to represent the initial cursor movement.\n // M - Move cursor (without drawing) to absolute coordinate pair.\n let m = `M${x} ${y}`;\n // Only allow using the relative cursor move command if previous points\n // were drawn.\n if (prevPoint) {\n // m - Move cursor (without drawing) to relative coordinate pair.\n const relM = `m${x - prevPoint.x} ${y - prevPoint.y}`;\n if (relM.length <= m.length)\n m = relM;\n }\n // Determine the shortest way to represent the cell's bottom line draw.\n // H - Draw line from cursor position to absolute x coordinate.\n // h - Draw line from cursor position to relative x coordinate.\n const bH = x < 10 ? `H${x}` : 'h-1';\n // v - Draw line from cursor position to relative y coordinate.\n // Z - Close path (draws line from cursor position to M coordinate).\n pathData += `${m}h1v1${bH}Z`;\n prevPoint = point;\n });\n if (optimize)\n out += `<path d=\"${pathData}\"/>`;\n out += `</svg>`;\n return out;\n }\n toGIF() {\n // NOTE: Small, but inefficient implementation.\n // Uses 1 byte per pixel.\n const u16le = (i) => [i & 0xff, (i >>> 8) & 0xff];\n const dims = [...u16le(this.width), ...u16le(this.height)];\n const data = [];\n this.rectRead(0, Infinity, (_, cur) => data.push(+(cur === true)));\n const N = 126; // Block size\n // prettier-ignore\n const bytes = [\n 0x47, 0x49, 0x46, 0x38, 0x37, 0x61, ...dims, 0xf6, 0x00, 0x00, 0xff, 0xff, 0xff,\n ...fillArr(3 * 127, 0x00), 0x2c, 0x00, 0x00, 0x00, 0x00, ...dims, 0x00, 0x07\n ];\n const fullChunks = Math.floor(data.length / N);\n // Full blocks\n for (let i = 0; i < fullChunks; i++)\n bytes.push(N + 1, 0x80, ...data.slice(N * i, N * (i + 1)).map((i) => +i));\n // Remaining bytes\n bytes.push((data.length % N) + 1, 0x80, ...data.slice(fullChunks * N).map((i) => +i));\n bytes.push(0x01, 0x81, 0x00, 0x3b);\n return new Uint8Array(bytes);\n }\n toImage(isRGB = false) {\n const { height, width } = this.size();\n const data = new Uint8Array(height * width * (isRGB ? 3 : 4));\n let i = 0;\n for (let y = 0; y < height; y++) {\n for (let x = 0; x < width; x++) {\n const value = this.get(x, y) ? 0 : 255; // undefined -> white\n data[i++] = value;\n data[i++] = value;\n data[i++] = value;\n if (!isRGB)\n data[i++] = 255; // alpha channel\n }\n }\n return { height, width, data };\n }\n}\n// End of utils\n// Runtime type-checking\n/** Error correction mode. low: 7%, medium: 15%, quartile: 25%, high: 30% */\nexport const ECMode = ['low', 'medium', 'quartile', 'high'];\n/** QR Code encoding */\nexport const Encoding = ['numeric', 'alphanumeric', 'byte', 'kanji', 'eci'];\n// Various constants & tables\n// prettier-ignore\nconst BYTES = [\n // 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346, 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n // 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185, 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706,\n];\n// prettier-ignore\nconst WORDS_PER_BLOCK = {\n // Version 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40\n low: [7, 10, 15, 20, 26, 18, 20, 24, 30, 18, 20, 24, 26, 30, 22, 24, 28, 30, 28, 28, 28, 28, 30, 30, 26, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n medium: [10, 16, 26, 18, 24, 16, 18, 22, 22, 26, 30, 22, 22, 24, 24, 28, 28, 26, 26, 26, 26, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28],\n quartile: [13, 22, 18, 26, 18, 24, 18, 22, 20, 24, 28, 26, 24, 20, 30, 24, 28, 28, 26, 30, 28, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n high: [17, 28, 22, 16, 22, 28, 26, 26, 24, 28, 24, 28, 22, 24, 24, 30, 28, 28, 26, 28, 30, 24, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30],\n};\n// prettier-ignore\nconst ECC_BLOCKS = {\n // Version 1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40\n low: [1, 1, 1, 1, 1, 2, 2, 2, 2, 4, 4, 4, 4, 4, 6, 6, 6, 6, 7, 8, 8, 9, 9, 10, 12, 12, 12, 13, 14, 15, 16, 17, 18, 19, 19, 20, 21, 22, 24, 25],\n medium: [1, 1, 1, 2, 2, 4, 4, 4, 5, 5, 5, 8, 9, 9, 10, 10, 11, 13, 14, 16, 17, 17, 18, 20, 21, 23, 25, 26, 28, 29, 31, 33, 35, 37, 38, 40, 43, 45, 47, 49],\n quartile: [1, 1, 2, 2, 4, 4, 6, 6, 8, 8, 8, 10, 12, 16, 12, 17, 16, 18, 21, 20, 23, 23, 25, 27, 29, 34, 34, 35, 38, 40, 43, 45, 48, 51, 53, 56, 59, 62, 65, 68],\n high: [1, 1, 2, 4, 4, 4, 5, 6, 8, 8, 11, 11, 16, 16, 18, 16, 19, 21, 25, 25, 25, 34, 30, 32, 35, 37, 40, 42, 45, 48, 51, 54, 57, 60, 63, 66, 70, 74, 77, 81],\n};\nconst info = {\n size: {\n encode: (ver) => 21 + 4 * (ver - 1), // ver1 = 21, ver40=177 blocks\n decode: (size) => (size - 17) / 4,\n },\n sizeType: (ver) => Math.floor((ver + 7) / 17),\n // Based on https://codereview.stackexchange.com/questions/74925/algorithm-to-generate-this-alignment-pattern-locations-table-for-qr-codes\n alignmentPatterns(ver) {\n if (ver === 1)\n return [];\n const first = 6;\n const last = info.size.encode(ver) - first - 1;\n const distance = last - first;\n const count = Math.ceil(distance / 28);\n let interval = Math.floor(distance / count);\n if (interval % 2)\n interval += 1;\n else if ((distance % count) * 2 >= count)\n interval += 2;\n const res = [first];\n for (let m = 1; m < count; m++)\n res.push(last - (count - m) * interval);\n res.push(last);\n return res;\n },\n ECCode: {\n low: 0b01,\n medium: 0b00,\n quartile: 0b11,\n high: 0b10,\n },\n formatMask: 0b101010000010010,\n formatBits(ecc, maskIdx) {\n const data = (info.ECCode[ecc] << 3) | maskIdx;\n let d = data;\n for (let i = 0; i < 10; i++)\n d = (d << 1) ^ ((d >> 9) * 0b10100110111);\n return ((data << 10) | d) ^ info.formatMask;\n },\n versionBits(ver) {\n let d = ver;\n for (let i = 0; i < 12; i++)\n d = (d << 1) ^ ((d >> 11) * 0b1111100100101);\n return (ver << 12) | d;\n },\n alphabet: {\n numeric: alphabet('0123456789'),\n alphanumerc: alphabet('0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:'),\n }, // as Record<EncodingType, ReturnType<typeof alphabet>>,\n lengthBits(ver, type) {\n const table = {\n numeric: [10, 12, 14],\n alphanumeric: [9, 11, 13],\n byte: [8, 16, 16],\n kanji: [8, 10, 12],\n eci: [0, 0, 0],\n };\n return table[type][info.sizeType(ver)];\n },\n modeBits: {\n numeric: '0001',\n alphanumeric: '0010',\n byte: '0100',\n kanji: '1000',\n eci: '0111',\n },\n capacity(ver, ecc) {\n const bytes = BYTES[ver - 1];\n const words = WORDS_PER_BLOCK[ecc][ver - 1];\n const numBlocks = ECC_BLOCKS[ecc][ver - 1];\n const blockLen = Math.floor(bytes / numBlocks) - words;\n const shortBlocks = numBlocks - (bytes % numBlocks);\n return {\n words,\n numBlocks,\n shortBlocks,\n blockLen,\n capacity: (bytes - words * numBlocks) * 8,\n total: (words + blockLen) * numBlocks + numBlocks - shortBlocks,\n };\n },\n};\nconst PATTERNS = [\n (x, y) => (x + y) % 2 == 0,\n (_x, y) => y % 2 == 0,\n (x, _y) => x % 3 == 0,\n (x, y) => (x + y) % 3 == 0,\n (x, y) => (Math.floor(y / 2) + Math.floor(x / 3)) % 2 == 0,\n (x, y) => ((x * y) % 2) + ((x * y) % 3) == 0,\n (x, y) => (((x * y) % 2) + ((x * y) % 3)) % 2 == 0,\n (x, y) => (((x + y) % 2) + ((x * y) % 3)) % 2 == 0,\n];\n// Galois field && reed-solomon encoding\nconst GF = {\n tables: ((p_poly) => {\n const exp = fillArr(256, 0);\n const log = fillArr(256, 0);\n for (let i = 0, x = 1; i < 256; i++) {\n exp[i] = x;\n log[x] = i;\n x <<= 1;\n if (x & 0x100)\n x ^= p_poly;\n }\n return { exp, log };\n })(0x11d),\n exp: (x) => GF.tables.exp[x],\n log(x) {\n if (x === 0)\n throw new Error(`GF.log: invalid arg=${x}`);\n return GF.tables.log[x] % 255;\n },\n mul(x, y) {\n if (x === 0 || y === 0)\n return 0;\n return GF.tables.exp[(GF.tables.log[x] + GF.tables.log[y]) % 255];\n },\n add: (x, y) => x ^ y,\n pow: (x, e) => GF.tables.exp[(GF.tables.log[x] * e) % 255],\n inv(x) {\n if (x === 0)\n throw new Error(`GF.inverse: invalid arg=${x}`);\n return GF.tables.exp[255 - GF.tables.log[x]];\n },\n polynomial(poly) {\n if (poly.length == 0)\n throw new Error('GF.polymomial: invalid length');\n if (poly[0] !== 0)\n return poly;\n // Strip leading zeros\n let i = 0;\n for (; i < poly.length - 1 && poly[i] == 0; i++)\n ;\n return poly.slice(i);\n },\n monomial(degree, coefficient) {\n if (degree < 0)\n throw new Error(`GF.monomial: invalid degree=${degree}`);\n if (coefficient == 0)\n return [0];\n let coefficients = fillArr(degree + 1, 0);\n coefficients[0] = coefficient;\n return GF.polynomial(coefficients);\n },\n degree: (a) => a.length - 1,\n coefficient: (a, degree) => a[GF.degree(a) - degree],\n mulPoly(a, b) {\n if (a[0] === 0 || b[0] === 0)\n return [0];\n const res = fillArr(a.length + b.length - 1, 0);\n for (let i = 0; i < a.length; i++) {\n for (let j = 0; j < b.length; j++) {\n res[i + j] = GF.add(res[i + j], GF.mul(a[i], b[j]));\n }\n }\n return GF.polynomial(res);\n },\n mulPolyScalar(a, scalar) {\n if (scalar == 0)\n return [0];\n if (scalar == 1)\n return a;\n const res = fillArr(a.length, 0);\n for (let i = 0; i < a.length; i++)\n res[i] = GF.mul(a[i], scalar);\n return GF.polynomial(res);\n },\n mulPolyMonomial(a, degree, coefficient) {\n if (degree < 0)\n throw new Error('GF.mulPolyMonomial: invalid degree');\n if (coefficient == 0)\n return [0];\n const res = fillArr(a.length + degree, 0);\n for (let i = 0; i < a.length; i++)\n res[i] = GF.mul(a[i], coefficient);\n return GF.polynomial(res);\n },\n addPoly(a, b) {\n if (a[0] === 0)\n return b;\n if (b[0] === 0)\n return a;\n let smaller = a;\n let larger = b;\n if (smaller.length > larger.length)\n [smaller, larger] = [larger, smaller];\n let sumDiff = fillArr(larger.length, 0);\n let lengthDiff = larger.length - smaller.length;\n let s = larger.slice(0, lengthDiff);\n for (let i = 0; i < s.length; i++)\n sumDiff[i] = s[i];\n for (let i = lengthDiff; i < larger.length; i++)\n sumDiff[i] = GF.add(smaller[i - lengthDiff], larger[i]);\n return GF.polynomial(sumDiff);\n },\n remainderPoly(data, divisor) {\n const out = Array.from(data);\n for (let i = 0; i < data.length - divisor.length + 1; i++) {\n const elm = out[i];\n if (elm === 0)\n continue;\n for (let j = 1; j < divisor.length; j++) {\n if (divisor[j] !== 0)\n out[i + j] = GF.add(out[i + j], GF.mul(divisor[j], elm));\n }\n }\n return out.slice(data.length - divisor.length + 1, out.length);\n },\n divisorPoly(degree) {\n let g = [1];\n for (let i = 0; i < degree; i++)\n g = GF.mulPoly(g, [1, GF.pow(2, i)]);\n return g;\n },\n evalPoly(poly, a) {\n if (a == 0)\n return GF.coefficient(poly, 0); // Just return the x^0 coefficient\n let res = poly[0];\n for (let i = 1; i < poly.length; i++)\n res = GF.add(GF.mul(a, res), poly[i]);\n return res;\n },\n // TODO: cleanup\n euclidian(a, b, R) {\n // Force degree(a) >= degree(b)\n if (GF.degree(a) < GF.degree(b))\n [a, b] = [b, a];\n let rLast = a;\n let r = b;\n let tLast = [0];\n let t = [1];\n // while degree of Ri ≥ t/2\n while (2 * GF.degree(r) >= R) {\n let rLastLast = rLast;\n let tLastLast = tLast;\n rLast = r;\n tLast = t;\n if (rLast[0] === 0)\n throw new Error('rLast[0] === 0');\n r = rLastLast;\n let q = [0];\n const dltInverse = GF.inv(rLast[0]);\n while (GF.degree(r) >= GF.degree(rLast) && r[0] !== 0) {\n const degreeDiff = GF.degree(r) - GF.degree(rLast);\n const scale = GF.mul(r[0], dltInverse);\n q = GF.addPoly(q, GF.monomial(degreeDiff, scale));\n r = GF.addPoly(r, GF.mulPolyMonomial(rLast, degreeDiff, scale));\n }\n q = GF.mulPoly(q, tLast);\n t = GF.addPoly(q, tLastLast);\n if (GF.degree(r) >= GF.degree(rLast))\n throw new Error(`Division failed r: ${r}, rLast: ${rLast}`);\n }\n const sigmaTildeAtZero = GF.coefficient(t, 0);\n if (sigmaTildeAtZero == 0)\n throw new Error('sigmaTilde(0) was zero');\n const inverse = GF.inv(sigmaTildeAtZero);\n return [GF.mulPolyScalar(t, inverse), GF.mulPolyScalar(r, inverse)];\n },\n};\nfunction RS(eccWords) {\n return {\n encode(from) {\n const d = GF.divisorPoly(eccWords);\n const pol = Array.from(from);\n pol.push(...d.slice(0, -1).fill(0));\n return Uint8Array.from(GF.remainderPoly(pol, d));\n },\n decode(to) {\n const res = to.slice();\n const poly = GF.polynomial(Array.from(to));\n // Find errors\n let syndrome = fillArr(eccWords, 0);\n let hasError = false;\n for (let i = 0; i < eccWords; i++) {\n const evl = GF.evalPoly(poly, GF.exp(i));\n syndrome[syndrome.length - 1 - i] = evl;\n if (evl !== 0)\n hasError = true;\n }\n if (!hasError)\n return res;\n syndrome = GF.polynomial(syndrome);\n const monomial = GF.monomial(eccWords, 1);\n const [errorLocator, errorEvaluator] = GF.euclidian(monomial, syndrome, eccWords);\n // Error locations\n const locations = fillArr(GF.degree(errorLocator), 0);\n let e = 0;\n for (let i = 1; i < 256 && e < locations.length; i++) {\n if (GF.evalPoly(errorLocator, i) === 0)\n locations[e++] = GF.inv(i);\n }\n if (e !== locations.length)\n throw new Error('RS.decode: invalid errors number');\n for (let i = 0; i < locations.length; i++) {\n const pos = res.length - 1 - GF.log(locations[i]);\n if (pos < 0)\n throw new Error('RS.decode: invalid error location');\n const xiInverse = GF.inv(locations[i]);\n let denominator = 1;\n for (let j = 0; j < locations.length; j++) {\n if (i === j)\n continue;\n denominator = GF.mul(denominator, GF.add(1, GF.mul(locations[j], xiInverse)));\n }\n res[pos] = GF.add(res[pos], GF.mul(GF.evalPoly(errorEvaluator, xiInverse), GF.inv(denominator)));\n }\n return res;\n },\n };\n}\n// Interleaves blocks\nfunction interleave(ver, ecc) {\n const { words, shortBlocks, numBlocks, blockLen, total } = info.capacity(ver, ecc);\n const rs = RS(words);\n return {\n encode(bytes) {\n // Add error correction to bytes\n const blocks = [];\n const eccBlocks = [];\n for (let i = 0; i < numBlocks; i++) {\n const isShort = i < shortBlocks;\n const len = blockLen + (isShort ? 0 : 1);\n blocks.push(bytes.subarray(0, len));\n eccBlocks.push(rs.encode(bytes.subarray(0, len)));\n bytes = bytes.subarray(len);\n }\n const resBlocks = interleaveBytes(blocks);\n const resECC = interleaveBytes(eccBlocks);\n const res = new Uint8Array(resBlocks.length + resECC.length);\n res.set(resBlocks);\n res.set(resECC, resBlocks.length);\n return res;\n },\n decode(data) {\n if (data.length !== total)\n throw new Error(`interleave.decode: len(data)=${data.length}, total=${total}`);\n const blocks = [];\n for (let i = 0; i < numBlocks; i++) {\n const isShort = i < shortBlocks;\n blocks.push(new Uint8Array(words + blockLen + (isShort ? 0 : 1)));\n }\n // Short blocks\n let pos = 0;\n for (let i = 0; i < blockLen; i++) {\n for (let j = 0; j < numBlocks; j++)\n blocks[j][i] = data[pos++];\n }\n // Long blocks\n for (let j = shortBlocks; j < numBlocks; j++)\n blocks[j][blockLen] = data[pos++];\n // ECC\n for (let i = blockLen; i < blockLen + words; i++) {\n for (let j = 0; j < numBlocks; j++) {\n const isShort = j < shortBlocks;\n blocks[j][i + (isShort ? 0 : 1)] = data[pos++];\n }\n }\n // Decode\n // Error-correct and copy data blocks together into a stream of bytes\n const res = [];\n for (const block of blocks)\n res.push(...Array.from(rs.decode(block)).slice(0, -words));\n return Uint8Array.from(res);\n },\n };\n}\n// Draw\n// Generic template per version+ecc+mask. Can be cached, to speedup calculations.\nfunction drawTemplate(ver, ecc, maskIdx, test = false) {\n const size = info.size.encode(ver);\n let b = new Bitmap(size + 2);\n // Finder patterns\n // We draw full pattern and later slice, since before addition of borders finder is truncated by one pixel on sides\n const finder = new Bitmap(3).rect(0, 3, true).border(1, false).border(1, true).border(1, false);\n b = b\n .embed(0, finder) // top left\n .embed({ x: -finder.width, y: 0 }, finder) // top right\n .embed({ x: 0, y: -finder.height }, finder); // bottom left\n b = b.rectSlice(1, size);\n // Alignment patterns\n const align = new Bitmap(1).rect(0, 1, true).border(1, false).border(1, true);\n const alignPos = info.alignmentPatterns(ver);\n for (const y of alignPos) {\n for (const x of alignPos) {\n if (b.isDefined(x, y))\n continue;\n b.embed({ x: x - 2, y: y - 2 }, align); // center of pattern should be at position\n }\n }\n // Timing patterns\n b = b\n .hLine({ x: 0, y: 6 }, Infinity, ({ x }) => (b.isDefined(x, 6) ? undefined : x % 2 == 0))\n .vLine({ x: 6, y: 0 }, Infinity, ({ y }) => (b.isDefined(6, y) ? undefined : y % 2 == 0));\n // Format information\n {\n const bits = info.formatBits(ecc, maskIdx);\n const getBit = (i) => !test && ((bits >> i) & 1) == 1;\n // vertical\n for (let i = 0; i < 6; i++)\n b.set(8, i, getBit(i)); // right of top-left finder\n // TODO: re-write as lines, like:\n // b.vLine({ x: 8, y: 0 }, 6, ({ x, y }) => getBit(y));\n for (let i = 6; i < 8; i++)\n b.set(8, i + 1, getBit(i)); // after timing pattern\n for (let i = 8; i < 15; i++)\n b.set(8, size - 15 + i, getBit(i)); // right of bottom-left finder\n // horizontal\n for (let i = 0; i < 8; i++)\n b.set(size - i - 1, 8, getBit(i)); // under top-right finder\n for (let i = 8; i < 9; i++)\n b.set(15 - i - 1 + 1, 8, getBit(i)); // VVV, after timing\n for (let i = 9; i < 15; i++)\n b.set(15 - i - 1, 8, getBit(i)); // under top-left finder\n b.set(8, size - 8, !test); // bottom-left finder, right\n }\n // Version information\n if (ver >= 7) {\n const bits = info.versionBits(ver);\n for (let i = 0; i < 18; i += 1) {\n const bit = !test && ((bits >> i) & 1) == 1;\n const x = Math.floor(i / 3);\n const y = (i % 3) + size - 8 - 3;\n // two copies\n b.set(y, x, bit);\n b.set(x, y, bit);\n }\n }\n return b;\n}\n// zigzag: bottom->top && top->bottom\nfunction zigzag(tpl, maskIdx, fn) {\n const size = tpl.height;\n const pattern = PATTERNS[maskIdx];\n // zig-zag pattern\n let dir = -1;\n let y = size - 1;\n // two columns at time\n for (let xOffset = size - 1; xOffset > 0; xOffset -= 2) {\n if (xOffset == 6)\n xOffset = 5; // skip vertical timing pattern\n for (;; y += dir) {\n for (let j = 0; j < 2; j += 1) {\n const x = xOffset - j;\n if (tpl.isDefined(x, y))\n continue; // skip already written elements\n fn(x, y, pattern(x, y));\n }\n if (y + dir < 0 || y + dir >= size)\n break;\n }\n dir = -dir; // change direction\n }\n}\n// NOTE: byte encoding is just representation, QR works with strings only. Most decoders will fail on raw byte array,\n// since they expect unicode or other text encoding inside bytes\nfunction detectType(str) {\n let type = 'numeric';\n for (let x of str) {\n if (info.alphabet.numeric.has(x))\n continue;\n type = 'alphanumeric';\n if (!info.alphabet.alphanumerc.has(x))\n return 'byte';\n }\n return type;\n}\n/**\n * @example utf8ToBytes('abc') // new Uint8Array([97, 98, 99])\n */\nexport function utf8ToBytes(str) {\n if (typeof str !== 'string')\n throw new Error(`utf8ToBytes expected string, got ${typeof str}`);\n return new Uint8Array(new TextEncoder().encode(str)); // https://bugzil.la/1681809\n}\nfunction encode(ver, ecc, data, type, encoder = utf8ToBytes) {\n let encoded = '';\n let dataLen = data.length;\n if (type === 'numeric') {\n const t = info.alphabet.numeric.decode(data.split(''));\n const n = t.length;\n for (let i = 0; i < n - 2; i += 3)\n encoded += bin(t[i] * 100 + t[i + 1] * 10 + t[i + 2], 10);\n if (n % 3 === 1) {\n encoded += bin(t[n - 1], 4);\n }\n else if (n % 3 === 2) {\n encoded += bin(t[n - 2] * 10 + t[n - 1], 7);\n }\n }\n else if (type === 'alphanumeric') {\n const t = info.alphabet.alphanumerc.decode(data.split(''));\n const n = t.length;\n for (let i = 0; i < n - 1; i += 2)\n encoded += bin(t[i] * 45 + t[i + 1], 11);\n if (n % 2 == 1)\n encoded += bin(t[n - 1], 6); // pad if odd number of chars\n }\n else if (type === 'byte') {\n const utf8 = encoder(data);\n dataLen = utf8.length;\n encoded = Array.from(utf8)\n .map((i) => bin(i, 8))\n .join('');\n }\n else {\n throw new Error('encode: unsupported type');\n }\n const { capacity } = info.capacity(ver, ecc);\n const len = bin(dataLen, info.lengthBits(ver, type));\n let bits = info.modeBits[type] + len + encoded;\n if (bits.length > capacity)\n throw new Error('Capacity overflow');\n // Terminator\n bits += '0'.repeat(Math.min(4, Math.max(0, capacity - bits.length)));\n // Pad bits string untill full byte\n if (bits.length % 8)\n bits += '0'.repeat(8 - (bits.length % 8));\n // Add padding until capacity is full\n const padding = '1110110000010001';\n for (let idx = 0; bits.length !== capacity; idx++)\n bits += padding[idx % padding.length];\n // Convert a bitstring to array of bytes\n const bytes = Uint8Array.from(bits.match(/(.{8})/g).map((i) => Number(`0b${i}`)));\n return interleave(ver, ecc).encode(bytes);\n}\n// DRAW\nfunction drawQR(ver, ecc, data, maskIdx, test = false) {\n const b = drawTemplate(ver, ecc, maskIdx, test);\n let i = 0;\n const need = 8 * data.length;\n zigzag(b, maskIdx, (x, y, mask) => {\n let value = false;\n if (i < need) {\n value = ((data[i >>> 3] >> ((7 - i) & 7)) & 1) !== 0;\n i++;\n }\n b.set(x, y, value !== mask); // !== as xor\n });\n if (i !== need)\n throw new Error('QR: bytes left after draw');\n return b;\n}\nconst mkPattern = (pattern) => {\n const s = pattern.map((i) => (i ? '1' : '0')).join('');\n return { len: s.length, n: Number(`0b${s}`) };\n};\n// 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column, preceded or followed by light area 4 modules wide\nconst finderPattern = [true, false, true, true, true, false, true]; // dark:light:dark:light:dark\nconst lightPattern = [false, false, false, false]; // light area 4 modules wide\nconst P1 = mkPattern([...finderPattern, ...lightPattern]);\nconst P2 = mkPattern([...lightPattern, ...finderPattern]);\nfunction penalty(bm) {\n const { width, height } = bm;\n const transposed = bm.transpose();\n // Adjacent modules in row/column in same | No. of modules = (5 + i) color\n let adjacent = 0;\n for (let y = 0; y < height; y++) {\n bm.getRuns(y, (len) => {\n if (len >= 5)\n adjacent += 3 + (len - 5);\n });\n }\n for (let y = 0; y < width; y++) {\n transposed.getRuns(y, (len) => {\n if (len >= 5)\n adjacent += 3 + (len - 5);\n });\n }\n // Block of modules in same color (Block size = 2x2)\n let box = 0;\n for (let y = 0; y < height - 1; y++)\n box += 3 * bm.countBoxes2x2(y);\n let finder = 0;\n for (let y = 0; y < height; y++)\n finder += 40 * bm.countPatternInRow(y, P1.len, P1.n, P2.n);\n for (let y = 0; y < width; y++)\n finder += 40 * transposed.countPatternInRow(y, P1.len, P1.n, P2.n);\n // Proportion of dark modules in entire symbol\n // Add 10 points to a deviation of 5% increment or decrement in the proportion\n // ratio of dark module from the referential 50%\n let darkPixels = 0;\n darkPixels = bm.popcnt();\n //bm.rectRead(0, Infinity, (_c, val) => (darkPixels += val ? 1 : 0));\n // for (let y = 0; y < height; y++) {\n // for (let x = 0; x < width; x++) if (bm.get(x, y)) darkPixels++;\n // }\n const darkPercent = (darkPixels / (height * width)) * 100;\n const dark = 10 * Math.floor(Math.abs(darkPercent - 50) / 5);\n return adjacent + box + finder + dark;\n}\n// Selects best mask according to penalty, if no mask is provided\nfunction drawQRBest(ver, ecc, data, maskIdx) {\n if (maskIdx === undefined) {\n const bestMask = best();\n for (let mask = 0; mask < PATTERNS.length; mask++)\n bestMask.add(penalty(drawQR(ver, ecc, data, mask, true)), mask);\n maskIdx = bestMask.get();\n }\n if (maskIdx === undefined)\n throw new Error('Cannot find mask'); // Should never happen\n return drawQR(ver, ecc, data, maskIdx);\n}\nfunction validateECC(ec) {\n if (!ECMode.includes(ec))\n throw new Error(`Invalid error correction mode=${ec}. Expected: ${ECMode}`);\n}\nfunction validateEncoding(enc) {\n if (!Encoding.includes(enc))\n throw new Error(`Encoding: invalid mode=${enc}. Expected: ${Encoding}`);\n if (enc === 'kanji' || enc === 'eci')\n throw new Error(`Encoding: ${enc} is not supported (yet?).`);\n}\nfunction validateMask(mask) {\n if (![0, 1, 2, 3, 4, 5, 6, 7].includes(mask) || !PATTERNS[mask])\n throw new Error(`Invalid mask=${mask}. Expected number [0..7]`);\n}\nexport function encodeQR(text, output = 'raw', opts = {}) {\n const ecc = opts.ecc !== undefined ? opts.ecc : 'medium';\n validateECC(ecc);\n const encoding = opts.encoding !== undefined ? opts.encoding : detectType(text);\n validateEncoding(encoding);\n if (opts.mask !== undefined)\n validateMask(opts.mask);\n let ver = opts.version;\n let data, err = new Error('Unknown error');\n if (ver !== undefined) {\n validateVersion(ver);\n data = encode(ver, ecc, text, encoding, opts.textEncoder);\n }\n else {\n // If no version is provided, try to find smallest one which fits\n // Currently just scans all version, can be significantly speedup if needed\n for (let i = 1; i <= 40; i++) {\n try {\n data = encode(i, ecc, text, encoding, opts.textEncoder);\n ver = i;\n break;\n }\n catch (e) {\n err = e;\n }\n }\n }\n if (!ver || !data)\n throw err;\n let res = drawQRBest(ver, ecc, data, opts.mask);\n res.assertDrawn();\n const border = opts.border === undefined ? 2 : opts.border;\n if (!Number.isSafeInteger(border))\n throw new Error(`invalid border type=${typeof border}`);\n res = res.border(border, false); // Add border\n if (opts.scale !== undefined)\n res = res.scale(opts.scale); // Scale image\n if (output === 'raw')\n return res.toRaw();\n else if (output === 'ascii')\n return res.toASCII();\n else if (output === 'svg')\n return res.toSVG(opts.optimize);\n else if (output === 'gif')\n return res.toGIF();\n else if (output === 'term')\n return res.toTerm();\n else\n throw new Error(`Unknown output: ${output}`);\n}\nexport default encodeQR;\nexport const utils = {\n best,\n bin,\n popcnt,\n drawTemplate,\n fillArr,\n info,\n interleave,\n validateVersion,\n zigzag,\n};\n// Unsafe API utils, exported only for tests\nexport const _tests = {\n Bitmap,\n info,\n detectType,\n encode,\n drawQR,\n penalty,\n PATTERNS,\n};\n// Type tests\n// const o1 = qr('test', 'ascii');\n// const o2 = qr('test', 'raw');\n// const o3 = qr('test', 'gif');\n// const o4 = qr('test', 'svg');\n// const o5 = qr('test', 'term');\n//# sourceMappingURL=index.js.map","import { encodeQR } from 'qr';\nexport function create(value, options = {}) {\n const { errorCorrection, version } = options;\n const grid = encodeQR(value, 'raw', {\n border: 0,\n ecc: errorCorrection,\n scale: 1,\n version: version,\n });\n const finderLength = 7;\n const edgeLength = grid.length;\n return {\n edgeLength,\n finderLength,\n grid,\n value,\n };\n}\n//# sourceMappingURL=QrCode.js.map","import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from \"react/jsx-runtime\";\nimport * as React from 'react';\nimport * as QrCode from './QrCode.js';\n/**\n * Renders a QR code with a finder pattern, cells, and an `arena` (if provided).\n *\n * @params {@link Cuer.Props}\n * @returns A {@link React.ReactNode}\n */\nexport function Cuer(props) {\n const { arena, ...rest } = props;\n return (_jsxs(Cuer.Root, { ...rest, children: [_jsx(Cuer.Finder, {}), _jsx(Cuer.Cells, {}), arena && (_jsx(Cuer.Arena, { children: typeof arena === 'string' ? (_jsx(\"img\", { alt: \"Arena\", src: arena, style: {\n borderRadius: 1,\n height: '100%',\n objectFit: 'cover',\n width: '100%',\n } })) : (arena) }))] }));\n}\n(function (Cuer) {\n Cuer.Context = React.createContext(null);\n /**\n * Root component for the QR code.\n *\n * @params {@link Root.Props}\n * @returns A {@link React.ReactNode}\n */\n function Root(props) {\n const { children, size = '100%', value, version, errorCorrection, ...rest } = props;\n // Check if the children contain an `Arena` component.\n const hasArena = React.useMemo(() => (React.Children.map(children, (child) => {\n if (!React.isValidElement(child))\n return null;\n if (typeof child.type === 'string')\n return null;\n if ('displayName' in child.type &&\n child.type.displayName === 'Arena')\n return true;\n return null;\n }) ?? []).some(Boolean), [children]);\n // Create the QR code.\n const qrcode = React.useMemo(() => {\n let ecl = errorCorrection;\n // If the QR code has an arena, use a higher error correction level.\n if (hasArena && errorCorrection === 'low')\n ecl = 'medium';\n return QrCode.create(value, {\n errorCorrection: ecl,\n version,\n });\n }, [value, hasArena, errorCorrection, version]);\n const cellSize = 1;\n const edgeSize = qrcode.edgeLength * cellSize;\n const finderSize = (qrcode.finderLength * cellSize) / 2;\n const arenaSize = hasArena ? Math.floor(edgeSize / 4) : 0;\n const context = React.useMemo(() => ({ arenaSize, cellSize, edgeSize, qrcode, finderSize }), [arenaSize, edgeSize, qrcode, finderSize]);\n return (_jsx(Cuer.Context.Provider, { value: context, children: _jsxs(\"svg\", { ...rest, width: size, height: size, viewBox: `0 0 ${edgeSize} ${edgeSize}`, xmlns: \"http://www.w3.org/2000/svg\", children: [_jsx(\"title\", { children: \"QR Code\" }), children] }) }));\n }\n Cuer.Root = Root;\n (function (Root) {\n Root.displayName = 'Root';\n })(Root = Cuer.Root || (Cuer.Root = {}));\n /**\n * Finder component for the QR code. The finder pattern is the squares\n * on the top left, top right, and bottom left of the QR code.\n *\n * @params {@link Finder.Props}\n * @returns A {@link React.ReactNode}\n */\n function Finder(props) {\n const { className, fill, innerClassName, radius = 0.25 } = props;\n const { cellSize, edgeSize, finderSize } = React.useContext(Cuer.Context);\n function Inner({ position }) {\n let outerX = finderSize - (finderSize - cellSize) - cellSize / 2;\n if (position === 'top-right')\n outerX = edgeSize - finderSize - (finderSize - cellSize) - cellSize / 2;\n let outerY = finderSize - (finderSize - cellSize) - cellSize / 2;\n if (position === 'bottom-left')\n outerY = edgeSize - finderSize - (finderSize - cellSize) - cellSize / 2;\n let innerX = finderSize - cellSize * 1.5;\n if (position === 'top-right')\n innerX = edgeSize - finderSize - cellSize * 1.5;\n let innerY = finderSize - cellSize * 1.5;\n if (position === 'bottom-left')\n innerY = edgeSize - finderSize - cellSize * 1.5;\n return (_jsxs(_Fragment, { children: [_jsx(\"rect\", { className: className, stroke: fill ?? 'currentColor', fill: \"transparent\", x: outerX, y: outerY, width: cellSize + (finderSize - cellSize) * 2, height: cellSize + (finderSize - cellSize) * 2, rx: 2 * radius * (finderSize - cellSize), ry: 2 * radius * (finderSize - cellSize), strokeWidth: cellSize }), _jsx(\"rect\", { className: innerClassName, fill: fill ?? 'currentColor', x: innerX, y: innerY, width: cellSize * 3, height: cellSize * 3, rx: 2 * radius * cellSize, ry: 2 * radius * cellSize })] }));\n }\n return (_jsxs(_Fragment, { children: [_jsx(Inner, { position: \"top-left\" }), _jsx(Inner, { position: \"top-right\" }), _jsx(Inner, { position: \"bottom-left\" })] }));\n }\n Cuer.Finder = Finder;\n (function (Finder) {\n Finder.displayName = 'Finder';\n })(Finder = Cuer.Finder || (Cuer.Finder = {}));\n /**\n * Cells for the QR code.\n *\n * @params {@link Cells.Props}\n * @returns A {@link React.ReactNode}\n */\n function Cells(props) {\n const { className, fill = 'currentColor', inset: inset_ = true, radius = 1, } = props;\n const { arenaSize, cellSize, qrcode } = React.useContext(Cuer.Context);\n const { edgeLength, finderLength } = qrcode;\n const path = React.useMemo(() => {\n let path = '';\n for (let i = 0; i < qrcode.grid.length; i++) {\n const row = qrcode.grid[i];\n if (!row)\n continue;\n for (let j = 0; j < row.length; j++) {\n const cell = row[j];\n if (!cell)\n continue;\n // Skip rendering dots in arena area.\n const start = edgeLength / 2 - arenaSize / 2;\n const end = start + arenaSize;\n if (i >= start && i <= end && j >= start && j <= end)\n continue;\n // Skip rendering dots in the finder pattern areas\n const topLeftFinder = i < finderLength && j < finderLength;\n const topRightFinder = i < finderLength && j >= edgeLength - finderLength;\n const bottomLeftFinder = i >= edgeLength - finderLength && j < finderLength;\n if (topLeftFinder || topRightFinder || bottomLeftFinder)\n continue;\n // Add inset for padding\n const inset = inset_ ? cellSize * 0.1 : 0;\n const innerSize = (cellSize - inset * 2) / 2;\n // Calculate center positions\n const cx = j * cellSize + cellSize / 2;\n const cy = i * cellSize + cellSize / 2;\n // Calculate edge positions\n const left = cx - innerSize;\n const right = cx + innerSize;\n const top = cy - innerSize;\n const bottom = cy + innerSize;\n // Apply corner radius (clamped to maximum of innerSize)\n const r = radius * innerSize;\n path += [\n `M ${left + r},${top}`,\n `L ${right - r},${top}`,\n `A ${r},${r} 0 0,1 ${right},${top + r}`,\n `L ${right},${bottom - r}`,\n `A ${r},${r} 0 0,1 ${right - r},${bottom}`,\n `L ${left + r},${bottom}`,\n `A ${r},${r} 0 0,1 ${left},${bottom - r}`,\n `L ${left},${top + r}`,\n `A ${r},${r} 0 0,1 ${left + r},${top}`,\n 'z',\n ].join(' ');\n }\n }\n return path;\n }, [\n arenaSize,\n cellSize,\n edgeLength,\n finderLength,\n qrcode.grid,\n inset_,\n radius,\n ]);\n return _jsx(\"path\", { className: className, d: path, fill: fill });\n }\n Cuer.Cells = Cells;\n (function (Cells) {\n Cells.displayName = 'Cells';\n })(Cells = Cuer.Cells || (Cuer.Cells = {}));\n /**\n * Arena component for the QR code. The arena is the area in the center\n * of the QR code that is not part of the finder pattern.\n *\n * @params {@link Arena.Props}\n * @returns A {@link React.ReactNode}\n */\n function Arena(props) {\n const { children } = props;\n const { arenaSize, cellSize, edgeSize } = React.useContext(Cuer.Context);\n const start = Math.ceil(edgeSize / 2 - arenaSize / 2);\n const size = arenaSize + (arenaSize % 2);\n const padding = cellSize / 2;\n return (_jsx(\"foreignObject\", { x: start, y: start, width: size, height: size, children: _jsx(\"div\", { style: {\n alignItems: 'center',\n display: 'flex',\n fontSize: 1,\n justifyContent: 'center',\n height: '100%',\n overflow: 'hidden',\n width: '100%',\n padding,\n boxSizing: 'border-box',\n }, children: children }) }));\n }\n Cuer.Arena = Arena;\n (function (Arena) {\n Arena.displayName = 'Arena';\n })(Arena = Cuer.Arena || (Cuer.Arena = {}));\n})(Cuer || (Cuer = {}));\n//# sourceMappingURL=Cuer.js.map","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Cuer } from 'cuer';\nimport { variants } from '../zyzz.config.js';\n/**\n * Renders `value` as a QR code through cuer. Modules draw in the foreground color on a transparent\n * ground, and `color` overrides it. `arena` draws a logo in the center.\n *\n * The `svg` has `role=\"img\"` and the name `QR code for <value>`. Pass `aria-label` to name it by\n * purpose instead.\n *\n * - Show the encoded value as text with a copy action beside the code, since many users cannot scan.\n * - Name the image by purpose, such as `Deposit address QR code`.\n *\n * @example\n * <Qr aria-label=\"Deposit address QR code\" size=\"small\" value={address} />\n *\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Reference/Roles/img_role | MDN img role}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/non-text-content.html | WCAG 2.2 Non-text Content}\n */\nexport function Qr(props) {\n const { className, size, value, vars, ...attributes } = props;\n return (_jsx(Cuer, { \"aria-label\": `QR code for ${value}`, role: \"img\", value: value, ...attributes, ...styles.qr({ className, size, style: props.style, vars }) }));\n}\nvar styles;\n(function (styles) {\n styles.qr = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-NkOkVO0 z_tds_2f_web-NkOkVO1 z_tds_2f_web-NkOkVO2 z_tds_2f_web-NkOkVO3 z_tds_2f_web-NkOkVO4 z_tds_2f_web-NkOkVO5 z_tds_2f_web-NkOkVO6 z_tds_2f_web-NkOkVO7 z_tds_2f_web-NkOkVO8\"+\" \"+external:\"z_tds_2f_web-NkOkVO0 z_tds_2f_web-NkOkVO1 z_tds_2f_web-NkOkVO2 z_tds_2f_web-NkOkVO3 z_tds_2f_web-NkOkVO4 z_tds_2f_web-NkOkVO5 z_tds_2f_web-NkOkVO6 z_tds_2f_web-NkOkVO7 z_tds_2f_web-NkOkVO8\",result=inline?{className,style:inline}:{className};let value;value=Object.hasOwn(input,\"size\")?input[\"size\"]:void 0;if(value===void 0)value=\"medium\";if(value!==null&&value!==void 0)result[\"data-size\"]=String(value);return result});\n})(styles || (styles = {}));\n//# sourceMappingURL=Qr.js.map\nimport './Qr.css';\n","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectRootContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectRootContext.displayName = \"SelectRootContext\";\nexport const SelectFloatingContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectFloatingContext.displayName = \"SelectFloatingContext\";\nexport function useSelectRootContext() {\n const store = React.useContext(SelectRootContext);\n if (store === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectRootContext is missing. Select parts must be placed within <Select.Root>.' : _formatErrorMessage(60));\n }\n return store;\n}\nexport function useSelectFloatingContext() {\n const context = React.useContext(SelectFloatingContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectFloatingContext is missing. Select parts must be placed within <Select.Root>.' : _formatErrorMessage(61));\n }\n return context;\n}","import { compareItemEquality } from \"../internals/itemEquality.mjs\";\nimport { hasNullItemLabel, stringifyAsValue } from \"../internals/resolveValueLabel.mjs\";\n\n/**\n * Non-reactive values shared with the select parts. Nothing here is observable through\n * `selectors`, so writing to a ref never notifies subscribers.\n */\n\nexport const selectors = {\n id: state => state.id,\n labelId: state => state.labelId,\n modal: state => state.modal,\n multiple: state => state.multiple,\n disabled: state => state.disabled,\n readOnly: state => state.readOnly,\n required: state => state.required,\n highlightItemOnHover: state => state.highlightItemOnHover,\n items: state => state.items,\n itemToStringLabel: state => state.itemToStringLabel,\n isItemEqualToValue: state => state.isItemEqualToValue,\n value: state => state.value,\n hasSelectedValue: state => {\n const {\n value,\n multiple,\n itemToStringValue\n } = state;\n if (value == null) {\n return false;\n }\n if (multiple && Array.isArray(value)) {\n return value.length > 0;\n }\n return stringifyAsValue(value, itemToStringValue) !== '';\n },\n hasNullItemLabel: (state, enabled) => {\n return enabled ? hasNullItemLabel(state.items) : false;\n },\n open: state => state.open,\n mounted: state => state.mounted,\n forceMount: state => state.forceMount,\n transitionStatus: state => state.transitionStatus,\n openMethod: state => state.openMethod,\n activeIndex: state => state.activeIndex,\n selectedIndex: state => state.selectedIndex,\n isActive: (state, index) => state.activeIndex === index,\n isSelected: (state, itemValue) => {\n const comparer = state.isItemEqualToValue;\n const storeValue = state.value;\n if (state.multiple) {\n return Array.isArray(storeValue) && storeValue.some(selectedItem => compareItemEquality(itemValue, selectedItem, comparer));\n }\n\n // The value is the source of truth: a stale `selectedIndex` (e.g. the controlled\n // value changes while the popup is open, where the index sync is deferred) must not\n // keep a previously selected item marked as selected.\n return compareItemEquality(itemValue, storeValue, comparer);\n },\n isSelectedByFocus: (state, index) => {\n return state.selectedIndex === index;\n },\n popupProps: state => state.popupProps,\n triggerProps: state => state.triggerProps,\n itemRoot: state => state.itemRoot,\n triggerElement: state => state.triggerElement,\n positionerElement: state => state.positionerElement,\n listElement: state => state.listElement,\n popupSide: state => state.popupSide,\n scrollUpArrowVisible: state => state.scrollUpArrowVisible,\n scrollDownArrowVisible: state => state.scrollDownArrowVisible,\n hasScrollArrows: state => state.hasScrollArrows\n};","import { clamp } from '@base-ui/utils/clamp';\nexport const SCROLL_EDGE_TOLERANCE_PX = 1;\nexport function getMaxScrollOffset(scrollSize, clientSize) {\n return Math.max(0, scrollSize - clientSize);\n}\nexport function normalizeScrollOffset(value, max) {\n if (max <= 0) {\n return 0;\n }\n const clamped = clamp(value, 0, max);\n const startDistance = clamped;\n const endDistance = max - clamped;\n const withinStartTolerance = startDistance <= SCROLL_EDGE_TOLERANCE_PX;\n const withinEndTolerance = endDistance <= SCROLL_EDGE_TOLERANCE_PX;\n if (withinStartTolerance && withinEndTolerance) {\n return startDistance <= endDistance ? 0 : max;\n }\n if (withinStartTolerance) {\n return 0;\n }\n if (withinEndTolerance) {\n return max;\n }\n return clamped;\n}","'use client';\n\nimport * as React from 'react';\nimport { visuallyHidden, visuallyHiddenInput } from '@base-ui/utils/visuallyHidden';\nimport { useMergedRefs } from '@base-ui/utils/useMergedRefs';\nimport { useRefWithInit } from '@base-ui/utils/useRefWithInit';\nimport { useOnFirstRender } from '@base-ui/utils/useOnFirstRender';\nimport { usePreviousValue } from '@base-ui/utils/usePreviousValue';\nimport { isElementDisabled } from '@base-ui/utils/isElementDisabled';\nimport { useControlled } from '@base-ui/utils/useControlled';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { ReactStore } from '@base-ui/utils/store';\nimport { EMPTY_ARRAY, EMPTY_OBJECT } from '@base-ui/utils/empty';\nimport { useClick, useDismiss, useFloatingRootContext, useListNavigation, useTypeahead } from \"../../floating-ui-react/index.mjs\";\nimport { SelectFloatingContext, SelectRootContext } from \"./SelectRootContext.mjs\";\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { useRegisterFieldControl } from \"../../internals/field-register-control/useRegisterFieldControl.mjs\";\nimport { useLabelableId } from \"../../internals/labelable-provider/useLabelableId.mjs\";\nimport { useUnmountAfterClose } from \"../../internals/useUnmountAfterClose.mjs\";\nimport { selectors } from \"../store.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { attachPreventUnmountOnClose } from \"../../utils/popups/popupStoreUtils.mjs\";\nimport { useFormContext } from \"../../internals/form-context/FormContext.mjs\";\nimport { stringifyAsLabel, stringifyAsValue } from \"../../internals/resolveValueLabel.mjs\";\nimport { defaultItemEquality, findSelectionIndex, isSelectedValueDirty } from \"../../internals/itemEquality.mjs\";\nimport { useValueChanged } from \"../../internals/useValueChanged.mjs\";\nimport { useOpenInteractionType } from \"../../utils/useOpenInteractionType.mjs\";\nimport { getMaxScrollOffset, normalizeScrollOffset } from \"../../utils/scrollEdges.mjs\";\nimport { FOCUSABLE_POPUP_PROPS } from \"../../utils/popups/index.mjs\";\nimport { mergeProps } from \"../../merge-props/index.mjs\";\nimport { NOOP } from \"../../internals/noop.mjs\";\n\n/**\n * Groups all parts of the select.\n * Doesn't render its own HTML element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function SelectRoot(props) {\n const {\n id,\n value: valueProp,\n defaultValue = null,\n onValueChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n name: nameProp,\n form,\n autoComplete,\n disabled: disabledProp = false,\n readOnly = false,\n required = false,\n modal = true,\n actionsRef,\n inputRef,\n onOpenChangeComplete,\n items,\n multiple = false,\n itemToStringLabel,\n itemToStringValue,\n isItemEqualToValue = defaultItemEquality,\n highlightItemOnHover = true,\n children\n } = props;\n const {\n clearErrors\n } = useFormContext();\n const {\n setDirty,\n setTouched,\n setFocused,\n validityData,\n setFilled,\n name: fieldName,\n disabled: fieldDisabled,\n validation,\n validationMode\n } = useFieldRootContext();\n const generatedId = useLabelableId({\n id\n });\n const disabled = fieldDisabled || disabledProp;\n const name = fieldName ?? nameProp;\n const [value, setValueUnwrapped] = useControlled({\n controlled: valueProp,\n default: multiple ? defaultValue ?? EMPTY_ARRAY : defaultValue,\n name: 'Select',\n state: 'value'\n });\n const [open, setOpenUnwrapped] = useControlled({\n controlled: openProp,\n default: defaultOpen,\n name: 'Select',\n state: 'open'\n });\n const listRef = React.useRef([]);\n const labelsRef = React.useRef([]);\n const popupRef = React.useRef(null);\n const scrollHandlerRef = React.useRef(null);\n const scrollArrowsMountedCountRef = React.useRef(0);\n const valueRef = React.useRef(null);\n const valuesRef = React.useRef([]);\n const typingRef = React.useRef(false);\n const firstItemTextRef = React.useRef(null);\n const selectedItemTextRef = React.useRef(null);\n const selectionRef = React.useRef({\n allowSelectedMouseUp: false,\n allowUnselectedMouseUp: false,\n dragY: 0\n });\n const alignItemWithTriggerActiveRef = React.useRef(false);\n const initialValueRef = React.useRef(value);\n const {\n openMethod,\n triggerProps: interactionTypeProps\n } = useOpenInteractionType(open);\n const store = useRefWithInit(() => new ReactStore({\n id: generatedId,\n labelId: undefined,\n modal,\n multiple,\n disabled,\n readOnly,\n required,\n highlightItemOnHover,\n itemToStringLabel,\n itemToStringValue,\n isItemEqualToValue,\n value,\n open,\n // Seeded with the initial values of `useUnmountAfterClose`, which is called after the\n // store because its unmount cleanup writes to it. `useSyncedValues` keeps them in sync.\n mounted: open,\n transitionStatus: undefined,\n items,\n forceMount: false,\n openMethod: null,\n activeIndex: null,\n selectedIndex: null,\n popupProps: EMPTY_OBJECT,\n triggerProps: EMPTY_OBJECT,\n itemRoot: {\n props: EMPTY_OBJECT,\n multiple,\n disabled,\n readOnly,\n isItemEqualToValue\n },\n triggerElement: null,\n positionerElement: null,\n listElement: null,\n popupSide: null,\n scrollUpArrowVisible: false,\n scrollDownArrowVisible: false,\n hasScrollArrows: false\n }, {\n setValue: NOOP,\n setOpen: NOOP,\n handleScrollArrowVisibility: NOOP,\n onOpenChangeComplete: NOOP,\n listRef,\n popupRef,\n scrollHandlerRef,\n scrollArrowsMountedCountRef,\n valueRef,\n valuesRef,\n labelsRef,\n typingRef,\n selectionRef,\n firstItemTextRef,\n selectedItemTextRef,\n alignItemWithTriggerActiveRef,\n initialValueRef\n }, selectors)).current;\n const [preventUnmountOnClose, setPreventUnmountOnClose] = React.useState(false);\n const {\n mounted,\n transitionStatus,\n forceUnmount: handleUnmount\n } = useUnmountAfterClose({\n open,\n ref: popupRef,\n preventUnmountOnClose,\n setPreventUnmountOnClose,\n onUnmount() {\n store.update({\n activeIndex: null,\n openMethod: null,\n scrollUpArrowVisible: false,\n scrollDownArrowVisible: false\n });\n onOpenChangeComplete?.(false);\n }\n });\n const activeIndex = store.useState('activeIndex');\n const selectedIndex = store.useState('selectedIndex');\n const triggerElement = store.useState('triggerElement');\n const positionerElement = store.useState('positionerElement');\n const previousOpenMethod = usePreviousValue(openMethod);\n const renderedOpenMethod = openMethod ?? previousOpenMethod;\n const serializedValue = React.useMemo(() => {\n // In multiple mode the shared input is nameless; per-value entries are submitted via\n // `hiddenInputs`. Its value is therefore irrelevant, and passing the whole array to\n // `stringifyAsValue` would invoke a user `itemToStringValue` with an array it doesn't expect.\n if (multiple) {\n return '';\n }\n return stringifyAsValue(value, itemToStringValue);\n }, [multiple, value, itemToStringValue]);\n const fieldStringValue = React.useMemo(() => {\n if (multiple && Array.isArray(value)) {\n return value.map(currentValue => stringifyAsValue(currentValue, itemToStringValue));\n }\n return stringifyAsValue(value, itemToStringValue);\n }, [multiple, value, itemToStringValue]);\n const controlRef = useValueAsRef(triggerElement);\n const getStringifiedValueForForm = useStableCallback(() => fieldStringValue);\n useRegisterFieldControl(controlRef, generatedId, value, getStringifiedValueForForm, !disabled, nameProp);\n\n // Mirror the `hasSelectedValue` store selector so the Field's filled state agrees with the\n // trigger/value placeholder semantics (a value serializing to `''` counts as empty).\n const hasSelectedValue = multiple ? Array.isArray(value) && value.length > 0 : value != null && serializedValue !== '';\n useIsoLayoutEffect(() => {\n setFilled(hasSelectedValue);\n }, [hasSelectedValue, setFilled]);\n useIsoLayoutEffect(function syncSelectedIndex() {\n const nextIndex = findSelectionIndex(valuesRef.current, value, isItemEqualToValue, multiple);\n if (nextIndex === null) {\n selectedItemTextRef.current = null;\n }\n if (open) {\n return;\n }\n store.set('selectedIndex', nextIndex);\n }, [multiple, open, value, isItemEqualToValue, store]);\n useValueChanged(value, () => {\n clearErrors(name);\n setDirty(isSelectedValueDirty(value, validityData.initialValue, isItemEqualToValue));\n validation.change(value);\n });\n const setOpen = useStableCallback((nextOpen, eventDetails) => {\n const openEventDetails = eventDetails;\n const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(openEventDetails);\n onOpenChange?.(nextOpen, openEventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n if (!nextOpen) {\n setPreventUnmountOnClose(shouldPreventUnmountOnClose());\n }\n setOpenUnwrapped(nextOpen);\n if (!nextOpen && (eventDetails.reason === REASONS.focusOut || eventDetails.reason === REASONS.outsidePress)) {\n setTouched(true);\n setFocused(false);\n if (validationMode === 'onBlur') {\n validation.commit(value);\n }\n }\n });\n React.useImperativeHandle(actionsRef, () => ({\n unmount: handleUnmount,\n close: () => {\n if (store.state.open) {\n setOpen(false, createChangeEventDetails(REASONS.imperativeAction));\n }\n }\n }), [handleUnmount, setOpen, store]);\n const setValue = useStableCallback((nextValue, eventDetails) => {\n onValueChange?.(nextValue, eventDetails);\n if (eventDetails.isCanceled) {\n return;\n }\n setValueUnwrapped(nextValue);\n });\n const handleScrollArrowVisibility = useStableCallback(scroller => {\n const maxScrollTop = getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);\n const scrollTop = normalizeScrollOffset(scroller.scrollTop, maxScrollTop);\n const shouldShowUp = scrollTop > 0;\n const shouldShowDown = scrollTop < maxScrollTop;\n store.set('scrollUpArrowVisible', shouldShowUp);\n store.set('scrollDownArrowVisible', shouldShowDown);\n });\n const floatingContext = useFloatingRootContext({\n open,\n onOpenChange: setOpen,\n elements: {\n reference: triggerElement,\n floating: positionerElement\n }\n });\n\n // `readOnly` locks the value, not the interaction: the popup can be opened and browsed so the\n // user can see the available options and which one is selected. Committing a value is blocked\n // separately in `SelectItem` and in the hidden input's autofill handler.\n const click = useClick(floatingContext, {\n enabled: !disabled,\n event: 'mousedown'\n });\n const dismiss = useDismiss(floatingContext);\n const listNavigation = useListNavigation(floatingContext, {\n enabled: !disabled,\n listRef,\n activeIndex,\n selectedIndex,\n disabledIndices: EMPTY_ARRAY,\n onNavigate(nextActiveIndex) {\n // Retain the highlight while transitioning out.\n if (nextActiveIndex === null && !open) {\n return;\n }\n store.set('activeIndex', nextActiveIndex);\n },\n focusItemOnHover: highlightItemOnHover\n });\n const typeahead = useTypeahead(floatingContext, {\n // Typeahead on an open popup only moves the highlight, so it remains available while\n // `readOnly`. The closed-trigger variant commits a value instead, so it doesn't.\n enabled: !disabled && (open || !readOnly && !multiple),\n listRef: labelsRef,\n activeIndex,\n selectedIndex,\n // Skip disabled items while matching so typeahead advances to the next selectable item\n // (a click can never select a disabled item and native `<select>` skips them too). Resolve\n // the disabled state from the element via the attribute-only `isElementDisabled` so the\n // hidden, force-mounted items used for closed-trigger typeahead aren't dropped by the\n // `elementsRef`/visibility filter that `disabledIndices` deliberately sidesteps.\n disabledIndices: index => isElementDisabled(listRef.current[index]),\n onMatch(index) {\n if (open) {\n store.set('activeIndex', index);\n } else {\n setValue(valuesRef.current[index], createChangeEventDetails(REASONS.none));\n }\n },\n onTyping(typing) {\n typingRef.current = typing;\n }\n });\n\n // `Select.Trigger` applies the id itself from the store, so it's deliberately not merged here.\n const mergedTriggerProps = React.useMemo(() => mergeProps(typeahead.reference, listNavigation.reference, dismiss.reference, click.reference, interactionTypeProps), [click.reference, typeahead.reference, listNavigation.reference, dismiss.reference, interactionTypeProps]);\n const popupProps = React.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, typeahead.floating, listNavigation.floating, dismiss.floating), [typeahead.floating, listNavigation.floating, dismiss.floating]);\n const itemProps = listNavigation.item ?? EMPTY_OBJECT;\n const itemRoot = React.useMemo(() => ({\n props: itemProps,\n multiple,\n disabled,\n readOnly,\n isItemEqualToValue\n }), [itemProps, multiple, disabled, readOnly, isItemEqualToValue]);\n store.useContextCallback('setValue', setValue);\n store.useContextCallback('setOpen', setOpen);\n store.useContextCallback('handleScrollArrowVisibility', handleScrollArrowVisibility);\n store.useContextCallback('onOpenChangeComplete', onOpenChangeComplete);\n\n // The prop bags must be in the store before the parts render. `useSyncedValues` writes in a\n // layout effect, after all descendants have rendered.\n useOnFirstRender(() => {\n store.update({\n popupProps,\n triggerProps: mergedTriggerProps,\n itemRoot\n });\n });\n store.useSyncedValues({\n id: generatedId,\n modal,\n multiple,\n disabled,\n readOnly,\n required,\n highlightItemOnHover,\n value,\n open,\n mounted,\n transitionStatus,\n popupProps,\n triggerProps: mergedTriggerProps,\n itemRoot,\n items,\n itemToStringLabel,\n itemToStringValue,\n isItemEqualToValue,\n openMethod: renderedOpenMethod\n });\n const ref = useMergedRefs(inputRef, validation.inputRef);\n const hiddenInputName = multiple ? undefined : name;\n const hiddenInputs = React.useMemo(() => {\n if (!multiple || !Array.isArray(value) || !name) {\n return null;\n }\n return value.map(v => {\n const currentSerializedValue = stringifyAsValue(v, itemToStringValue);\n return /*#__PURE__*/_jsx(\"input\", {\n type: \"hidden\",\n form: form,\n name: name,\n value: currentSerializedValue,\n disabled: disabled\n }, currentSerializedValue);\n });\n }, [multiple, value, form, name, itemToStringValue, disabled]);\n return /*#__PURE__*/_jsxs(SelectRootContext.Provider, {\n value: store,\n children: [/*#__PURE__*/_jsx(SelectFloatingContext.Provider, {\n value: floatingContext,\n children: children\n }), /*#__PURE__*/_jsx(\"input\", {\n ...validation.getValidationProps(disabled, {\n onFocus() {\n // Move focus to the trigger element when the hidden input is focused.\n store.state.triggerElement?.focus({\n // Supported in Chrome from 144 (January 2026)\n focusVisible: true\n });\n },\n // Handle browser autofill.\n onChange(event) {\n // Workaround for https://github.com/react/react/issues/9023\n if (event.nativeEvent.defaultPrevented || disabled || readOnly) {\n return;\n }\n const nextValue = event.currentTarget.value;\n const details = createChangeEventDetails(REASONS.none, event.nativeEvent);\n function handleChange() {\n if (multiple) {\n // Browser autofill only writes a single scalar value.\n return;\n }\n\n // Preserve the original serialized matching, then fall back to rendered text,\n // which browsers can autofill for primitive values like\n // `value=\"US\">United States`.\n const nextValueLower = nextValue.toLowerCase();\n let matchingIndex = valuesRef.current.findIndex(candidate => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyAsLabel(candidate, itemToStringLabel).toLowerCase() === nextValueLower);\n if (matchingIndex === -1) {\n matchingIndex = valuesRef.current.findIndex((_, index) => {\n const renderedLabel = labelsRef.current[index];\n return renderedLabel != null && renderedLabel.toLowerCase() === nextValueLower;\n });\n }\n const matchingValue = valuesRef.current[matchingIndex];\n if (matchingValue != null) {\n // `setValue` may be canceled by `onValueChange`; rely on `useValueChanged` to\n // mark the field dirty and run validation only when the value actually changes.\n setValue(matchingValue, details);\n }\n }\n store.set('forceMount', true);\n queueMicrotask(handleChange);\n }\n }),\n id: generatedId && hiddenInputName == null ? `${generatedId}-hidden-input` : undefined,\n form: form,\n name: hiddenInputName,\n autoComplete: autoComplete,\n value: serializedValue,\n disabled: disabled,\n required: required && !(multiple && hasSelectedValue),\n readOnly: readOnly,\n ref: ref,\n style: name ? visuallyHiddenInput : visuallyHidden,\n tabIndex: -1,\n \"aria-hidden\": true,\n suppressHydrationWarning: true\n }), hiddenInputs]\n });\n}","import { CommonTriggerDataAttributes } from \"../../utils/popupStateMapping.mjs\";\n\n/**\n * Present when the corresponding select is open.\n */\nexport const popupOpen = CommonTriggerDataAttributes.popupOpen;\n/**\n * Present when the trigger is pressed.\n */\nexport const pressed = CommonTriggerDataAttributes.pressed;\n/**\n * Present when the select is disabled.\n */\nexport const disabled = 'data-disabled';\n/**\n * Present when the select is readonly.\n */\nexport const readonly = 'data-readonly';\n/**\n * Indicates which side the corresponding popup is positioned relative to its anchor.\n * @type {'top' | 'bottom' | 'left' | 'right' | 'inline-end' | 'inline-start' | null}\n */\nexport const popupSide = 'data-popup-side';\n/**\n * Present when the select is required.\n */\nexport const required = 'data-required';\n/**\n * Present when the select is in a valid state (when wrapped in Field.Root).\n */\nexport const valid = 'data-valid';\n/**\n * Present when the select is in an invalid state (when wrapped in Field.Root).\n */\nexport const invalid = 'data-invalid';\n/**\n * Present when the select has been touched (when wrapped in Field.Root).\n */\nexport const touched = 'data-touched';\n/**\n * Present when the select's value has changed (when wrapped in Field.Root).\n */\nexport const dirty = 'data-dirty';\n/**\n * Present when the select has a value (when wrapped in Field.Root).\n */\nexport const filled = 'data-filled';\n/**\n * Present when the select trigger is focused (when wrapped in Field.Root).\n */\nexport const focused = 'data-focused';\n/**\n * Present when the select doesn't have a value.\n */\nexport const placeholder = 'data-placeholder';","'use client';\n\nimport * as React from 'react';\nimport { ownerDocument } from '@base-ui/utils/owner';\nimport { useTimeout } from '@base-ui/utils/useTimeout';\nimport { useValueAsRef } from '@base-ui/utils/useValueAsRef';\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { useFieldRootContext } from \"../../internals/field-root-context/FieldRootContext.mjs\";\nimport { useSetFieldFocused } from \"../../internals/field-root-context/useSetFieldFocused.mjs\";\nimport { useLabelableContext } from \"../../internals/labelable-provider/LabelableContext.mjs\";\nimport { pressableTriggerOpenStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { fieldValidityMapping } from \"../../internals/field-constants/constants.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { isMouseWithinBounds } from \"../../utils/getPseudoElementBounds.mjs\";\nimport { contains, getFloatingFocusElement } from \"../../floating-ui-react/utils.mjs\";\nimport { mergeProps } from \"../../merge-props/index.mjs\";\nimport { useButton } from \"../../internals/use-button/index.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useLabelableId } from \"../../internals/labelable-provider/useLabelableId.mjs\";\nimport { resolveAriaLabelledBy } from \"../../utils/resolveAriaLabelledBy.mjs\";\nimport * as SelectTriggerDataAttributes from \"./SelectTriggerDataAttributes.mjs\";\nconst SELECTED_DELAY = 400;\nconst stateAttributesMapping = {\n ...pressableTriggerOpenStateMapping,\n ...fieldValidityMapping,\n popupSide: side => side ? {\n [SelectTriggerDataAttributes.popupSide]: side\n } : null,\n value: () => null\n};\n\n/**\n * A button that opens the select popup.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectTrigger = /*#__PURE__*/React.forwardRef(function SelectTrigger(componentProps, forwardedRef) {\n const {\n render,\n className,\n id: idProp,\n disabled: disabledProp = false,\n nativeButton = true,\n style,\n ...elementProps\n } = componentProps;\n const {\n setTouched,\n validationMode,\n validation,\n state: fieldState,\n disabled: fieldDisabled\n } = useFieldRootContext();\n const {\n labelId: fieldLabelId\n } = useLabelableContext();\n const store = useSelectRootContext();\n const readOnly = store.useState('readOnly');\n const required = store.useState('required');\n const selectDisabled = store.useState('disabled');\n const disabled = fieldDisabled || selectDisabled || disabledProp;\n const open = store.useState('open');\n const mounted = store.useState('mounted');\n const value = store.useState('value');\n const triggerProps = store.useState('triggerProps');\n const positionerElement = store.useState('positionerElement');\n const listElement = store.useState('listElement');\n const popupSideValue = store.useState('popupSide');\n const rootId = store.useState('id');\n const selectLabelId = store.useState('labelId');\n const hasSelectedValue = store.useState('hasSelectedValue');\n const popupSide = mounted && positionerElement ? popupSideValue : null;\n const id = idProp ?? rootId;\n const ariaLabelledBy = resolveAriaLabelledBy(fieldLabelId, selectLabelId);\n useLabelableId({\n id: idProp\n });\n const positionerRef = useValueAsRef(positionerElement);\n const triggerRef = React.useRef(null);\n const setFocused = useSetFieldFocused(disabled, triggerRef);\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n native: nativeButton\n });\n const setTriggerElement = store.useStateSetter('triggerElement');\n const timeoutFocus = useTimeout();\n const timeoutMouseDown = useTimeout();\n const selectedDelayTimeout = useTimeout();\n React.useEffect(() => {\n if (open) {\n // A mousedown on the trigger can open the popup under the cursor. Keep mouseup selection\n // disabled briefly so releasing over either the selected item or a neighboring item doesn't\n // commit an accidental selection. SelectItem can still opt into unselected mouseup sooner\n // after a real drag over the item.\n selectedDelayTimeout.start(SELECTED_DELAY, () => {\n store.context.selectionRef.current.allowUnselectedMouseUp = true;\n store.context.selectionRef.current.allowSelectedMouseUp = true;\n });\n return () => {\n selectedDelayTimeout.clear();\n };\n }\n store.context.selectionRef.current = {\n allowSelectedMouseUp: false,\n allowUnselectedMouseUp: false,\n dragY: 0\n };\n timeoutMouseDown.clear();\n return undefined;\n }, [open, store, timeoutMouseDown, selectedDelayTimeout]);\n const mergedProps = mergeProps(triggerProps, {\n id,\n role: 'combobox',\n 'aria-expanded': open,\n 'aria-haspopup': 'listbox',\n 'aria-controls': open ? listElement?.id ?? getFloatingFocusElement(positionerElement)?.id : undefined,\n 'aria-labelledby': ariaLabelledBy,\n 'aria-readonly': readOnly || undefined,\n 'aria-required': required || undefined,\n tabIndex: disabled ? -1 : 0,\n onFocus(event) {\n setFocused(true);\n\n // The popup element shouldn't obscure the focused trigger.\n if (open && store.context.alignItemWithTriggerActiveRef.current) {\n store.context.setOpen(false, createChangeEventDetails(REASONS.none, event.nativeEvent));\n }\n\n // Saves a re-render on initial click: `forceMount === true` mounts\n // the items before `open === true`. We could sync those cycles better\n // without a timeout, but this is enough for now.\n timeoutFocus.start(0, () => {\n store.set('forceMount', true);\n });\n },\n onBlur(event) {\n // If focus is moving into the popup, don't count it as a blur.\n if (contains(positionerElement, event.relatedTarget)) {\n return;\n }\n setTouched(true);\n setFocused(false);\n if (validationMode === 'onBlur') {\n validation.commit(value);\n }\n },\n onMouseDown(event) {\n if (open) {\n return;\n }\n const doc = ownerDocument(event.currentTarget);\n function handleMouseUp(mouseEvent) {\n if (!triggerRef.current) {\n return;\n }\n const mouseUpTarget = mouseEvent.target;\n\n // Don't treat the release as an outside press when it lands on the trigger or inside\n // the popup positioner (or their children).\n if (contains(triggerRef.current, mouseUpTarget) || contains(positionerRef.current, mouseUpTarget)) {\n return;\n }\n if (isMouseWithinBounds(mouseEvent, triggerRef.current)) {\n return;\n }\n store.context.setOpen(false, createChangeEventDetails(REASONS.cancelOpen, mouseEvent));\n }\n\n // Firefox can fire this upon mousedown\n timeoutMouseDown.start(0, () => {\n doc.addEventListener('mouseup', handleMouseUp, {\n once: true\n });\n });\n }\n }, elementProps, getButtonProps);\n const props = validation.getValidationProps(disabled, mergedProps);\n\n // ensure nested useButton does not overwrite the combobox role:\n // <Toolbar.Button render={<Select.Trigger />} />\n props.role = 'combobox';\n const state = {\n ...fieldState,\n open,\n disabled,\n value,\n readOnly,\n popupSide,\n placeholder: !hasSelectedValue\n };\n return useRenderElement('button', componentProps, {\n ref: [forwardedRef, triggerRef, buttonRef, setTriggerElement],\n state,\n stateAttributesMapping,\n props\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectTrigger.displayName = \"SelectTrigger\";","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { resolveMultipleLabels, resolveSelectedLabel } from \"../../internals/resolveValueLabel.mjs\";\nconst stateAttributesMapping = {\n value: () => null\n};\n\n/**\n * A text label of the currently selected item.\n * Renders a `<span>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectValue = /*#__PURE__*/React.forwardRef(function SelectValue(componentProps, forwardedRef) {\n const {\n className,\n render,\n children: childrenProp,\n placeholder,\n style,\n ...elementProps\n } = componentProps;\n const store = useSelectRootContext();\n const value = store.useState('value');\n const items = store.useState('items');\n const itemToStringLabel = store.useState('itemToStringLabel');\n const hasSelectedValue = store.useState('hasSelectedValue');\n const shouldCheckNullItemLabel = !hasSelectedValue && placeholder != null && childrenProp == null;\n const hasNullLabel = store.useState('hasNullItemLabel', shouldCheckNullItemLabel);\n const state = {\n value,\n placeholder: !hasSelectedValue\n };\n let children = null;\n if (typeof childrenProp === 'function') {\n children = childrenProp(value);\n } else if (childrenProp != null) {\n children = childrenProp;\n } else if (shouldCheckNullItemLabel && !hasNullLabel) {\n children = placeholder;\n } else if (Array.isArray(value)) {\n children = resolveMultipleLabels(value, items, itemToStringLabel);\n } else {\n children = resolveSelectedLabel(value, items, itemToStringLabel);\n }\n const element = useRenderElement('span', componentProps, {\n state,\n ref: [forwardedRef, store.context.valueRef],\n props: [{\n children\n }, elementProps],\n stateAttributesMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SelectValue.displayName = \"SelectValue\";","'use client';\n\nimport * as React from 'react';\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { triggerOpenStateMapping } from \"../../utils/popupStateMapping.mjs\";\n\n/**\n * An icon that indicates that the trigger button opens a select popup.\n * Renders a `<span>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectIcon = /*#__PURE__*/React.forwardRef(function SelectIcon(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = useSelectRootContext();\n const open = store.useState('open');\n const state = {\n open\n };\n const element = useRenderElement('span', componentProps, {\n state,\n ref: forwardedRef,\n props: [{\n 'aria-hidden': true,\n children: '▼'\n }, elementProps],\n stateAttributesMapping: triggerOpenStateMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SelectIcon.displayName = \"SelectIcon\";","'use client';\n\nimport * as React from 'react';\nimport { FloatingPortal } from \"../../floating-ui-react/index.mjs\";\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\n\n/**\n * A portal element that moves the popup to a different part of the DOM.\n * By default, the portal element is appended to `<body>`.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const SelectPortal = /*#__PURE__*/React.forwardRef(function SelectPortal(portalProps, forwardedRef) {\n const store = useSelectRootContext();\n const mounted = store.useState('mounted');\n const forceMount = store.useState('forceMount');\n const shouldRender = mounted || forceMount;\n if (!shouldRender) {\n return null;\n }\n return /*#__PURE__*/_jsx(FloatingPortal, {\n ref: forwardedRef,\n ...portalProps\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectPortal.displayName = \"SelectPortal\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectPositionerContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectPositionerContext.displayName = \"SelectPositionerContext\";\nexport function useSelectPositionerContext() {\n const context = React.useContext(SelectPositionerContext);\n if (!context) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectPositionerContext is missing. SelectPositioner parts must be placed within <Select.Positioner>.' : _formatErrorMessage(59));\n }\n return context;\n}","export function clearStyles(element, originalStyles) {\n if (element) {\n Object.assign(element.style, originalStyles);\n }\n}\nexport const LIST_FUNCTIONAL_STYLES = {\n position: 'relative',\n maxHeight: '100%',\n overflowX: 'hidden',\n overflowY: 'auto'\n};","'use client';\n\nimport * as React from 'react';\nimport { inertValue } from '@base-ui/utils/inertValue';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { useSelectFloatingContext, useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { CompositeList } from \"../../internals/composite/list/CompositeList.mjs\";\nimport { useAnchorPositioning } from \"../../internals/useAnchorPositioning.mjs\";\nimport { SelectPositionerContext } from \"./SelectPositionerContext.mjs\";\nimport { InternalBackdrop } from \"../../utils/InternalBackdrop.mjs\";\nimport { DROPDOWN_COLLISION_AVOIDANCE } from \"../../internals/constants.mjs\";\nimport { clearStyles } from \"../popup/utils.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { findItemIndex } from \"../../internals/itemEquality.mjs\";\nimport { usePositioner } from \"../../utils/usePositioner.mjs\";\nimport { useAnchoredPopupScrollLock } from \"../../utils/useAnchoredPopupScrollLock.mjs\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst FIXED = {\n position: 'fixed'\n};\n\n/**\n * Positions the select popup.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectPositioner = /*#__PURE__*/React.forwardRef(function SelectPositioner(componentProps, forwardedRef) {\n const {\n anchor,\n className,\n render,\n // `useAnchorPositioning` applies the same defaults to the undefined values; the names\n // remain destructured to exclude the props from `elementProps`.\n positionMethod,\n side,\n align,\n sideOffset,\n alignOffset,\n collisionBoundary = 'clipping-ancestors',\n collisionPadding,\n arrowPadding,\n sticky,\n disableAnchorTracking,\n alignItemWithTrigger = true,\n collisionAvoidance = DROPDOWN_COLLISION_AVOIDANCE,\n style,\n ...elementProps\n } = componentProps;\n const store = useSelectRootContext();\n const floatingRootContext = useSelectFloatingContext();\n const open = store.useState('open');\n const mounted = store.useState('mounted');\n const modal = store.useState('modal');\n const value = store.useState('value');\n const openMethod = store.useState('openMethod');\n const positionerElement = store.useState('positionerElement');\n const triggerElement = store.useState('triggerElement');\n const isItemEqualToValue = store.useState('isItemEqualToValue');\n const transitionStatus = store.useState('transitionStatus');\n const scrollUpArrowRef = React.useRef(null);\n const scrollDownArrowRef = React.useRef(null);\n const [controlledAlignItemWithTrigger, setControlledAlignItemWithTrigger] = React.useState(alignItemWithTrigger);\n const alignItemWithTriggerActive = mounted && controlledAlignItemWithTrigger && openMethod !== 'touch';\n if (!mounted && controlledAlignItemWithTrigger !== alignItemWithTrigger) {\n setControlledAlignItemWithTrigger(alignItemWithTrigger);\n }\n React.useImperativeHandle(store.context.alignItemWithTriggerActiveRef, () => alignItemWithTriggerActive);\n useAnchoredPopupScrollLock((alignItemWithTriggerActive || modal) && open, openMethod === 'touch', positionerElement, triggerElement);\n const positioning = useAnchorPositioning({\n anchor,\n floatingRootContext,\n positionMethod,\n mounted,\n side,\n sideOffset,\n align,\n alignOffset,\n arrowPadding,\n collisionBoundary,\n collisionPadding,\n sticky,\n disableAnchorTracking: disableAnchorTracking ?? alignItemWithTriggerActive,\n collisionAvoidance,\n keepMounted: true\n });\n const renderedSide = alignItemWithTriggerActive ? 'none' : positioning.side;\n const positionerStyles = alignItemWithTriggerActive ? FIXED : positioning.positionerStyles;\n const state = {\n open,\n side: renderedSide,\n align: positioning.align,\n anchorHidden: positioning.anchorHidden\n };\n useIsoLayoutEffect(() => {\n store.set('popupSide', positioning.side);\n }, [store, positioning.side]);\n const setPositionerElement = store.useStateSetter('positionerElement');\n const element = usePositioner(componentProps, state, {\n styles: positionerStyles,\n transitionStatus,\n props: elementProps,\n refs: [forwardedRef, setPositionerElement],\n hidden: !mounted,\n inert: !open\n });\n const prevMapSizeRef = React.useRef(0);\n const onMapChange = useStableCallback(map => {\n if (store.context.valuesRef.current.length === 0) {\n return;\n }\n const prevSize = prevMapSizeRef.current;\n prevMapSizeRef.current = map.size;\n const eventDetails = createChangeEventDetails(REASONS.none);\n if (prevSize !== 0 && !store.state.multiple && value !== null) {\n const selectedValueIndex = findItemIndex(store.context.valuesRef.current, value, isItemEqualToValue);\n if (selectedValueIndex === -1) {\n const initialSelectedValue = store.context.initialValueRef.current;\n const hasInitial = initialSelectedValue != null && findItemIndex(store.context.valuesRef.current, initialSelectedValue, isItemEqualToValue) !== -1;\n const nextValue = hasInitial ? initialSelectedValue : null;\n store.context.setValue(nextValue, eventDetails);\n if (nextValue === null) {\n store.set('selectedIndex', null);\n store.context.selectedItemTextRef.current = null;\n }\n }\n }\n if (prevSize !== 0 && store.state.multiple && Array.isArray(value)) {\n const nextValue = value.filter(selectedItemValue => findItemIndex(store.context.valuesRef.current, selectedItemValue, isItemEqualToValue) !== -1);\n if (nextValue.length !== value.length) {\n store.context.setValue(nextValue, eventDetails);\n if (nextValue.length === 0) {\n store.set('selectedIndex', null);\n store.context.selectedItemTextRef.current = null;\n }\n }\n }\n if (open && alignItemWithTriggerActive) {\n store.update({\n scrollUpArrowVisible: false,\n scrollDownArrowVisible: false\n });\n const stylesToClear = {\n height: ''\n };\n clearStyles(positionerElement, stylesToClear);\n clearStyles(store.context.popupRef.current, stylesToClear);\n }\n });\n const contextValue = React.useMemo(() => ({\n ...positioning,\n side: renderedSide,\n alignItemWithTriggerActive,\n setControlledAlignItemWithTrigger,\n scrollUpArrowRef,\n scrollDownArrowRef\n }), [positioning, renderedSide, alignItemWithTriggerActive, setControlledAlignItemWithTrigger]);\n return /*#__PURE__*/_jsx(CompositeList, {\n elementsRef: store.context.listRef,\n labelsRef: store.context.labelsRef,\n onMapChange: onMapChange,\n children: /*#__PURE__*/_jsxs(SelectPositionerContext.Provider, {\n value: contextValue,\n children: [mounted && modal && /*#__PURE__*/_jsx(InternalBackdrop, {\n inert: inertValue(!open),\n cutout: triggerElement\n }), element]\n })\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectPositioner.displayName = \"SelectPositioner\";","import { jsx as _jsx } from \"react/jsx-runtime\";\nconst DISABLE_SCROLLBAR_CLASS_NAME = 'base-ui-disable-scrollbar';\nexport const styleDisableScrollbar = {\n className: DISABLE_SCROLLBAR_CLASS_NAME,\n getElement(nonce) {\n return /*#__PURE__*/_jsx(\"style\", {\n nonce: nonce,\n href: DISABLE_SCROLLBAR_CLASS_NAME,\n precedence: \"base-ui:low\",\n children: `.${DISABLE_SCROLLBAR_CLASS_NAME}{scrollbar-width:none}.${DISABLE_SCROLLBAR_CLASS_NAME}::-webkit-scrollbar{display:none}`\n });\n }\n};\nif (process.env.NODE_ENV !== \"production\") styleDisableScrollbar.getElement.displayName = \"styleDisableScrollbar.getElement\";","'use client';\n\nimport * as React from 'react';\nexport const CSPContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") CSPContext.displayName = \"CSPContext\";\nconst DEFAULT_CSP_CONTEXT_VALUE = {\n disableStyleElements: false\n};\nexport function useCSPContext() {\n return React.useContext(CSPContext) ?? DEFAULT_CSP_CONTEXT_VALUE;\n}","/**\n * The available width between the trigger and the edge of the viewport.\n * @type {number}\n */\nexport const availableWidth = '--available-width';\n/**\n * The available height between the trigger and the edge of the viewport.\n * @type {number}\n */\nexport const availableHeight = '--available-height';\n/**\n * The anchor's width.\n * @type {number}\n */\nexport const anchorWidth = '--anchor-width';\n/**\n * The anchor's height.\n * @type {number}\n */\nexport const anchorHeight = '--anchor-height';\n/**\n * The coordinates that this element is anchored to. Used for animations and transitions.\n * @type {string}\n */\nexport const transformOrigin = '--transform-origin';","'use client';\n\nimport * as React from 'react';\nimport { rectToClientRect } from '@floating-ui/utils';\nimport { addEventListener } from '@base-ui/utils/addEventListener';\nimport { platform } from '@base-ui/utils/platform';\nimport { useStableCallback } from '@base-ui/utils/useStableCallback';\nimport { ownerDocument, ownerWindow } from '@base-ui/utils/owner';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useAnimationFrame } from '@base-ui/utils/useAnimationFrame';\nimport { clamp } from '@base-ui/utils/clamp';\nimport { FloatingFocusManager, platform as floatingPlatform } from \"../../floating-ui-react/index.mjs\";\nimport { useSelectFloatingContext, useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { popupStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { useSelectPositionerContext } from \"../positioner/SelectPositionerContext.mjs\";\nimport { styleDisableScrollbar } from \"../../utils/styles.mjs\";\nimport { transitionStatusMapping } from \"../../internals/stateAttributesMapping.mjs\";\nimport { useOpenChangeComplete } from \"../../internals/useOpenChangeComplete.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { clearStyles, LIST_FUNCTIONAL_STYLES } from \"./utils.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useToolbarRootContext } from \"../../toolbar/root/ToolbarRootContext.mjs\";\nimport { COMPOSITE_KEYS } from \"../../internals/composite/composite.mjs\";\nimport { getDisabledMountTransitionStyles } from \"../../internals/getDisabledMountTransitionStyles.mjs\";\nimport { getMaxScrollOffset, SCROLL_EDGE_TOLERANCE_PX } from \"../../utils/scrollEdges.mjs\";\nimport { useCSPContext } from \"../../internals/csp-context/CSPContext.mjs\";\nimport { useDirection } from \"../../internals/direction-context/DirectionContext.mjs\";\nimport * as SelectPositionerCssVars from \"../positioner/SelectPositionerCssVars.mjs\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst stateAttributesMapping = {\n ...popupStateMapping,\n ...transitionStatusMapping\n};\n\n/**\n * A container for the select list.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectPopup = /*#__PURE__*/React.forwardRef(function SelectPopup(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n finalFocus,\n ...elementProps\n } = componentProps;\n const store = useSelectRootContext();\n const multiple = store.useState('multiple');\n const readOnly = store.useState('readOnly');\n const highlightItemOnHover = store.useState('highlightItemOnHover');\n const floatingRootContext = useSelectFloatingContext();\n const {\n side,\n align,\n alignItemWithTriggerActive,\n isPositioned,\n setControlledAlignItemWithTrigger\n } = useSelectPositionerContext();\n const insideToolbar = useToolbarRootContext(true) != null;\n const direction = useDirection();\n const {\n nonce,\n disableStyleElements\n } = useCSPContext();\n const id = store.useState('id');\n const open = store.useState('open');\n const openMethod = store.useState('openMethod');\n const mounted = store.useState('mounted');\n const popupProps = store.useState('popupProps');\n const transitionStatus = store.useState('transitionStatus');\n const triggerElement = store.useState('triggerElement');\n const positionerElement = store.useState('positionerElement');\n const listElement = store.useState('listElement');\n const reachedMaxHeightRef = React.useRef(false);\n const initialPlacedRef = React.useRef(false);\n const originalPositionerStylesRef = React.useRef({});\n const scrollArrowFrame = useAnimationFrame();\n const handleScroll = useStableCallback(scroller => {\n if (!positionerElement || !store.context.popupRef.current || !initialPlacedRef.current) {\n return;\n }\n const isTopPositioned = positionerElement.style.top === '0px';\n const isBottomPositioned = positionerElement.style.bottom === '0px';\n if (reachedMaxHeightRef.current || !alignItemWithTriggerActive || !isTopPositioned && !isBottomPositioned) {\n store.context.handleScrollArrowVisibility(scroller);\n return;\n }\n const scale = getScale(positionerElement);\n const currentHeight = normalizeSize(positionerElement.getBoundingClientRect().height, 'y', scale);\n const doc = ownerDocument(positionerElement);\n const win = ownerWindow(positionerElement);\n const positionerStyles = win.getComputedStyle(positionerElement);\n const marginTop = parseFloat(positionerStyles.marginTop);\n const marginBottom = parseFloat(positionerStyles.marginBottom);\n const maxPopupHeight = getMaxPopupHeight(win.getComputedStyle(store.context.popupRef.current));\n const maxAvailableHeight = Math.min(doc.documentElement.clientHeight - marginTop - marginBottom, maxPopupHeight);\n const scrollTop = scroller.scrollTop;\n const maxScrollTop = getMaxScrollTop(scroller);\n\n // `Infinity` requests a scroll to the recomputed maximum offset.\n let nextScrollTop = null;\n const setHeight = height => {\n positionerElement.style.height = `${height}px`;\n };\n const diff = isTopPositioned ? maxScrollTop - scrollTop : scrollTop;\n const nextHeight = Math.min(currentHeight + diff, maxAvailableHeight);\n if (diff <= SCROLL_EDGE_TOLERANCE_PX) {\n const heightDelta = clamp(diff, 0, maxAvailableHeight - currentHeight);\n if (heightDelta > 0) {\n // Consume the remaining scroll in height.\n setHeight(currentHeight + heightDelta);\n }\n scroller.scrollTop = isTopPositioned ? maxScrollTop : 0;\n if (maxAvailableHeight - (currentHeight + heightDelta) <= SCROLL_EDGE_TOLERANCE_PX) {\n reachedMaxHeightRef.current = true;\n }\n store.context.handleScrollArrowVisibility(scroller);\n return;\n }\n if (maxAvailableHeight - nextHeight > SCROLL_EDGE_TOLERANCE_PX) {\n nextScrollTop = isTopPositioned ? Infinity : 0;\n } else if (isBottomPositioned && scrollTop < maxScrollTop) {\n const overshoot = currentHeight + diff - maxAvailableHeight;\n nextScrollTop = scrollTop - (diff - overshoot);\n }\n const nextPositionerHeight = Math.ceil(nextHeight);\n if (nextPositionerHeight !== 0) {\n setHeight(nextPositionerHeight);\n }\n if (nextScrollTop != null) {\n // Recompute bounds after resizing (clientHeight likely changed).\n const target = clamp(nextScrollTop, 0, getMaxScrollTop(scroller));\n\n // Avoid adjustments that re-trigger scroll events forever.\n if (Math.abs(scroller.scrollTop - target) > SCROLL_EDGE_TOLERANCE_PX) {\n scroller.scrollTop = target;\n }\n }\n if (nextPositionerHeight >= maxAvailableHeight - SCROLL_EDGE_TOLERANCE_PX) {\n reachedMaxHeightRef.current = true;\n }\n store.context.handleScrollArrowVisibility(scroller);\n });\n React.useImperativeHandle(store.context.scrollHandlerRef, () => handleScroll, [handleScroll]);\n useOpenChangeComplete({\n open,\n ref: store.context.popupRef,\n onComplete() {\n if (open) {\n store.context.onOpenChangeComplete(true);\n }\n }\n });\n const state = {\n open,\n transitionStatus,\n side,\n align\n };\n useIsoLayoutEffect(() => {\n if (!positionerElement || !store.context.popupRef.current || Object.keys(originalPositionerStylesRef.current).length) {\n return;\n }\n originalPositionerStylesRef.current = {\n top: positionerElement.style.top || '0',\n left: positionerElement.style.left || '0',\n right: positionerElement.style.right,\n height: positionerElement.style.height,\n bottom: positionerElement.style.bottom,\n minHeight: positionerElement.style.minHeight,\n maxHeight: positionerElement.style.maxHeight,\n marginTop: positionerElement.style.marginTop,\n marginBottom: positionerElement.style.marginBottom\n };\n }, [store, positionerElement]);\n useIsoLayoutEffect(() => {\n if (open || alignItemWithTriggerActive) {\n return;\n }\n initialPlacedRef.current = false;\n reachedMaxHeightRef.current = false;\n clearStyles(positionerElement, originalPositionerStylesRef.current);\n }, [open, alignItemWithTriggerActive, positionerElement]);\n useIsoLayoutEffect(() => {\n const popupElement = store.context.popupRef.current;\n\n // Wait for Floating UI's first positioning pass before reading DOM geometry.\n // We replace the final coordinates for aligned selects, but still need middleware\n // like `size()` to set CSS variables such as `--anchor-width`.\n if (!open || !triggerElement || !positionerElement || !popupElement || alignItemWithTriggerActive && !isPositioned || store.state.transitionStatus === 'ending') {\n return;\n }\n initialPlacedRef.current = true;\n popupElement.style.removeProperty(SelectPositionerCssVars.transformOrigin);\n if (!alignItemWithTriggerActive) {\n // The wrapper supplies the scroller: the list owns scrolling once it has mounted, and\n // this effect re-runs (cancelling the stale frame) when that happens.\n scrollArrowFrame.request(() => store.context.handleScrollArrowVisibility(listElement || popupElement));\n return;\n }\n\n // Ensure we remove any transforms that can affect the location of the popup\n // and therefore the calculations.\n const restoreTransformStyles = unsetTransformStyles(popupElement);\n try {\n let textElement = store.context.selectedItemTextRef.current;\n if (!textElement?.isConnected) {\n const hasSelectedValue = store.select('hasSelectedValue');\n textElement = !hasSelectedValue && store.context.firstItemTextRef.current?.isConnected ? store.context.firstItemTextRef.current : null;\n }\n const valueElement = store.context.valueRef.current;\n const win = ownerWindow(positionerElement);\n const positionerStyles = win.getComputedStyle(positionerElement);\n const popupStyles = win.getComputedStyle(popupElement);\n const doc = ownerDocument(triggerElement);\n const scale = getScale(triggerElement);\n const triggerRect = normalizeRect(triggerElement.getBoundingClientRect(), scale);\n const positionerRect = normalizeRect(positionerElement.getBoundingClientRect(), scale);\n const triggerHeight = triggerRect.height;\n const scroller = listElement || popupElement;\n const scrollHeight = scroller.scrollHeight;\n const borderBottom = parseFloat(popupStyles.borderBottomWidth);\n // The `|| N` fallbacks cover an unset/`auto` value (parses to `NaN`). Note a literal `0`\n // also resolves to the fallback, so an explicit `margin: 0` or `min-height: 0` still takes\n // the default below.\n const marginTop = parseFloat(positionerStyles.marginTop) || 10;\n const marginBottom = parseFloat(positionerStyles.marginBottom) || 10;\n const minHeight = parseFloat(positionerStyles.minHeight) || 100;\n const maxPopupHeight = getMaxPopupHeight(popupStyles);\n const paddingLeft = 5;\n const paddingRight = 5;\n const triggerCollisionThreshold = 20;\n const viewportHeight = doc.documentElement.clientHeight - marginTop - marginBottom;\n const viewportWidth = doc.documentElement.clientWidth;\n const availableSpaceBeneathTrigger = viewportHeight - triggerRect.bottom + triggerHeight;\n let textRect;\n let alignedLeft = direction === 'rtl' ? triggerRect.right - positionerRect.width : triggerRect.left;\n let offsetY = 0;\n if (textElement && valueElement) {\n const valueRect = normalizeRect(valueElement.getBoundingClientRect(), scale);\n textRect = normalizeRect(textElement.getBoundingClientRect(), scale);\n alignedLeft = positionerRect.left + (direction === 'rtl' ? valueRect.right - textRect.right : valueRect.left - textRect.left);\n const valueCenterFromTriggerTop = valueRect.top - triggerRect.top + valueRect.height / 2;\n const textCenterFromPositionerTop = textRect.top - positionerRect.top + textRect.height / 2;\n offsetY = textCenterFromPositionerTop - valueCenterFromTriggerTop;\n }\n const idealHeight = availableSpaceBeneathTrigger + offsetY + marginBottom + borderBottom;\n let height = Math.min(viewportHeight, idealHeight);\n const maxHeight = viewportHeight - marginTop - marginBottom;\n const scrollTop = idealHeight - height;\n const maxRight = viewportWidth - paddingRight;\n positionerElement.style.left = `${clamp(alignedLeft, paddingLeft, maxRight - positionerRect.width)}px`;\n positionerElement.style.height = `${height}px`;\n // `none` (not the invalid `auto`) so the explicit height governs in align mode and isn't\n // clamped by a `max-height` from user CSS.\n positionerElement.style.maxHeight = 'none';\n positionerElement.style.marginTop = `${marginTop}px`;\n positionerElement.style.marginBottom = `${marginBottom}px`;\n popupElement.style.height = '100%';\n const maxScrollTop = getMaxScrollTop(scroller);\n const isTopPositioned = scrollTop >= maxScrollTop - SCROLL_EDGE_TOLERANCE_PX;\n if (isTopPositioned) {\n height = Math.min(viewportHeight, positionerRect.height) - (scrollTop - maxScrollTop);\n }\n\n // When the trigger is too close to the top or bottom of the viewport, or the minHeight is\n // reached, we fallback to aligning the popup to the trigger as the UX is poor otherwise.\n const fallbackToAlignPopupToTrigger = triggerRect.top < triggerCollisionThreshold || triggerRect.bottom > viewportHeight - triggerCollisionThreshold || Math.ceil(height) + SCROLL_EDGE_TOLERANCE_PX < Math.min(scrollHeight, minHeight);\n\n // Safari doesn't position the popup correctly when pinch-zoomed.\n const isPinchZoomed = (win.visualViewport?.scale ?? 1) !== 1 && platform.engine.webkit;\n if (fallbackToAlignPopupToTrigger || isPinchZoomed) {\n clearStyles(positionerElement, originalPositionerStylesRef.current);\n setControlledAlignItemWithTrigger(false);\n return;\n }\n const initialHeight = Math.max(minHeight, height);\n if (isTopPositioned) {\n const topOffset = Math.max(0, viewportHeight - idealHeight);\n positionerElement.style.top = positionerRect.height >= maxHeight ? '0' : `${topOffset}px`;\n positionerElement.style.height = `${height}px`;\n scroller.scrollTop = getMaxScrollTop(scroller);\n } else {\n positionerElement.style.bottom = '0';\n scroller.scrollTop = scrollTop;\n }\n if (textRect) {\n const popupTop = positionerRect.top;\n const popupHeight = positionerRect.height;\n const textCenterY = textRect.top + textRect.height / 2;\n const clampedY = clamp(popupHeight > 0 ? (textCenterY - popupTop) / popupHeight * 100 : 50, 0, 100);\n popupElement.style.setProperty(SelectPositionerCssVars.transformOrigin, `50% ${clampedY}%`);\n }\n if (initialHeight === viewportHeight || height >= maxPopupHeight) {\n reachedMaxHeightRef.current = true;\n }\n store.context.handleScrollArrowVisibility(scroller);\n if (highlightItemOnHover && store.state.selectedIndex === null && store.state.activeIndex === null && store.context.listRef.current[0] != null) {\n store.set('activeIndex', 0);\n }\n } finally {\n restoreTransformStyles();\n }\n }, [store, open, positionerElement, triggerElement, alignItemWithTriggerActive, setControlledAlignItemWithTrigger, scrollArrowFrame, listElement, highlightItemOnHover, direction, isPositioned]);\n React.useEffect(() => {\n if (!alignItemWithTriggerActive || !positionerElement || !open) {\n return undefined;\n }\n const win = ownerWindow(positionerElement);\n function handleResize(event) {\n store.context.setOpen(false, createChangeEventDetails(REASONS.windowResize, event));\n }\n return addEventListener(win, 'resize', handleResize);\n }, [store, alignItemWithTriggerActive, positionerElement, open]);\n const defaultProps = {\n ...(listElement ? {\n role: 'presentation'\n } : {\n role: 'listbox',\n 'aria-multiselectable': multiple || undefined,\n 'aria-readonly': readOnly || undefined,\n id: `${id}-list`\n }),\n onKeyDown(event) {\n if (insideToolbar && COMPOSITE_KEYS.has(event.key)) {\n event.stopPropagation();\n }\n },\n onScroll(event) {\n if (listElement) {\n return;\n }\n handleScroll(event.currentTarget);\n },\n ...(alignItemWithTriggerActive && {\n style: listElement ? {\n height: '100%'\n } : LIST_FUNCTIONAL_STYLES\n }),\n className: !listElement && alignItemWithTriggerActive ? styleDisableScrollbar.className : undefined\n };\n const element = useRenderElement('div', componentProps, {\n ref: [forwardedRef, store.context.popupRef],\n state,\n stateAttributesMapping,\n props: [popupProps, defaultProps, getDisabledMountTransitionStyles(transitionStatus), elementProps]\n });\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [!disableStyleElements && styleDisableScrollbar.getElement(nonce), /*#__PURE__*/_jsx(FloatingFocusManager, {\n context: floatingRootContext,\n modal: false,\n disabled: !mounted,\n openInteractionType: openMethod,\n returnFocus: finalFocus,\n restoreFocus: true,\n children: element\n })]\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectPopup.displayName = \"SelectPopup\";\nfunction getMaxPopupHeight(popupStyles) {\n const maxHeightStyle = popupStyles.maxHeight;\n return maxHeightStyle.endsWith('px') ? parseFloat(maxHeightStyle) || Infinity : Infinity;\n}\nfunction getMaxScrollTop(scroller) {\n return getMaxScrollOffset(scroller.scrollHeight, scroller.clientHeight);\n}\nfunction getScale(element) {\n // The platform API is async-capable, but the DOM platform returns a plain scale object.\n return floatingPlatform.getScale(element);\n}\nfunction normalizeSize(size, axis, scale) {\n return size / scale[axis];\n}\nfunction normalizeRect(rect, scale) {\n return rectToClientRect({\n x: normalizeSize(rect.x, 'x', scale),\n y: normalizeSize(rect.y, 'y', scale),\n width: normalizeSize(rect.width, 'x', scale),\n height: normalizeSize(rect.height, 'y', scale)\n });\n}\nconst TRANSFORM_STYLE_RESETS = [['transform', 'none'], ['scale', '1'], ['translate', '0 0']];\nfunction unsetTransformStyles(popupElement) {\n const {\n style\n } = popupElement;\n const originalStyles = {};\n for (const [property, value] of TRANSFORM_STYLE_RESETS) {\n originalStyles[property] = style.getPropertyValue(property);\n style.setProperty(property, value, 'important');\n }\n return () => {\n for (const [property] of TRANSFORM_STYLE_RESETS) {\n const originalValue = originalStyles[property];\n if (originalValue) {\n style.setProperty(property, originalValue);\n } else {\n style.removeProperty(property);\n }\n }\n };\n}","'use client';\n\nimport * as React from 'react';\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { useSelectPositionerContext } from \"../positioner/SelectPositionerContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { styleDisableScrollbar } from \"../../utils/styles.mjs\";\nimport { LIST_FUNCTIONAL_STYLES } from \"../popup/utils.mjs\";\n\n/**\n * A container for the select items.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectList = /*#__PURE__*/React.forwardRef(function SelectList(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = useSelectRootContext();\n const multiple = store.useState('multiple');\n const readOnly = store.useState('readOnly');\n const {\n alignItemWithTriggerActive\n } = useSelectPositionerContext();\n const hasScrollArrows = store.useState('hasScrollArrows');\n const openMethod = store.useState('openMethod');\n const id = store.useState('id');\n const defaultProps = {\n id: `${id}-list`,\n role: 'listbox',\n 'aria-multiselectable': multiple || undefined,\n 'aria-readonly': readOnly || undefined,\n onScroll(event) {\n store.context.scrollHandlerRef.current?.(event.currentTarget);\n },\n ...(alignItemWithTriggerActive && {\n style: LIST_FUNCTIONAL_STYLES\n }),\n className: hasScrollArrows && openMethod !== 'touch' ? styleDisableScrollbar.className : undefined\n };\n const setListElement = store.useStateSetter('listElement');\n return useRenderElement('div', componentProps, {\n ref: [forwardedRef, setListElement],\n props: [defaultProps, elementProps]\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectList.displayName = \"SelectList\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectItemContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectItemContext.displayName = \"SelectItemContext\";\nexport function useSelectItemContext() {\n const context = React.useContext(SelectItemContext);\n if (!context) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectItemContext is missing. SelectItem parts must be placed within <Select.Item>.' : _formatErrorMessage(57));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { useCompositeListItem } from \"../../internals/composite/list/useCompositeListItem.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { SelectItemContext } from \"./SelectItemContext.mjs\";\nimport { useButton } from \"../../internals/use-button/index.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { compareItemEquality, removeItem, resolveSelectedIndex } from \"../../internals/itemEquality.mjs\";\nimport { isVirtualClick } from \"../../floating-ui-react/utils/event.mjs\";\n\n/**\n * An individual option in the select popup.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const SelectItem = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function SelectItem(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n value: itemValue = null,\n label,\n disabled: disabledProp = false,\n nativeButton = false,\n ...elementProps\n } = componentProps;\n const textRef = React.useRef(null);\n const listItem = useCompositeListItem({\n guess: true,\n label,\n textRef\n });\n const store = useSelectRootContext();\n const {\n props: itemProps,\n multiple,\n disabled: selectDisabled,\n readOnly,\n isItemEqualToValue\n } = store.useState('itemRoot');\n const disabled = selectDisabled || disabledProp;\n const highlighted = store.useState('isActive', listItem.index);\n const open = store.useState('open');\n const selected = store.useState('isSelected', itemValue);\n const selectedByFocus = store.useState('isSelectedByFocus', listItem.index);\n const index = listItem.index;\n const itemRef = React.useRef(null);\n useIsoLayoutEffect(() => {\n const values = store.context.valuesRef.current;\n values[index] = itemValue;\n return () => {\n delete values[index];\n };\n }, [index, itemValue, store]);\n useIsoLayoutEffect(() => {\n const selectedValue = store.state.value;\n const currentIndex = store.state.selectedIndex;\n let nextIndex = currentIndex;\n let claims;\n if (multiple && Array.isArray(selectedValue)) {\n // The claiming item also owns the text ref that aligns the popup.\n nextIndex = resolveSelectedIndex(index, itemValue, store.context.valuesRef.current, selectedValue, isItemEqualToValue, currentIndex);\n claims = nextIndex === index;\n if (index === currentIndex && !claims) {\n store.context.selectedItemTextRef.current = null;\n }\n } else {\n claims = selectedValue !== undefined && compareItemEquality(itemValue, selectedValue, isItemEqualToValue);\n if (claims) {\n nextIndex = index;\n }\n }\n store.set('selectedIndex', nextIndex);\n\n // Make sure SelectPopup can measure the selected item on first open.\n // SelectItemText can still update this ref later when focus moves.\n if (claims && textRef.current) {\n store.context.selectedItemTextRef.current = textRef.current;\n }\n }, [index, multiple, isItemEqualToValue, store, itemValue]);\n const pointerTypeRef = React.useRef('mouse');\n const allowMouseSelectionRef = React.useRef(false);\n const {\n getButtonProps,\n buttonRef\n } = useButton({\n disabled,\n focusableWhenDisabled: true,\n native: nativeButton,\n composite: true\n });\n const state = {\n disabled,\n selected,\n highlighted\n };\n function commitSelection(event) {\n // A forced-open select (`open`/`defaultOpen`) can still receive item activations even\n // when the root is disabled or read-only, so guard the commit here too.\n if (selectDisabled || readOnly) {\n return;\n }\n const selectedValue = store.state.value;\n if (multiple) {\n const currentValue = Array.isArray(selectedValue) ? selectedValue : [];\n const nextValue = selected ? removeItem(currentValue, itemValue, isItemEqualToValue) : [...currentValue, itemValue];\n store.context.setValue(nextValue, createChangeEventDetails(REASONS.itemPress, event));\n } else {\n store.context.setValue(itemValue, createChangeEventDetails(REASONS.itemPress, event));\n store.context.setOpen(false, createChangeEventDetails(REASONS.itemPress, event));\n }\n }\n function resetDragMovement() {\n store.context.selectionRef.current.dragY = 0;\n }\n const defaultProps = {\n role: 'option',\n 'aria-selected': selected,\n tabIndex: open && highlighted ? 0 : -1,\n onKeyDown(event) {\n store.set('activeIndex', index);\n if (event.key === ' ' && store.context.typingRef.current) {\n // `useButton` skips Space activation for `role=\"option\"` items when the keydown\n // is `defaultPrevented`, keeping typeahead spaces from committing a selection.\n event.preventDefault();\n }\n },\n onClick(event) {\n const isMouseClick = pointerTypeRef.current !== 'touch';\n const clickPointerType = event.nativeEvent.pointerType;\n const isVirtualMouseClick = isMouseClick && isVirtualClick(event.nativeEvent) && (\n // Generic no-pointer `detail === 0` clicks stay tied to highlight state. Virtual\n // clicks that carry browser pointer data, including an empty string from assistive\n // technology, can activate unhighlighted items.\n clickPointerType !== undefined || highlighted);\n // With alignItemWithTrigger, opening can place an item under the cursor. Real mouse\n // clicks must start on the item, while virtual clicks represent explicit keyboard or\n // assistive technology activation.\n const isInvalidMouseClick = isMouseClick && !isVirtualMouseClick && !allowMouseSelectionRef.current;\n allowMouseSelectionRef.current = false;\n if (disabled || isInvalidMouseClick) {\n return;\n }\n commitSelection(event.nativeEvent);\n },\n onPointerEnter(event) {\n pointerTypeRef.current = event.pointerType;\n },\n onPointerMove(event) {\n if (event.pointerType === 'mouse' && event.buttons === 1) {\n const selection = store.context.selectionRef.current;\n selection.dragY += event.movementY;\n if (selection.dragY ** 2 >= 64) {\n selection.allowUnselectedMouseUp = true;\n }\n }\n },\n onPointerDown(event) {\n pointerTypeRef.current = event.pointerType;\n allowMouseSelectionRef.current = true;\n resetDragMovement();\n },\n onMouseUp() {\n resetDragMovement();\n if (disabled || pointerTypeRef.current === 'touch') {\n return;\n }\n\n // Regular clicks are committed by the click event.\n if (allowMouseSelectionRef.current) {\n return;\n }\n const disallowSelectedMouseUp = !store.context.selectionRef.current.allowSelectedMouseUp && selected;\n const disallowUnselectedMouseUp = !store.context.selectionRef.current.allowUnselectedMouseUp && !selected;\n if (disallowSelectedMouseUp || disallowUnselectedMouseUp) {\n return;\n }\n allowMouseSelectionRef.current = true;\n itemRef.current?.click();\n allowMouseSelectionRef.current = false;\n }\n };\n const element = useRenderElement('div', componentProps, {\n ref: [buttonRef, forwardedRef, listItem.ref, itemRef],\n state,\n props: [itemProps, defaultProps, elementProps, getButtonProps]\n });\n const contextValue = React.useMemo(() => ({\n selected,\n index,\n textRef,\n selectedByFocus\n }), [selected, index, textRef, selectedByFocus]);\n return /*#__PURE__*/_jsx(SelectItemContext.Provider, {\n value: contextValue,\n children: element\n });\n}));\nif (process.env.NODE_ENV !== \"production\") SelectItem.displayName = \"SelectItem\";","'use client';\n\nimport * as React from 'react';\nimport { useSelectItemContext } from \"../item/SelectItemContext.mjs\";\nimport { ItemIndicator } from \"../../utils/ItemIndicator.mjs\";\n\n/**\n * Indicates whether the select item is selected.\n * Renders a `<span>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const SelectItemIndicator = /*#__PURE__*/React.forwardRef(function SelectItemIndicator(componentProps, forwardedRef) {\n const {\n selected\n } = useSelectItemContext();\n const shouldRender = componentProps.keepMounted || selected;\n if (!shouldRender) {\n return null;\n }\n return /*#__PURE__*/_jsx(ItemIndicator, {\n ...componentProps,\n selected: selected,\n ref: forwardedRef\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectItemIndicator.displayName = \"SelectItemIndicator\";","'use client';\n\nimport * as React from 'react';\nimport { useSelectRootContext } from \"../root/SelectRootContext.mjs\";\nimport { useSelectItemContext } from \"../item/SelectItemContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * A text label of the select item.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectItemText = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(function SelectItemText(componentProps, forwardedRef) {\n const {\n index,\n textRef,\n selectedByFocus\n } = useSelectItemContext();\n const store = useSelectRootContext();\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const localRef = React.useCallback(node => {\n if (!node) {\n return;\n }\n if (index === 0) {\n store.context.firstItemTextRef.current = node;\n }\n if (selectedByFocus) {\n store.context.selectedItemTextRef.current = node;\n }\n }, [store, index, selectedByFocus]);\n const element = useRenderElement('div', componentProps, {\n ref: [localRef, forwardedRef, textRef],\n props: elementProps\n });\n return element;\n}));\nif (process.env.NODE_ENV !== \"production\") SelectItemText.displayName = \"SelectItemText\";","'use client';\n\nimport _formatErrorMessage from \"@base-ui/utils/formatErrorMessage\";\nimport * as React from 'react';\nexport const SelectGroupContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== \"production\") SelectGroupContext.displayName = \"SelectGroupContext\";\nexport function useSelectGroupContext() {\n const context = React.useContext(SelectGroupContext);\n if (context === undefined) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? 'Base UI: SelectGroupContext is missing. SelectGroup parts must be placed within <Select.Group>.' : _formatErrorMessage(56));\n }\n return context;\n}","'use client';\n\nimport * as React from 'react';\nimport { SelectGroupContext } from \"./SelectGroupContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * Groups related select items with the corresponding label.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const SelectGroup = /*#__PURE__*/React.forwardRef(function SelectGroup(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const [labelId, setLabelId] = React.useState();\n const contextValue = React.useMemo(() => ({\n labelId,\n setLabelId\n }), [labelId, setLabelId]);\n const element = useRenderElement('div', componentProps, {\n ref: forwardedRef,\n props: [{\n role: 'group',\n 'aria-labelledby': labelId\n }, elementProps]\n });\n return /*#__PURE__*/_jsx(SelectGroupContext.Provider, {\n value: contextValue,\n children: element\n });\n});\nif (process.env.NODE_ENV !== \"production\") SelectGroup.displayName = \"SelectGroup\";","'use client';\n\nimport * as React from 'react';\nimport { useIsoLayoutEffect } from '@base-ui/utils/useIsoLayoutEffect';\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useSelectGroupContext } from \"../group/SelectGroupContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * An accessible label that is automatically associated with its parent group.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectGroupLabel = /*#__PURE__*/React.forwardRef(function SelectGroupLabel(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n id: idProp,\n ...elementProps\n } = componentProps;\n const {\n setLabelId\n } = useSelectGroupContext();\n const id = useBaseUiId(idProp);\n useIsoLayoutEffect(() => {\n setLabelId(id);\n return () => {\n setLabelId(currentId => currentId === id ? undefined : currentId);\n };\n }, [id, setLabelId]);\n const element = useRenderElement('div', componentProps, {\n ref: forwardedRef,\n props: [{\n id,\n 'aria-hidden': true\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") SelectGroupLabel.displayName = \"SelectGroupLabel\";","'use client';\n\nimport { ListboxSeparator } from \"../../utils/listbox-separator/ListboxSeparator.mjs\";\n/**\n * A visual separator between items or groups.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Select](https://base-ui.com/react/components/select)\n */\nexport const SelectSeparator = ListboxSeparator;","\nimport { Props as __zyzzProps } from 'zyzz/runtime';\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport * as BaseUi from '@base-ui/react/select';\nimport { Check } from '../icons/Check.js';\nimport { ChevronDown } from '../icons/ChevronDown.js';\nimport { style } from '../zyzz.config.js';\nimport * as InputGroup from './internal/InputGroup.js';\nimport * as Listbox from './internal/Listbox.js';\n/**\n * A button trigger with `role=\"combobox\"` that opens a listbox of options in a portal. Base UI\n * handles arrow-key navigation, typeahead and Escape to close.\n *\n * - Use it to choose one value from a short list. Prefer `ChoiceGroup` when options fit on screen.\n * - Give the trigger a visible label through `Field.Root`, or an `aria-label` when none fits.\n * - Give `Select.Value` a `placeholder` that describes the choice, such as \"Select an asset\".\n * - Pass `items` to `Select.Root` so `Select.Value` shows labels rather than raw values.\n *\n * @example\n * <Select.Root>\n * <Select.Trigger aria-label=\"Asset\">\n * <Select.Value placeholder=\"Select an asset\" />\n * <Select.Icon />\n * </Select.Trigger>\n * <Select.Popup>\n * <Select.Item value=\"usd\">\n * <Select.ItemText>USD</Select.ItemText>\n * </Select.Item>\n * </Select.Popup>\n * </Select.Root>\n *\n * @see {@link https://base-ui.com/react/components/select | Base UI Select}\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/listbox/ | WAI-ARIA APG Listbox pattern}\n * @see {@link https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/ | WAI-ARIA APG Select-Only Combobox example}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html | WCAG 2.2 Name, Role, Value}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html | WCAG 2.2 Keyboard}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/labels-or-instructions.html | WCAG 2.2 Labels or Instructions}\n */\nexport var Select;\n(function (Select) {\n /** Groups related items. Name the group with a `Select.GroupLabel` inside it. */\n function Group(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.Group, { ...attributes, ...Listbox.styles.group({ className, style: props.style, vars }) }));\n }\n Select.Group = Group;\n function GroupLabel(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.GroupLabel, { ...attributes, ...Listbox.styles.groupLabel({ className, style: props.style, vars }) }));\n }\n Select.GroupLabel = GroupLabel;\n /** A decorative chevron that rotates while the popup is open. Pass children to replace it. */\n function Icon(props) {\n const { children = _jsx(ChevronDown, {}), className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.Icon, { ...attributes, ...styles.icon({ className, style: props.style, vars }), children: children }));\n }\n Select.Icon = Icon;\n /** An option row with a trailing check that shows while it is selected. */\n function Item(props) {\n const { children, className, vars, ...attributes } = props;\n return (_jsxs(BaseUi.Select.Item, { ...attributes, ...Listbox.styles.item({ className, style: props.style, vars }), children: [children, _jsx(BaseUi.Select.ItemIndicator, { keepMounted: true, ...Listbox.styles.indicator(), children: _jsx(Check, {}) })] }));\n }\n Select.Item = Item;\n /** Leading content in an item, such as an icon or avatar. */\n function ItemPrefix(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(\"span\", { ...attributes, ...Listbox.styles.prefix({ className, style: props.style, vars }) }));\n }\n Select.ItemPrefix = ItemPrefix;\n /** Trailing content in an item, such as a balance, placed before the check. */\n function ItemSuffix(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(\"span\", { ...attributes, ...Listbox.styles.suffix({ className, style: props.style, vars }) }));\n }\n Select.ItemSuffix = ItemSuffix;\n /** The item's label text, which truncates with an ellipsis beside a prefix or suffix. */\n function ItemText(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.ItemText, { ...attributes, ...Listbox.styles.text({ className, style: props.style, vars }) }));\n }\n Select.ItemText = ItemText;\n /**\n * Renders the portal, positioner, popup and list. Placement props go to the positioner, which\n * sets `sideOffset={8}` and `alignItemWithTrigger={false}` unless you pass them, so the list\n * opens below the trigger. `container` sets the portal target. Other props reach the popup.\n */\n function Popup(props) {\n const { align, alignItemWithTrigger = false, children, className, collisionPadding, container, side, sideOffset = 8, size, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.Portal, { container: container, children: _jsx(BaseUi.Select.Positioner, { ...Listbox.styles.positioner(), align: align, alignItemWithTrigger: alignItemWithTrigger, collisionPadding: collisionPadding, side: side, sideOffset: sideOffset, children: _jsx(BaseUi.Select.Popup, { ...attributes, ...Listbox.styles.popup({ className, size, style: props.style, vars }), children: _jsx(BaseUi.Select.List, { ...Listbox.styles.list(), children: children }) }) }) }));\n }\n Select.Popup = Popup;\n /**\n * Owns the selected value and open state. Pass `value` and `onValueChange` to control it, and\n * `multiple` to allow several values.\n */\n function Root(props) {\n return _jsx(BaseUi.Select.Root, { ...props });\n }\n Select.Root = Root;\n function Separator(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.Separator, { ...attributes, ...Listbox.styles.separator({ className, style: props.style, vars }) }));\n }\n Select.Separator = Separator;\n /** Matches `Input.Group` in size, fill, radius and invalid treatment. */\n function Trigger(props) {\n const { className, invalid, size, variant, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.Trigger, { ...attributes, ...InputGroup.styles.group({\n className,\n size,\n style: props.style,\n variant,\n vars,\n }), \"aria-invalid\": invalid || attributes['aria-invalid'], \"data-invalid\": invalid || undefined }));\n }\n Select.Trigger = Trigger;\n /**\n * Shows the selected item's label from `items` on `Select.Root`, falling back to the raw value,\n * or `placeholder` while nothing is selected. Pass a function child to format the value.\n */\n function Value(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Select.Value, { ...attributes, ...styles.value({ className, style: props.style, vars }) }));\n }\n Select.Value = Value;\n})(Select || (Select = {}));\nvar styles;\n(function (styles) {\n styles.icon = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-6Xu2OV0 z_tds_2f_web-6Xu2OV1 z_tds_2f_web-6Xu2OV2 z_tds_2f_web-6Xu2OV3 z_tds_2f_web-6Xu2OV4 z_tds_2f_web-6Xu2OV5 z_tds_2f_web-6Xu2OV6 z_tds_2f_web-6Xu2OV7 z_tds_2f_web-6Xu2OV8 z_tds_2f_web-6Xu2OV9 z_tds_2f_web-6Xu2OVa z_tds_2f_web-6Xu2OVb\"});\n styles.value = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-6Xu2OVc z_tds_2f_web-6Xu2OVd z_tds_2f_web-6Xu2OVe z_tds_2f_web-6Xu2OVf z_tds_2f_web-6Xu2OVg z_tds_2f_web-6Xu2OVh z_tds_2f_web-6Xu2OVi z_tds_2f_web-6Xu2OVj z_tds_2f_web-6Xu2OVk z_tds_2f_web-6Xu2OVl z_tds_2f_web-6Xu2OVm z_tds_2f_web-6Xu2OVn z_tds_2f_web-6Xu2OVo z_tds_2f_web-6Xu2OVp z_tds_2f_web-6Xu2OVq\"});\n})(styles || (styles = {}));\n//# sourceMappingURL=Select.js.map\nimport './Select.css';\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { useRender } from '@base-ui/react/use-render';\nimport { variants, vars } from '../zyzz.config.js';\n/**\n * A card container that renders a `div` by default. Pass `render` to swap the element, such as a\n * `section`, `button` or link. A `button`, `a[href]` or `role=\"button\"` surface gains hover, press\n * and focus-visible styles and spans the full width.\n *\n * - `size` sets the corner radius and padding together.\n * - Name the card with `Surface.Title`, which renders an `h2`, so headings keep the card navigable.\n * - A pressable surface should hold no other interactive controls, since nested targets conflict.\n * - A direct child `table` or `Rows` bleeds into the padding, so row fills reach the edges.\n *\n * @example\n * <Surface>\n * <Surface.Header>\n * <Surface.Title>Balance</Surface.Title>\n * </Surface.Header>\n * <Surface.Description>Funds available to send.</Surface.Description>\n * </Surface>\n *\n * @see {@link https://base-ui.com/react/utils/use-render | Base UI useRender}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/section | MDN section element}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/info-and-relationships.html | WCAG 2.2 Info and Relationships}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/name-role-value.html | WCAG 2.2 Name, Role, Value}\n */\nexport function Surface(props) {\n const { className, disabled, ref, render, size, vars, ...attributes } = props;\n return useRender({\n defaultTagName: 'div',\n props: {\n ...attributes,\n ...(disabled && { 'aria-disabled': true, disabled: true }),\n 'data-surface-size': size ?? 'large',\n ...styles.surface({ className, size, style: props.style, vars }),\n },\n ref,\n render,\n });\n}\n(function (Surface) {\n /** Body copy rendered as a `p`. Any element that follows it gets block-start spacing. */\n function Description(props) {\n const { className, vars, ...attributes } = props;\n return _jsx(\"p\", { ...attributes, ...styles.description({ className, style: props.style, vars }) });\n }\n Surface.Description = Description;\n /** A row above the content holding a `Surface.Title` and, at the end, any actions. */\n function Header(props) {\n const { className, vars, ...attributes } = props;\n return _jsx(\"div\", { ...attributes, ...styles.header({ className, style: props.style, vars }) });\n }\n Surface.Header = Header;\n /** A column of links, such as follow-up tasks below a `Surface.Description`. */\n function Links(props) {\n const { className, vars, ...attributes } = props;\n return _jsx(\"div\", { ...attributes, ...styles.links({ className, style: props.style, vars }) });\n }\n Surface.Links = Links;\n /** The card heading, rendered as an `h2`. A leading `svg` icon renders at 24px. */\n function Title(props) {\n const { className, vars, ...attributes } = props;\n return _jsx(\"h2\", { ...attributes, ...styles.title({ className, style: props.style, vars }) });\n }\n Surface.Title = Title;\n})(Surface || (Surface = {}));\nvar styles;\n(function (styles) {\n styles.description = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-jv6_qA0 z_tds_2f_web-jv6_qA1 z_tds_2f_web-jv6_qA2 z_tds_2f_web-jv6_qA3 z_tds_2f_web-jv6_qA4 z_tds_2f_web-jv6_qA5 z_tds_2f_web-jv6_qA6 z_tds_2f_web-jv6_qA7\"+\" \"+external:\"z_tds_2f_web-jv6_qA0 z_tds_2f_web-jv6_qA1 z_tds_2f_web-jv6_qA2 z_tds_2f_web-jv6_qA3 z_tds_2f_web-jv6_qA4 z_tds_2f_web-jv6_qA5 z_tds_2f_web-jv6_qA6 z_tds_2f_web-jv6_qA7\",result=inline?{className,style:inline}:{className};let value;return result});\n styles.header = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-jv6_qA8 z_tds_2f_web-jv6_qA9 z_tds_2f_web-jv6_qAa z_tds_2f_web-jv6_qAb z_tds_2f_web-jv6_qAc z_tds_2f_web-jv6_qAd z_tds_2f_web-jv6_qAe z_tds_2f_web-jv6_qAf z_tds_2f_web-jv6_qAg z_tds_2f_web-jv6_qAh z_tds_2f_web-jv6_qAi\"+\" \"+external:\"z_tds_2f_web-jv6_qA8 z_tds_2f_web-jv6_qA9 z_tds_2f_web-jv6_qAa z_tds_2f_web-jv6_qAb z_tds_2f_web-jv6_qAc z_tds_2f_web-jv6_qAd z_tds_2f_web-jv6_qAe z_tds_2f_web-jv6_qAf z_tds_2f_web-jv6_qAg z_tds_2f_web-jv6_qAh z_tds_2f_web-jv6_qAi\",result=inline?{className,style:inline}:{className};let value;return result});\n styles.links = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-jv6_qAj z_tds_2f_web-jv6_qAa z_tds_2f_web-jv6_qAk z_tds_2f_web-jv6_qAl z_tds_2f_web-jv6_qAm z_tds_2f_web-jv6_qAn z_tds_2f_web-jv6_qAo z_tds_2f_web-jv6_qAp z_tds_2f_web-jv6_qAq z_tds_2f_web-jv6_qAr z_tds_2f_web-jv6_qAs z_tds_2f_web-jv6_qAt z_tds_2f_web-jv6_qAu z_tds_2f_web-jv6_qAv z_tds_2f_web-jv6_qAw z_tds_2f_web-jv6_qAx z_tds_2f_web-jv6_qAy z_tds_2f_web-jv6_qAz z_tds_2f_web-jv6_qA10 z_tds_2f_web-jv6_qA11 z_tds_2f_web-jv6_qA12 z_tds_2f_web-jv6_qA13 z_tds_2f_web-jv6_qA14 z_tds_2f_web-jv6_qA15 z_tds_2f_web-jv6_qA16 z_tds_2f_web-jv6_qA17 z_tds_2f_web-jv6_qA18 z_tds_2f_web-jv6_qA19 z_tds_2f_web-jv6_qA1a z_tds_2f_web-jv6_qA1b\"+\" \"+external:\"z_tds_2f_web-jv6_qAj z_tds_2f_web-jv6_qAa z_tds_2f_web-jv6_qAk z_tds_2f_web-jv6_qAl z_tds_2f_web-jv6_qAm z_tds_2f_web-jv6_qAn z_tds_2f_web-jv6_qAo z_tds_2f_web-jv6_qAp z_tds_2f_web-jv6_qAq z_tds_2f_web-jv6_qAr z_tds_2f_web-jv6_qAs z_tds_2f_web-jv6_qAt z_tds_2f_web-jv6_qAu z_tds_2f_web-jv6_qAv z_tds_2f_web-jv6_qAw z_tds_2f_web-jv6_qAx z_tds_2f_web-jv6_qAy z_tds_2f_web-jv6_qAz z_tds_2f_web-jv6_qA10 z_tds_2f_web-jv6_qA11 z_tds_2f_web-jv6_qA12 z_tds_2f_web-jv6_qA13 z_tds_2f_web-jv6_qA14 z_tds_2f_web-jv6_qA15 z_tds_2f_web-jv6_qA16 z_tds_2f_web-jv6_qA17 z_tds_2f_web-jv6_qA18 z_tds_2f_web-jv6_qA19 z_tds_2f_web-jv6_qA1a z_tds_2f_web-jv6_qA1b\",result=inline?{className,style:inline}:{className};let value;return result});\n styles.surface = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-jv6_qA1c z_tds_2f_web-jv6_qA1d z_tds_2f_web-jv6_qA1e z_tds_2f_web-jv6_qA1f z_tds_2f_web-jv6_qA1g z_tds_2f_web-jv6_qA1h z_tds_2f_web-jv6_qA1i z_tds_2f_web-jv6_qA1j z_tds_2f_web-jv6_qA1k z_tds_2f_web-jv6_qA1l z_tds_2f_web-jv6_qA1m z_tds_2f_web-jv6_qA1n z_tds_2f_web-jv6_qA1o z_tds_2f_web-jv6_qA1p z_tds_2f_web-jv6_qA1q z_tds_2f_web-jv6_qA1r z_tds_2f_web-jv6_qA1s z_tds_2f_web-jv6_qA1t z_tds_2f_web-jv6_qA1u z_tds_2f_web-jv6_qA1v z_tds_2f_web-jv6_qA1w z_tds_2f_web-jv6_qA1x z_tds_2f_web-jv6_qA1y z_tds_2f_web-jv6_qA1z z_tds_2f_web-jv6_qA20 z_tds_2f_web-jv6_qA21 z_tds_2f_web-jv6_qA22 z_tds_2f_web-jv6_qA23 z_tds_2f_web-jv6_qA24 z_tds_2f_web-jv6_qA25 z_tds_2f_web-jv6_qA26 z_tds_2f_web-jv6_qA27 z_tds_2f_web-jv6_qA28 z_tds_2f_web-jv6_qA29 z_tds_2f_web-jv6_qA2a z_tds_2f_web-jv6_qA2b z_tds_2f_web-jv6_qA2c z_tds_2f_web-jv6_qA2d z_tds_2f_web-jv6_qA2e z_tds_2f_web-jv6_qA2f z_tds_2f_web-jv6_qA2g z_tds_2f_web-jv6_qA2h z_tds_2f_web-jv6_qA2i z_tds_2f_web-jv6_qA2j z_tds_2f_web-jv6_qA2k z_tds_2f_web-jv6_qA2l z_tds_2f_web-jv6_qA2m z_tds_2f_web-jv6_qA2n z_tds_2f_web-jv6_qA2o z_tds_2f_web-jv6_qA2p z_tds_2f_web-jv6_qA2q z_tds_2f_web-jv6_qA2r z_tds_2f_web-jv6_qA2s z_tds_2f_web-jv6_qA2t z_tds_2f_web-jv6_qA2u z_tds_2f_web-jv6_qA2v z_tds_2f_web-jv6_qA2w z_tds_2f_web-jv6_qA2x z_tds_2f_web-jv6_qA2y z_tds_2f_web-jv6_qA2z z_tds_2f_web-jv6_qA30 z_tds_2f_web-jv6_qA31 z_tds_2f_web-jv6_qA32 z_tds_2f_web-jv6_qA33 z_tds_2f_web-jv6_qA34 z_tds_2f_web-jv6_qA35 z_tds_2f_web-jv6_qA36 z_tds_2f_web-jv6_qA37 z_tds_2f_web-jv6_qA38 z_tds_2f_web-jv6_qA39 z_tds_2f_web-jv6_qA3a z_tds_2f_web-jv6_qA3b z_tds_2f_web-jv6_qA3c z_tds_2f_web-jv6_qA3d z_tds_2f_web-jv6_qA3e z_tds_2f_web-jv6_qA3f z_tds_2f_web-jv6_qA3g\"+\" \"+external:\"z_tds_2f_web-jv6_qA1c z_tds_2f_web-jv6_qA1d z_tds_2f_web-jv6_qA1e z_tds_2f_web-jv6_qA1f z_tds_2f_web-jv6_qA1g z_tds_2f_web-jv6_qA1h z_tds_2f_web-jv6_qA1i z_tds_2f_web-jv6_qA1j z_tds_2f_web-jv6_qA1k z_tds_2f_web-jv6_qA1l z_tds_2f_web-jv6_qA1m z_tds_2f_web-jv6_qA1n z_tds_2f_web-jv6_qA1o z_tds_2f_web-jv6_qA1p z_tds_2f_web-jv6_qA1q z_tds_2f_web-jv6_qA1r z_tds_2f_web-jv6_qA1s z_tds_2f_web-jv6_qA1t z_tds_2f_web-jv6_qA1u z_tds_2f_web-jv6_qA1v z_tds_2f_web-jv6_qA1w z_tds_2f_web-jv6_qA1x z_tds_2f_web-jv6_qA1y z_tds_2f_web-jv6_qA1z z_tds_2f_web-jv6_qA20 z_tds_2f_web-jv6_qA21 z_tds_2f_web-jv6_qA22 z_tds_2f_web-jv6_qA23 z_tds_2f_web-jv6_qA24 z_tds_2f_web-jv6_qA25 z_tds_2f_web-jv6_qA26 z_tds_2f_web-jv6_qA27 z_tds_2f_web-jv6_qA28 z_tds_2f_web-jv6_qA29 z_tds_2f_web-jv6_qA2a z_tds_2f_web-jv6_qA2b z_tds_2f_web-jv6_qA2c z_tds_2f_web-jv6_qA2d z_tds_2f_web-jv6_qA2e z_tds_2f_web-jv6_qA2f z_tds_2f_web-jv6_qA2g z_tds_2f_web-jv6_qA2h z_tds_2f_web-jv6_qA2i z_tds_2f_web-jv6_qA2j z_tds_2f_web-jv6_qA2k z_tds_2f_web-jv6_qA2l z_tds_2f_web-jv6_qA2m z_tds_2f_web-jv6_qA2n z_tds_2f_web-jv6_qA2o z_tds_2f_web-jv6_qA2p z_tds_2f_web-jv6_qA2q z_tds_2f_web-jv6_qA2r z_tds_2f_web-jv6_qA2s z_tds_2f_web-jv6_qA2t z_tds_2f_web-jv6_qA2u z_tds_2f_web-jv6_qA2v z_tds_2f_web-jv6_qA2w z_tds_2f_web-jv6_qA2x z_tds_2f_web-jv6_qA2y z_tds_2f_web-jv6_qA2z z_tds_2f_web-jv6_qA30 z_tds_2f_web-jv6_qA31 z_tds_2f_web-jv6_qA32 z_tds_2f_web-jv6_qA33 z_tds_2f_web-jv6_qA34 z_tds_2f_web-jv6_qA35 z_tds_2f_web-jv6_qA36 z_tds_2f_web-jv6_qA37 z_tds_2f_web-jv6_qA38 z_tds_2f_web-jv6_qA39 z_tds_2f_web-jv6_qA3a z_tds_2f_web-jv6_qA3b z_tds_2f_web-jv6_qA3c z_tds_2f_web-jv6_qA3d z_tds_2f_web-jv6_qA3e z_tds_2f_web-jv6_qA3f z_tds_2f_web-jv6_qA3g\",result=inline?{className,style:inline}:{className};let value;value=Object.hasOwn(input,\"size\")?input[\"size\"]:void 0;if(value===void 0)value=\"large\";if(value!==null&&value!==void 0)result[\"data-size\"]=String(value);return result});\n styles.title = ((input={})=>{const external=input.className,style=input.style,vars=input.vars,inline=vars?{...vars,...style}:style,className=external?\"z_tds_2f_web-jv6_qA3h z_tds_2f_web-jv6_qA1e z_tds_2f_web-jv6_qA3i z_tds_2f_web-jv6_qA3j z_tds_2f_web-jv6_qA3k z_tds_2f_web-jv6_qAd z_tds_2f_web-jv6_qA3l z_tds_2f_web-jv6_qA3m z_tds_2f_web-jv6_qA3n z_tds_2f_web-jv6_qA3o z_tds_2f_web-jv6_qA3p z_tds_2f_web-jv6_qA3q z_tds_2f_web-jv6_qA3r\"+\" \"+external:\"z_tds_2f_web-jv6_qA3h z_tds_2f_web-jv6_qA1e z_tds_2f_web-jv6_qA3i z_tds_2f_web-jv6_qA3j z_tds_2f_web-jv6_qA3k z_tds_2f_web-jv6_qAd z_tds_2f_web-jv6_qA3l z_tds_2f_web-jv6_qA3m z_tds_2f_web-jv6_qA3n z_tds_2f_web-jv6_qA3o z_tds_2f_web-jv6_qA3p z_tds_2f_web-jv6_qA3q z_tds_2f_web-jv6_qA3r\",result=inline?{className,style:inline}:{className};let value;return result});\n})(styles || (styles = {}));\n//# sourceMappingURL=Surface.js.map\nimport './Surface.css';\n","import { jsx as _jsx } from \"react/jsx-runtime\";\nexport function ArrowLeft(props) {\n return (_jsx(\"svg\", { width: \"1em\", height: \"1em\", viewBox: \"0 0 16 16\", fill: \"none\", xmlns: \"http://www.w3.org/2000/svg\", \"aria-hidden\": props['aria-label'] || props['aria-labelledby'] ? undefined : true, role: props['aria-label'] || props['aria-labelledby'] ? 'img' : undefined, ...props, children: _jsx(\"path\", { d: \"M6.3136 3.4798C6.50889 3.28488 6.82549 3.28465 7.02063 3.4798C7.2155 3.67497 7.21546 3.99163 7.02063 4.18683L3.70618 7.50031H13.5001C13.7762 7.50041 14.0001 7.72423 14.0001 8.00031C14 8.27625 13.7761 8.50021 13.5001 8.50031H3.70813L7.02063 11.8128C7.21561 12.0079 7.21535 12.3246 7.02063 12.5198C6.82541 12.7151 6.50887 12.715 6.3136 12.5198L2.14661 8.35382C1.9514 8.15862 1.95151 7.84207 2.14661 7.64679L6.3136 3.4798Z\", fill: \"currentColor\" }) }));\n}\n//# sourceMappingURL=ArrowLeft.js.map","export default import.meta.ROLLDOWN_FILE_URL_aLISaAY6NSiJFT$6GdtrfA","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2032%2032'%3e%3cg%20fill='none'%3e%3ccircle%20cx='16'%20cy='16'%20r='16'%20fill='%233e73c4'/%3e%3cg%20fill='%23fff'%3e%3cpath%20d='M20.02%2018.12c0-2.12-1.28-2.85-3.84-3.15-1.83-.25-2.2-.73-2.2-1.58s.62-1.4%201.84-1.4c1.1%200%201.7.37%202%201.28a.46.46%200%200%200%20.43.3h.98a.42.42%200%200%200%20.43-.42v-.06a3.04%203.04%200%200%200-2.75-2.5V9.15c0-.24-.18-.42-.48-.48h-.92c-.24%200-.42.18-.48.48v1.4c-1.83.24-3%201.45-3%202.97%200%202%201.23%202.8%203.79%203.1%201.7.3%202.25.66%202.25%201.64%200%20.97-.85%201.63-2%201.63-1.6%200-2.14-.66-2.32-1.57-.06-.25-.25-.37-.43-.37h-1.04a.42.42%200%200%200-.42.43v.06c.24%201.51%201.22%202.6%203.23%202.91v1.46c0%20.24.18.42.48.48h.92c.24%200%20.42-.18.49-.48v-1.46c1.82-.3%203.04-1.58%203.04-3.22z'/%3e%3cpath%20d='M12.9%2024.5a9.03%209.03%200%200%201-5.43-11.66%209%209%200%200%201%205.42-5.4c.25-.12.37-.3.37-.6v-.86c0-.24-.12-.42-.37-.48-.06%200-.18%200-.24.06a10.9%2010.9%200%200%200-7.13%2013.72c1.1%203.4%203.72%206%207.13%207.1.24.12.49%200%20.55-.24.06-.06.06-.13.06-.25v-.85c0-.18-.19-.42-.37-.54m6.46-18.94c-.24-.12-.49%200-.55.24-.06.06-.06.13-.06.25v.85c0%20.24.19.48.37.6a9.03%209.03%200%200%201%205.42%2011.66%209%209%200%200%201-5.42%205.4c-.25.12-.37.3-.37.6v.86c0%20.24.12.42.37.48.06%200%20.18%200%20.24-.06a10.9%2010.9%200%200%200%207.13-13.72%2011.03%2011.03%200%200%200-7.13-7.16'/%3e%3c/g%3e%3c/g%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3ccircle%20cx='256'%20cy='256'%20r='256'%20fill='%2300805e'/%3e%3cpath%20fill='%23f0f0f0'%20d='M386.895%20186.535v-58.196H125.106v58.196h101.797V244.7h58.195v-58.165zM226.934%20361.061v58.197h58.164v-58.197h58.165v-116.36h-58.165v116.36zm-.001-116.36h-58.195v116.36h58.195z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%2012.5493C8%2010.9893%208%2010.2107%208.29333%209.61333C8.576%209.04%209.04%208.57333%209.616%208.29333C10.2133%208%2010.992%208%2012.5493%208H51.4507C53.0107%208%2053.7867%208%2054.3867%208.29333C54.96%208.57333%2055.424%209.04%2055.704%209.61333C56%2010.2133%2056%2010.992%2056%2012.5493V51.4507C56%2053.0107%2056%2053.7867%2055.7067%2054.3867C55.424%2054.96%2054.96%2055.424%2054.3867%2055.704C53.7867%2056%2053.008%2056%2051.4507%2056H12.5493C10.9893%2056%2010.2133%2056%209.61333%2055.7067C9.03998%2055.4249%208.57656%2054.9606%208.296%2054.3867C8%2053.7867%208%2053.008%208%2051.4507V12.5493Z'%20fill='%230000FF'%20/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20fill='%23627EEA'%20/%3e%3cg%20transform='translate(18%208)'%3e%3cpath%20d='M14.996%200V17.74L29.99%2024.44L14.996%200Z'%20fill='white'%20fill-opacity='0.602'%20/%3e%3cpath%20d='M14.996%200L0%2024.44L14.996%2017.74V0Z'%20fill='white'%20/%3e%3cpath%20d='M14.996%2035.936V47.99L30%2027.232L14.996%2035.936Z'%20fill='white'%20fill-opacity='0.602'%20/%3e%3cpath%20d='M14.996%2047.99V35.934L0%2027.232L14.996%2047.99Z'%20fill='white'%20/%3e%3cpath%20d='M14.996%2033.146L29.99%2024.44L14.996%2017.744V33.146Z'%20fill='white'%20fill-opacity='0.2'%20/%3e%3cpath%20d='M0%2024.44L14.996%2033.146V17.744L0%2024.44Z'%20fill='white'%20fill-opacity='0.602'%20/%3e%3c/g%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20fill='black'%20/%3e%3cpath%20d='M46.964%2022.4753C46.7023%2022.7154%2046.3609%2022.8511%2046.005%2022.8563H12.3524C11.1577%2022.8563%2010.5556%2021.497%2011.3817%2020.7L16.9072%2015.3927C17.1641%2015.1449%2017.5064%2015.0044%2017.8639%2015H51.6496C52.8559%2015%2053.4463%2016.371%2052.6063%2017.1703L46.964%2022.4753ZM46.964%2048.6328C46.7026%2048.8718%2046.3599%2049.003%2046.005%2048.9999H12.3524C11.1577%2048.9999%2010.5556%2047.6522%2011.3817%2046.8552L16.9072%2041.5363C17.1662%2041.2936%2017.5083%2041.1582%2017.8639%2041.1576H51.6496C52.8559%2041.1576%2053.4463%2042.5169%2052.6063%2043.3139L46.964%2048.6328ZM46.964%2028.4517C46.7023%2028.2136%2046.3595%2028.0832%2046.005%2028.0869H12.3524C11.1577%2028.0869%2010.5556%2029.4346%2011.3817%2030.2293L16.9072%2035.5505C17.1687%2035.7893%2017.5092%2035.9241%2017.8639%2035.9293H51.6496C52.8559%2035.9293%2053.4463%2034.57%2052.6063%2033.7729L46.964%2028.4517Z'%20fill='white'%20/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='64'%20height='64'%20viewBox='0%200%2064%2064'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='64'%20height='64'%20fill='black'%20/%3e%3cpath%20d='M29.689%2047H22.3877L29.1548%2026.12H20.5L22.3877%2020H46.5L44.6123%2026.12H36.4205L29.689%2047Z'%20fill='white'%20/%3e%3c/svg%3e\"","/** The deposit screen: the deposit networks, and the receive screen. @module */\nimport { Link } from '@tanstack/react-router'\nimport {\n Button,\n Callout,\n Hex,\n Inline,\n Qr,\n Rows,\n Select,\n Stack,\n Surface,\n Tag,\n Tooltip,\n} from '@tempoxyz/ds'\nimport { ArrowLeft } from '@tempoxyz/ds/icons'\nimport type { ReactNode } from 'react'\nimport Apple from '~icons/simple-icons/apple'\nimport pathUsd from '../components/icons/pathUSD.svg?url'\nimport usdc from '../components/icons/USDC.e.svg?url'\nimport usdt from '../components/icons/USDT0.svg?url'\nimport base from './chains/base.svg?url'\nimport ethereum from './chains/ethereum.svg?url'\nimport solana from './chains/solana.svg?url'\nimport tempo from './chains/tempo.svg?url'\nimport { style } from '../zyzz.config.js'\n\n/** A deposit network. Only Tempo receives deposits. */\ntype Network = {\n /** Tags of the network's main assets. */\n assets: readonly string[]\n /** Whether the screen accepts deposits on the network. */\n available: boolean\n /** The URL of the network's logo. */\n icon: string\n /** The network's ID. */\n id: 'base' | 'ethereum' | 'solana' | 'tempo'\n /** The network's display name. */\n name: string\n}\n\n// Base and Ethereum share the account's address format, but a transfer there does not reach Tempo,\n// so their receive screens stay unavailable until deposits bridge.\nconst networks: readonly Network[] = [\n {\n // The verified symbols, so a sender picks the exact token Tempo accepts.\n assets: ['USDC.e', 'USDT0', 'pathUSD'],\n available: true,\n icon: tempo,\n id: 'tempo',\n name: 'Tempo',\n },\n {\n assets: ['USDC', 'ETH', 'WETH', '+3'],\n available: false,\n icon: base,\n id: 'base',\n name: 'Base',\n },\n {\n assets: ['USDC', 'ETH', 'USDT', '+2'],\n available: false,\n icon: ethereum,\n id: 'ethereum',\n name: 'Ethereum',\n },\n {\n assets: ['USDC', 'SOL'],\n available: false,\n icon: solana,\n id: 'solana',\n name: 'Solana',\n },\n]\n\n/** The stablecoins that a deposit on Tempo accepts. */\nconst stablecoins = [\n { icon: usdc, symbol: 'USDC.e' },\n { icon: usdt, symbol: 'USDT0' },\n { icon: pathUsd, symbol: 'pathUSD' },\n] as const\n\n/**\n * The deposit screen. Without `method` it lists the networks, and with `tempo` it shows the\n * address.\n */\nexport function Deposit(props: Deposit.Props): ReactNode {\n const Subtitle = props.heading === 'h4' ? 'h5' : 'h2'\n\n if (props.method === 'tempo')\n return (\n <Stack {...styles.column()} gap=\"24\">\n <Stack gap=\"8\">\n <Header\n back={\n <Link\n {...(props.address\n ? { search: { address: props.address }, to: '/deposit' }\n : { to: '/' })}\n />\n }\n heading={props.heading}\n title=\"Receive funds\"\n />\n <p {...styles.description()}>\n Send <strong>supported stablecoins</strong> to this address.\n </p>\n </Stack>\n {props.address ? (\n <Receive address={props.address} />\n ) : props.error ? (\n <Callout intent=\"negative\">\n <Callout.Icon />\n <Callout.Content>{props.error}</Callout.Content>\n </Callout>\n ) : null}\n </Stack>\n )\n\n return (\n <Stack {...styles.column()} gap=\"24\">\n <Stack gap=\"8\">\n <Header\n back={<Link to=\"/\" />}\n heading={props.heading}\n title=\"Deposit\"\n />\n <p {...styles.description()}>\n Choose an option below to send stablecoins to your wallet.\n </p>\n </Stack>\n {props.address ? (\n <>\n <Stack gap=\"8\" render={<section />}>\n <Subtitle {...styles.sectionTitle()}>Crypto</Subtitle>\n <Rows {...styles.methods()} dividers=\"none\" size=\"large\">\n {networks.map((network) => (\n <MethodRow\n address={network.available ? props.address : undefined}\n assets={network.assets}\n icon={<img {...styles.logo()} alt=\"\" src={network.icon} />}\n key={network.id}\n name={network.name}\n />\n ))}\n </Rows>\n </Stack>\n <Stack gap=\"8\" render={<section />}>\n <Subtitle {...styles.sectionTitle()}>Cash</Subtitle>\n <Rows {...styles.methods()} dividers=\"none\" size=\"large\">\n {/* The mark follows the text color, so it is black in light mode and white in dark mode. */}\n <MethodRow\n assets={['Coinbase']}\n icon={<Apple {...styles.apple()} aria-hidden />}\n name=\"Apple Pay\"\n />\n </Rows>\n </Stack>\n </>\n ) : props.error ? (\n <Callout intent=\"negative\">\n <Callout.Icon />\n <Callout.Content>{props.error}</Callout.Content>\n </Callout>\n ) : null}\n </Stack>\n )\n}\n\nexport declare namespace Deposit {\n type Props = {\n /** Absent if the address is not one of the user's. */\n address?: `0x${string}` | undefined\n /** Why the screen shows no address. */\n error?: string | undefined\n /** `h1` by default, or `h4` on the flows canvas. */\n heading?: 'h1' | 'h4' | undefined\n /** Absent, the screen lists the networks. */\n method?: 'tempo' | undefined\n }\n}\n\n/** The screen's title, with a back link. */\nfunction Header(props: Header.Props): ReactNode {\n const Title = props.heading ?? 'h1'\n return (\n <header {...styles.header()}>\n <span {...styles.back()}>\n <Button.Link\n aria-label=\"Back\"\n render={props.back}\n shape=\"icon\"\n variant=\"text\"\n >\n <ArrowLeft {...styles.backIcon()} />\n </Button.Link>\n </span>\n <Title {...styles.title()}>{props.title}</Title>\n </header>\n )\n}\n\ndeclare namespace Header {\n type Props = {\n /** The router link of the back button. */\n back: Button.Link.Props['render']\n /** `h1` by default, or `h4` on the flows canvas. */\n heading?: 'h1' | 'h4' | undefined\n /** The screen's heading. */\n title: string\n }\n}\n\n/** A deposit method: a link if available, or a dimmed row marked as coming soon. */\nfunction MethodRow(props: MethodRow.Props): ReactNode {\n const { address } = props\n const content = (\n <>\n <span {...styles.methodIcon()}>{props.icon}</span>\n <Rows.Info>\n <Rows.Title {...styles.networkName()}>{props.name}</Rows.Title>\n <Inline gap=\"4\" wrap>\n {props.assets.map((asset) => (\n <Tag key={asset} shape=\"rounded\" size=\"small\">\n {asset}\n </Tag>\n ))}\n </Inline>\n </Rows.Info>\n </>\n )\n\n // Only Tempo is available, so an available row opens its receive screen.\n if (address)\n return (\n <Rows.Row\n action=\"navigation\"\n render={<Link search={{ address, method: 'tempo' }} to=\"/deposit\" />}\n >\n {content}\n </Rows.Row>\n )\n\n return (\n <Rows.Row disabled>\n {content}\n <Tag size=\"small\" variant=\"plain\">\n Coming soon\n </Tag>\n </Rows.Row>\n )\n}\n\ndeclare namespace MethodRow {\n type Props = {\n /** The receive screen's account. Absent if the method is unavailable. */\n address?: `0x${string}` | undefined\n /** Tags of the method's assets or provider. */\n assets: readonly string[]\n /** The method's logo. */\n icon: ReactNode\n /** The method's name. */\n name: string\n }\n}\n\n/** The address as a QR code and as text, the network picker, and the accepted stablecoins. */\nfunction Receive(props: Receive.Props): ReactNode {\n return (\n <>\n <Surface {...styles.addressCard()} size=\"small\">\n <Stack align=\"center\" gap=\"16\">\n <span {...styles.qr()}>\n <Qr\n aria-label=\"Deposit address QR code\"\n arena={tempo}\n size=\"small\"\n value={props.address}\n />\n </span>\n <Hex.Root\n {...styles.address()}\n data-testid=\"deposit-address\"\n value={props.address}\n >\n <Hex.Text />\n <Hex.Copy aria-label=\"Copy address\" />\n </Hex.Root>\n </Stack>\n </Surface>\n\n <Surface {...styles.card()} size=\"small\">\n <Rows dividers=\"full\">\n {/* Only Tempo is selectable, so the picker previews the networks that come later. */}\n <Rows.Row>\n <Rows.Label id=\"deposit-network\">Network</Rows.Label>\n <Select.Root value=\"tempo\">\n <Select.Trigger\n {...styles.trigger()}\n aria-labelledby=\"deposit-network\"\n size=\"small\"\n variant=\"text\"\n >\n <Select.Value>\n {() => (\n <Inline gap=\"8\">\n <img {...styles.fieldLogo()} alt=\"\" src={tempo} />\n Tempo\n </Inline>\n )}\n </Select.Value>\n <Select.Icon />\n </Select.Trigger>\n <Select.Popup align=\"end\">\n {networks.map((network) => (\n <Select.Item\n {...styles.network()}\n disabled={!network.available}\n key={network.id}\n value={network.id}\n >\n <Select.ItemPrefix>\n <img {...styles.fieldLogo()} alt=\"\" src={network.icon} />\n </Select.ItemPrefix>\n <Select.ItemText>{network.name}</Select.ItemText>\n {network.available ? null : (\n <Select.ItemSuffix>Coming soon</Select.ItemSuffix>\n )}\n </Select.Item>\n ))}\n </Select.Popup>\n </Select.Root>\n </Rows.Row>\n <Rows.Row>\n <Rows.Label>Supported stablecoins</Rows.Label>\n <span {...styles.coins()}>\n {stablecoins.map((coin) => (\n <Tooltip.Root key={coin.symbol}>\n <Tooltip.Trigger\n delay={150}\n render={\n <span {...styles.coin()} tabIndex={0}>\n <img\n {...styles.coinLogo()}\n alt={coin.symbol}\n height={20}\n src={coin.icon}\n width={20}\n />\n </span>\n }\n />\n <Tooltip.Popup>{coin.symbol}</Tooltip.Popup>\n </Tooltip.Root>\n ))}\n </span>\n </Rows.Row>\n </Rows>\n </Surface>\n\n <Callout intent=\"warning\" role=\"note\">\n <Callout.Icon />\n <Callout.Content {...styles.warning()}>\n Only send <strong>supported stablecoins</strong> on{' '}\n <strong>Tempo</strong>. Sending other tokens or using a different\n network may result in permanent loss.\n </Callout.Content>\n </Callout>\n\n <Button.Link render={<Link to=\"/\" />} variant=\"secondary\">\n Done\n </Button.Link>\n </>\n )\n}\n\ndeclare namespace Receive {\n type Props = {\n /** The address that receives the deposit. */\n address: `0x${string}`\n }\n}\n\nnamespace styles {\n // A screen too narrow for the whole address truncates its middle, and the QR code and copy control keep it whole.\n\n export const address = style({\n color: 'gray.900',\n maxWidth: '100% !custom',\n typography: 'label.12.mono',\n })\n\n // The QR code sits 16px from the top, as far as the address's text sits from the bottom.\n export const addressCard = style({\n backgroundColor: 'gray.100',\n paddingTop: '16',\n })\n\n export const apple = style({ color: 'foreground', height: '28', width: '28' })\n\n // Sits at the start of the title row, and its arrow hangs past the column edge. A phone's gutter\n // fits only a short hang.\n export const back = style({\n alignItems: 'center',\n bottom: '0',\n display: 'flex',\n left: '-1rem !custom',\n position: 'absolute',\n top: '0',\n // From this width, the gutter beside the column fits the wide hang.\n '@media (min-width: 32rem)': { left: '-3.5rem !custom' },\n })\n\n export const backIcon = style({ height: '24', width: '24' })\n\n // A gray fill, as in the account's wallets list, sets the cards apart from the screen.\n export const card = style({ backgroundColor: 'gray.100' })\n\n export const coin = style({\n borderRadius: 'full',\n outline: '2px solid',\n outlineColor: 'gray.100',\n ':focus-visible': { outlineColor: 'blue.700' },\n '@media (prefers-reduced-motion: no-preference)': {\n transitionDuration: '150',\n transitionProperty: 'margin',\n transitionTimingFunction: 'in-out',\n },\n })\n\n export const coinLogo = style({\n borderRadius: 'full',\n display: 'block',\n height: '20',\n width: '20',\n })\n\n // The coins overlap, and spread apart while hovered so each one can show its tooltip.\n export const coins = style({\n display: 'flex',\n flexShrink: 0,\n '& > span + span': { marginInlineStart: '-0.375rem !custom' },\n '&:hover > span + span': { marginInlineStart: '4' },\n })\n\n export const column = style({ maxWidth: '384', width: '100% !custom' })\n\n export const description = style({\n color: 'gray.900',\n textAlign: 'center',\n textWrap: 'balance',\n typography: 'copy.14',\n '& strong': { color: 'foreground', typography: 'copy.14.strong' },\n })\n\n export const fieldLogo = style({\n borderRadius: 'full',\n display: 'block',\n height: '20',\n width: '20',\n })\n\n export const header = style({\n display: 'flex',\n justifyContent: 'center',\n position: 'relative',\n })\n\n export const logo = style({\n borderRadius: 'full',\n display: 'block',\n height: '36',\n width: '36',\n })\n\n // The rows bleed by their own padding, so their logos line up with the section titles while the\n // rounded hover fill reaches past them.\n export const methods = style({\n marginInline: '-20px !custom',\n '& > *': { borderRadius: '16' },\n })\n\n export const methodIcon = style({\n alignItems: 'center',\n display: 'flex',\n flexShrink: 0,\n height: '36',\n justifyContent: 'center',\n width: '36',\n })\n\n // A network that cannot be selected never shows the check, so its suffix takes the check's place.\n export const network = style({\n '&[data-disabled] > :last-child': { display: 'none' },\n })\n\n export const networkName = style({ typography: 'label.16.strong' })\n\n // Scanners read dark modules on a light ground with a quiet zone, so the code keeps the light\n // scheme, whose foreground draws the modules, in dark mode too.\n export const qr = style({\n backgroundColor: 'white',\n colorScheme: 'light',\n borderRadius: '6',\n display: 'block',\n padding: '8',\n })\n\n export const sectionTitle = style({ typography: 'heading.20' })\n\n export const title = style({\n letterSpacing: '-0.02em !custom',\n textAlign: 'center',\n typography: 'heading.24',\n })\n\n // The trigger bleeds by its end padding, so its chevron lines up with the coin logos below.\n export const trigger = style({ marginInlineEnd: '-12' })\n\n export const warning = style({\n '& strong': { typography: 'label.13.strong' },\n })\n}\n"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"mappings":"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"}
|