@tempoxyz/id 0.0.0-pr-349.sha-e0d3dfc → 0.0.0-pr-357.sha-e757593
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 +0 -3
- package/dist/app/server/assets/Grant-D_tun0mF.js.map +1 -1
- package/dist/app/server/index.js +4 -4
- package/dist/app/server/index.js.map +1 -1
- package/dist/cli/Cli.d.ts +1 -8
- package/dist/cli/Cli.d.ts.map +1 -1
- package/dist/cli/Cli.js +6 -9
- package/dist/cli/Cli.js.map +1 -1
- package/dist/cli/Session.d.ts +1 -1
- package/dist/cli/Session.d.ts.map +1 -1
- package/dist/cli/Session.js +1 -1
- package/dist/cli/Session.js.map +1 -1
- package/dist/cli/bin.js +4 -23
- package/dist/cli/bin.js.map +1 -1
- package/dist/client/Actions.d.ts +1 -2
- package/dist/client/Actions.d.ts.map +1 -1
- package/dist/client/Actions.js +0 -1
- package/dist/client/Actions.js.map +1 -1
- package/dist/client/Auth.d.ts +1 -1
- package/dist/client/Auth.d.ts.map +1 -1
- package/dist/client/Auth.js.map +1 -1
- package/dist/client/Authorization.d.ts +8 -4
- package/dist/client/Authorization.d.ts.map +1 -1
- package/dist/client/Authorization.js +1 -1
- package/dist/client/Authorization.js.map +1 -1
- package/dist/client/actions/email.d.ts +1 -1
- package/dist/client/actions/email.d.ts.map +1 -1
- package/dist/client/actions/passkey.d.ts +1 -1
- package/dist/client/actions/passkey.d.ts.map +1 -1
- package/dist/client/actions/redirect.d.ts +1 -1
- package/dist/client/actions/redirect.d.ts.map +1 -1
- package/dist/client/internal/api.d.ts +1 -1
- package/dist/client/internal/api.d.ts.map +1 -1
- package/dist/client/internal/api.js +1 -1
- package/dist/client/internal/api.js.map +1 -1
- package/dist/client/viem/Actions.d.ts +3 -3
- package/dist/client/viem/Actions.d.ts.map +1 -1
- package/dist/client/viem/Actions.js +4 -4
- package/dist/client/viem/Actions.js.map +1 -1
- package/dist/client/viem/Decorator.d.ts +2 -2
- package/dist/client/viem/internal/client.d.ts +3 -3
- package/dist/client/viem/internal/client.d.ts.map +1 -1
- package/dist/client/viem/internal/client.js +2 -2
- package/dist/client/viem/internal/client.js.map +1 -1
- package/dist/client.d.ts +0 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +0 -1
- package/dist/client.js.map +1 -1
- package/dist/internal/Apps.d.ts +1 -2
- package/dist/internal/Apps.d.ts.map +1 -1
- package/dist/internal/Apps.js +5 -10
- package/dist/internal/Apps.js.map +1 -1
- package/dist/internal/ErrorResponse.d.ts +0 -20
- package/dist/internal/ErrorResponse.d.ts.map +1 -1
- package/dist/internal/ErrorResponse.js +0 -35
- package/dist/internal/ErrorResponse.js.map +1 -1
- package/dist/internal/RequestId.d.ts +1 -7
- package/dist/internal/RequestId.d.ts.map +1 -1
- package/dist/internal/RequestId.js.map +1 -1
- package/dist/internal/Timing.d.ts +1 -4
- package/dist/internal/Timing.d.ts.map +1 -1
- package/dist/internal/Timing.js.map +1 -1
- package/package.json +1 -7
- package/src/cli/Cli.ts +5 -13
- package/src/cli/Session.ts +2 -2
- package/src/cli/bin.ts +4 -26
- package/src/client/Actions.ts +1 -2
- package/src/client/Auth.ts +0 -4
- package/src/client/Authorization.ts +8 -4
- package/src/client/actions/email.ts +1 -1
- package/src/client/actions/passkey.ts +1 -1
- package/src/client/actions/redirect.ts +1 -1
- package/src/client/internal/api.ts +2 -2
- package/src/client/viem/Actions.ts +5 -5
- package/src/client/viem/Decorator.ts +2 -2
- package/src/client/viem/internal/client.ts +5 -5
- package/src/client.ts +0 -1
- package/src/internal/Apps.ts +4 -17
- package/src/internal/ErrorResponse.ts +0 -41
- package/src/internal/OpenApi.ts +7 -57
- package/src/internal/RequestId.ts +2 -8
- package/src/internal/Timing.ts +1 -4
- package/src/types/app.d.ts +0 -14
- package/dist/Admin.d.ts +0 -79
- package/dist/Admin.d.ts.map +0 -1
- package/dist/Admin.js +0 -93
- package/dist/Admin.js.map +0 -1
- package/dist/admin/Env.d.ts +0 -68
- package/dist/admin/Env.d.ts.map +0 -1
- package/dist/admin/Env.js +0 -2
- package/dist/admin/Env.js.map +0 -1
- package/dist/admin/app/client/.assetsignore +0 -2
- package/dist/admin/app/client/assets/Client-BrjXsLWn.js +0 -2
- package/dist/admin/app/client/assets/Client-DdghQm8N.css +0 -1
- package/dist/admin/app/client/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/dist/admin/app/client/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/dist/admin/app/client/assets/___dev-EY7r7Loc.css +0 -1
- package/dist/admin/app/client/assets/___dev.sign-in-ClQvgAau.js +0 -1
- package/dist/admin/app/client/assets/index-Cbo1RPkb.css +0 -1
- package/dist/admin/app/client/assets/index-DAKRgvN1.js +0 -13
- package/dist/admin/app/client/assets/reset-co-CHrff.css +0 -1
- package/dist/admin/app/client/assets/rolldown-runtime-WkwZ5CU-.js +0 -1
- package/dist/admin/app/client/assets/routes-BEUY7mCO.css +0 -1
- package/dist/admin/app/client/assets/routes-DM0o3oBQ.js +0 -1
- package/dist/admin/app/client/assets/shadowDom-DMRd3g4s.js +0 -1
- package/dist/admin/app/server/.vite/manifest.json +0 -359
- package/dist/admin/app/server/assets/Client-D4wNQeJd.js +0 -3
- package/dist/admin/app/server/assets/Client-D4wNQeJd.js.map +0 -1
- package/dist/admin/app/server/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/dist/admin/app/server/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/dist/admin/app/server/assets/___dev-EY7r7Loc.css +0 -1
- package/dist/admin/app/server/assets/___dev.sign-in-DUf_NQPU.js +0 -2
- package/dist/admin/app/server/assets/___dev.sign-in-DUf_NQPU.js.map +0 -1
- package/dist/admin/app/server/assets/_tanstack-start-manifest_v-C8ysuxtN.js +0 -1
- package/dist/admin/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +0 -2
- package/dist/admin/app/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +0 -1
- package/dist/admin/app/server/assets/async-local-storage-DUe1175v.js +0 -2
- package/dist/admin/app/server/assets/async-local-storage-DUe1175v.js.map +0 -1
- package/dist/admin/app/server/assets/convert-BIC8n32x.js +0 -2
- package/dist/admin/app/server/assets/convert-BIC8n32x.js.map +0 -1
- package/dist/admin/app/server/assets/cookie-BOmgOR30.js +0 -2
- package/dist/admin/app/server/assets/cookie-BOmgOR30.js.map +0 -1
- package/dist/admin/app/server/assets/cookie-DdghQm8N.css +0 -1
- package/dist/admin/app/server/assets/default-u_dwuiYb-D6RfpcBr.js +0 -2
- package/dist/admin/app/server/assets/default-u_dwuiYb-D6RfpcBr.js.map +0 -1
- package/dist/admin/app/server/assets/effect-QlVUlMFu-Bs0PyUhN.js +0 -2
- package/dist/admin/app/server/assets/effect-QlVUlMFu-Bs0PyUhN.js.map +0 -1
- package/dist/admin/app/server/assets/empty-plugin-adapters-BaGcmrjC.js +0 -2
- package/dist/admin/app/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +0 -1
- package/dist/admin/app/server/assets/esm-C6SW--yt.js +0 -4
- package/dist/admin/app/server/assets/esm-C6SW--yt.js.map +0 -1
- package/dist/admin/app/server/assets/index-CLddUTqr-ComTZ4bq.js +0 -2
- package/dist/admin/app/server/assets/index-CLddUTqr-ComTZ4bq.js.map +0 -1
- package/dist/admin/app/server/assets/index-DZEfthgZ-BxnrPO8Q.js +0 -2
- package/dist/admin/app/server/assets/index-DZEfthgZ-BxnrPO8Q.js.map +0 -1
- package/dist/admin/app/server/assets/reset-co-CHrff.css +0 -1
- package/dist/admin/app/server/assets/rolldown-runtime-BWaJ3C7D.js +0 -1
- package/dist/admin/app/server/assets/router-Cbo1RPkb.css +0 -1
- package/dist/admin/app/server/assets/router-Dqhrc0PX.js +0 -2
- package/dist/admin/app/server/assets/router-Dqhrc0PX.js.map +0 -1
- package/dist/admin/app/server/assets/routes-BEUY7mCO.css +0 -1
- package/dist/admin/app/server/assets/routes-CxbX5JNu.js +0 -2
- package/dist/admin/app/server/assets/routes-CxbX5JNu.js.map +0 -1
- package/dist/admin/app/server/assets/server-tS2GlQUk.js +0 -77
- package/dist/admin/app/server/assets/server-tS2GlQUk.js.map +0 -1
- package/dist/admin/app/server/assets/shadowDom-CvS1DzWo.js +0 -2
- package/dist/admin/app/server/assets/shadowDom-CvS1DzWo.js.map +0 -1
- package/dist/admin/app/server/assets/standard-json-DY77efq0.js +0 -2
- package/dist/admin/app/server/assets/standard-json-DY77efq0.js.map +0 -1
- package/dist/admin/app/server/assets/standard-json-ig2t0wRt.js +0 -2
- package/dist/admin/app/server/assets/standard-json-ig2t0wRt.js.map +0 -1
- package/dist/admin/app/server/assets/standard-json-t-LNckA6.js +0 -2
- package/dist/admin/app/server/assets/standard-json-t-LNckA6.js.map +0 -1
- package/dist/admin/app/server/assets/standard-openapi-CONmVRl8.js +0 -2
- package/dist/admin/app/server/assets/standard-openapi-CONmVRl8.js.map +0 -1
- package/dist/admin/app/server/assets/start-C63VetBp.js +0 -2
- package/dist/admin/app/server/assets/start-C63VetBp.js.map +0 -1
- package/dist/admin/app/server/assets/sury-CWZTCd75-DP9TvBrs.js +0 -2
- package/dist/admin/app/server/assets/sury-CWZTCd75-DP9TvBrs.js.map +0 -1
- package/dist/admin/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js +0 -2
- package/dist/admin/app/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +0 -1
- package/dist/admin/app/server/assets/valibot--1zFm7rT-BKGsXNQL.js +0 -2
- package/dist/admin/app/server/assets/valibot--1zFm7rT-BKGsXNQL.js.map +0 -1
- package/dist/admin/app/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js +0 -2
- package/dist/admin/app/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js.map +0 -1
- package/dist/admin/app/server/assets/worker-entry-DcGlpZzO.js +0 -93
- package/dist/admin/app/server/assets/worker-entry-DcGlpZzO.js.map +0 -1
- package/dist/admin/app/server/assets/zod-Bwrt9trS-DuX8BREF.js +0 -2
- package/dist/admin/app/server/assets/zod-Bwrt9trS-DuX8BREF.js.map +0 -1
- package/dist/admin/app/server/assets/zod-DSgpEGAE-BF9ADewr.js +0 -2
- package/dist/admin/app/server/assets/zod-DSgpEGAE-BF9ADewr.js.map +0 -1
- package/dist/admin/app/server/index.js +0 -1
- package/dist/admin/app/server/wrangler.json +0 -1
- package/dist/admin/dev/Session.d.ts +0 -135
- package/dist/admin/dev/Session.d.ts.map +0 -1
- package/dist/admin/dev/Session.js +0 -160
- package/dist/admin/dev/Session.js.map +0 -1
- package/dist/admin/index.d.ts +0 -15
- package/dist/admin/index.d.ts.map +0 -1
- package/dist/admin/index.js +0 -15
- package/dist/admin/index.js.map +0 -1
- package/dist/cli/AdminApi.d.ts +0 -46
- package/dist/cli/AdminApi.d.ts.map +0 -1
- package/dist/cli/AdminApi.js +0 -82
- package/dist/cli/AdminApi.js.map +0 -1
- package/dist/client/Admin.d.ts +0 -71
- package/dist/client/Admin.d.ts.map +0 -1
- package/dist/client/Admin.js +0 -29
- package/dist/client/Admin.js.map +0 -1
- package/dist/client/actions/admin/apps.d.ts +0 -142
- package/dist/client/actions/admin/apps.d.ts.map +0 -1
- package/dist/client/actions/admin/apps.js +0 -133
- package/dist/client/actions/admin/apps.js.map +0 -1
- package/dist/client/actions/admin.d.ts +0 -6
- package/dist/client/actions/admin.d.ts.map +0 -1
- package/dist/client/actions/admin.js +0 -6
- package/dist/client/actions/admin.js.map +0 -1
- package/src/Admin.ts +0 -184
- package/src/admin/Api.ts +0 -253
- package/src/admin/Env.ts +0 -73
- package/src/admin/app/.void/env.d.ts +0 -17
- package/src/admin/app/.void/preview-deploy-config.json +0 -1
- package/src/admin/app/.void/tanstack-start-trigger-wrapper.ts +0 -12
- package/src/admin/app/.void/tsconfig.json +0 -5
- package/src/admin/app/.void-wrangler.jsonc +0 -1
- package/src/admin/app/components/CodeInput.tsx +0 -153
- package/src/admin/app/dist/client/.assetsignore +0 -2
- package/src/admin/app/dist/client/assets/Client-BrjXsLWn.js +0 -2
- package/src/admin/app/dist/client/assets/Client-DdghQm8N.css +0 -1
- package/src/admin/app/dist/client/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/src/admin/app/dist/client/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/src/admin/app/dist/client/assets/___dev-EY7r7Loc.css +0 -1
- package/src/admin/app/dist/client/assets/___dev.sign-in-ClQvgAau.js +0 -1
- package/src/admin/app/dist/client/assets/index-Cbo1RPkb.css +0 -1
- package/src/admin/app/dist/client/assets/index-DAKRgvN1.js +0 -13
- package/src/admin/app/dist/client/assets/reset-co-CHrff.css +0 -1
- package/src/admin/app/dist/client/assets/rolldown-runtime-WkwZ5CU-.js +0 -1
- package/src/admin/app/dist/client/assets/routes-BEUY7mCO.css +0 -1
- package/src/admin/app/dist/client/assets/routes-DM0o3oBQ.js +0 -1
- package/src/admin/app/dist/client/assets/shadowDom-DMRd3g4s.js +0 -1
- package/src/admin/app/dist/server/.vite/manifest.json +0 -359
- package/src/admin/app/dist/server/assets/Client-D4wNQeJd.js +0 -3
- package/src/admin/app/dist/server/assets/Client-D4wNQeJd.js.map +0 -1
- package/src/admin/app/dist/server/assets/GeistMono-Variable-BRXCGrxA.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-cyrillic-e3OmmzmJ.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-cyrillic-ext-DOWZeO4Q.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-greek-BD3ujQlX.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-greek-ext-CXEwbus4.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-latin-BDFm4vTb.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-latin-ext-E7a9JEPe.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-symbols-DEch7Rxr.woff2 +0 -0
- package/src/admin/app/dist/server/assets/Inter-vietnamese-Bg9723vR.woff2 +0 -0
- package/src/admin/app/dist/server/assets/___dev-EY7r7Loc.css +0 -1
- package/src/admin/app/dist/server/assets/___dev.sign-in-DUf_NQPU.js +0 -2
- package/src/admin/app/dist/server/assets/___dev.sign-in-DUf_NQPU.js.map +0 -1
- package/src/admin/app/dist/server/assets/_tanstack-start-manifest_v-C8ysuxtN.js +0 -1
- package/src/admin/app/dist/server/assets/arktype-aI7TBD0R-D1R3Byo5.js +0 -2
- package/src/admin/app/dist/server/assets/arktype-aI7TBD0R-D1R3Byo5.js.map +0 -1
- package/src/admin/app/dist/server/assets/async-local-storage-DUe1175v.js +0 -2
- package/src/admin/app/dist/server/assets/async-local-storage-DUe1175v.js.map +0 -1
- package/src/admin/app/dist/server/assets/convert-BIC8n32x.js +0 -2
- package/src/admin/app/dist/server/assets/convert-BIC8n32x.js.map +0 -1
- package/src/admin/app/dist/server/assets/cookie-BOmgOR30.js +0 -2
- package/src/admin/app/dist/server/assets/cookie-BOmgOR30.js.map +0 -1
- package/src/admin/app/dist/server/assets/cookie-DdghQm8N.css +0 -1
- package/src/admin/app/dist/server/assets/default-u_dwuiYb-D6RfpcBr.js +0 -2
- package/src/admin/app/dist/server/assets/default-u_dwuiYb-D6RfpcBr.js.map +0 -1
- package/src/admin/app/dist/server/assets/effect-QlVUlMFu-Bs0PyUhN.js +0 -2
- package/src/admin/app/dist/server/assets/effect-QlVUlMFu-Bs0PyUhN.js.map +0 -1
- package/src/admin/app/dist/server/assets/empty-plugin-adapters-BaGcmrjC.js +0 -2
- package/src/admin/app/dist/server/assets/empty-plugin-adapters-BaGcmrjC.js.map +0 -1
- package/src/admin/app/dist/server/assets/esm-C6SW--yt.js +0 -4
- package/src/admin/app/dist/server/assets/esm-C6SW--yt.js.map +0 -1
- package/src/admin/app/dist/server/assets/index-CLddUTqr-ComTZ4bq.js +0 -2
- package/src/admin/app/dist/server/assets/index-CLddUTqr-ComTZ4bq.js.map +0 -1
- package/src/admin/app/dist/server/assets/index-DZEfthgZ-BxnrPO8Q.js +0 -2
- package/src/admin/app/dist/server/assets/index-DZEfthgZ-BxnrPO8Q.js.map +0 -1
- package/src/admin/app/dist/server/assets/reset-co-CHrff.css +0 -1
- package/src/admin/app/dist/server/assets/rolldown-runtime-BWaJ3C7D.js +0 -1
- package/src/admin/app/dist/server/assets/router-Cbo1RPkb.css +0 -1
- package/src/admin/app/dist/server/assets/router-Dqhrc0PX.js +0 -2
- package/src/admin/app/dist/server/assets/router-Dqhrc0PX.js.map +0 -1
- package/src/admin/app/dist/server/assets/routes-BEUY7mCO.css +0 -1
- package/src/admin/app/dist/server/assets/routes-CxbX5JNu.js +0 -2
- package/src/admin/app/dist/server/assets/routes-CxbX5JNu.js.map +0 -1
- package/src/admin/app/dist/server/assets/server-tS2GlQUk.js +0 -77
- package/src/admin/app/dist/server/assets/server-tS2GlQUk.js.map +0 -1
- package/src/admin/app/dist/server/assets/shadowDom-CvS1DzWo.js +0 -2
- package/src/admin/app/dist/server/assets/shadowDom-CvS1DzWo.js.map +0 -1
- package/src/admin/app/dist/server/assets/standard-json-DY77efq0.js +0 -2
- package/src/admin/app/dist/server/assets/standard-json-DY77efq0.js.map +0 -1
- package/src/admin/app/dist/server/assets/standard-json-ig2t0wRt.js +0 -2
- package/src/admin/app/dist/server/assets/standard-json-ig2t0wRt.js.map +0 -1
- package/src/admin/app/dist/server/assets/standard-json-t-LNckA6.js +0 -2
- package/src/admin/app/dist/server/assets/standard-json-t-LNckA6.js.map +0 -1
- package/src/admin/app/dist/server/assets/standard-openapi-CONmVRl8.js +0 -2
- package/src/admin/app/dist/server/assets/standard-openapi-CONmVRl8.js.map +0 -1
- package/src/admin/app/dist/server/assets/start-C63VetBp.js +0 -2
- package/src/admin/app/dist/server/assets/start-C63VetBp.js.map +0 -1
- package/src/admin/app/dist/server/assets/sury-CWZTCd75-DP9TvBrs.js +0 -2
- package/src/admin/app/dist/server/assets/sury-CWZTCd75-DP9TvBrs.js.map +0 -1
- package/src/admin/app/dist/server/assets/typebox-Dei93FPO-D_lCVdAz.js +0 -2
- package/src/admin/app/dist/server/assets/typebox-Dei93FPO-D_lCVdAz.js.map +0 -1
- package/src/admin/app/dist/server/assets/valibot--1zFm7rT-BKGsXNQL.js +0 -2
- package/src/admin/app/dist/server/assets/valibot--1zFm7rT-BKGsXNQL.js.map +0 -1
- package/src/admin/app/dist/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js +0 -2
- package/src/admin/app/dist/server/assets/valibot-D_HTw1Gn-BNmO9Liy.js.map +0 -1
- package/src/admin/app/dist/server/assets/worker-entry-DcGlpZzO.js +0 -93
- package/src/admin/app/dist/server/assets/worker-entry-DcGlpZzO.js.map +0 -1
- package/src/admin/app/dist/server/assets/zod-Bwrt9trS-DuX8BREF.js +0 -2
- package/src/admin/app/dist/server/assets/zod-Bwrt9trS-DuX8BREF.js.map +0 -1
- package/src/admin/app/dist/server/assets/zod-DSgpEGAE-BF9ADewr.js +0 -2
- package/src/admin/app/dist/server/assets/zod-DSgpEGAE-BF9ADewr.js.map +0 -1
- package/src/admin/app/dist/server/index.js +0 -1
- package/src/admin/app/dist/server/wrangler.json +0 -1
- package/src/admin/app/env.ts +0 -11
- package/src/admin/app/lib/Client.ts +0 -38
- package/src/admin/app/package.json +0 -8
- package/src/admin/app/routeTree.gen.ts +0 -86
- package/src/admin/app/router.tsx +0 -19
- package/src/admin/app/routes/[_]dev.sign-in.tsx +0 -93
- package/src/admin/app/routes/__root.tsx +0 -97
- package/src/admin/app/routes/index.tsx +0 -20
- package/src/admin/app/screens/Dashboard.tsx +0 -84
- package/src/admin/app/screens/dev/SignIn.tsx +0 -213
- package/src/admin/app/server.ts +0 -129
- package/src/admin/app/tsconfig.json +0 -7
- package/src/admin/app/vite.config.ts +0 -52
- package/src/admin/app/void.config.ts +0 -17
- package/src/admin/app/zyzz.config.ts +0 -25
- package/src/admin/apps.ts +0 -472
- package/src/admin/dev/Session.ts +0 -332
- package/src/admin/dev/signIn.ts +0 -381
- package/src/admin/index.ts +0 -14
- package/src/admin/session.ts +0 -60
- package/src/cli/AdminApi.ts +0 -134
- package/src/client/Admin.ts +0 -76
- package/src/client/actions/admin/apps.ts +0 -257
- package/src/client/actions/admin.ts +0 -5
- package/src/internal/AdminApps.ts +0 -64
package/README.md
CHANGED
|
@@ -64,8 +64,6 @@ npx tempo-id init my-id --from "Tempo ID <noreply@id.example.com>" --url https:/
|
|
|
64
64
|
|
|
65
65
|
[Self-hosting](docs/self-hosting.md) covers the database, secrets, migrations, and deploys.
|
|
66
66
|
|
|
67
|
-
An optional second Worker runs the Admin API and its dashboard through `Admin.create` from `@tempoxyz/id/admin`, on a host that the public cannot reach, with an `authorize` function of the deployment's own. [Admin API](docs/development/admin.md) describes Tempo's deployment of it.
|
|
68
|
-
|
|
69
67
|
## Playgrounds
|
|
70
68
|
|
|
71
69
|
[`playgrounds/`](playgrounds/README.md) holds one app per flow, deployed beside `https://id.tempo.xyz`.
|
|
@@ -111,7 +109,6 @@ Sign in at the printed URL with a test address, such as `tempo-id-test+dev@examp
|
|
|
111
109
|
pnpm i # install dependencies
|
|
112
110
|
pnpm dev # start Tempo ID, the playgrounds, and a local chain on OrbStack
|
|
113
111
|
pnpm dev:app # serve the app from src/app with Void, with HMR, the email inbox, and the dev toolbar
|
|
114
|
-
pnpm dev:admin # serve the admin app from src/admin/app with Void, with HMR, signed in as a local admin
|
|
115
112
|
pnpm dev:id # build the app, and serve apps/id with wrangler dev
|
|
116
113
|
pnpm env:pull # populate .env variables from 1Password
|
|
117
114
|
pnpm build # build the package and the app
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Grant-D_tun0mF.js","names":["REASONS.closePress","BaseUi.Popover.Close","BaseUi.Popover.Root","BaseUi.Popover.Trigger","_jsx","BaseUi.Popover.Arrow","styles","BaseUi.Popover.Description","BaseUi.Popover.Portal","BaseUi.Popover.Positioner","BaseUi.Popover.Popup","BaseUi.Popover.Title","_jsxs","_jsx","_jsxs","_jsx","__import_glob__0_0_","__import_glob__0_1_","__import_glob__0_2_","__import_glob__0_3_","__import_glob__0_4_","__import_glob__0_5_","__import_glob__0_6_","__import_glob__0_7_","__import_glob__0_8_","__import_glob__0_9_","__import_glob__0_10_","__import_glob__0_11_","__import_glob__0_12_","__import_glob__0_13_","__import_glob__0_14_","__import_glob__0_15_","__import_glob__0_16_","__import_glob__0_17_","__import_glob__0_18_","__import_glob__0_19_","__import_glob__0_20_","__import_glob__0_21_","__import_glob__0_22_","__import_glob__0_23_","__import_glob__0_24_","__import_glob__0_25_","__import_glob__0_26_","__import_glob__0_27_","__import_glob__0_28_","__import_glob__0_29_","__import_glob__0_30_","__import_glob__0_31_","__import_glob__0_32_","__import_glob__0_33_","__import_glob__0_34_","__import_glob__0_35_","__import_glob__0_36_","__import_glob__1_0_","__import_glob__1_1_","useId","useState","_Fragment","__toESM","require_react","require_jsx_runtime","InfoCircle","CheckCircle","Stack","createChangeEventDetails","useRenderElement","useButton","closePress","create","popupStateMapping","useBaseUiId","Tooltip","usePopoverPositionerContext","PopoverRoot","useClosePartRegistration","PopoverPortal","PopoverPositioner","PopoverTrigger","PopoverPopup","usePopoverRootContext","Callout","Inline","Tag","import_react","PopoverArrow","elementProps","componentProps","open","arrowUncentered","forwardedRef","arrowRef","arrowStyles","PopoverTitle","store","id","PopoverDescription","PopoverClose","nativeButton","buttonRef","event","getButtonProps","import_jsx_runtime","Popover","Arrow","attributes","props","styles$1","Description","Popup","Title","BadgeCheck","XCircle","BRLA_default","BRZ_default","CHFAU_default","DLUSD_default","EURAU_default","EURC_e_default","GBPA_default","GUSD_default","MACH_default","OUSD_default","PRIME_default","SBC_default","SEKAU_default","USD1_default","USDB_default","USDC_e_default","USDT0_default","USDY_default","USDe_default","YLDS_default","alphaUSD_default","betaUSD_default","cUSD_default","cbBTC_default","frxUSD_default","goUSD_default","iUSD_default","pathUSD_default","rUSD_default","reUSD_default","sUSDe_default","siUSD_default","stcUSD_default","syrupUSDC_default","thetaUSD_default","wYLDS_default","wsrUSD_default","OUSD_dark_default","OUSD_light_default","icons","file","url","logos","symbol","scheme","result","Grant","deniedId","detailsId","details","setDetails","Heading","channels","calls","call","topUp","styles","limits","limit","format","every","label","token","logo","icon","until","expiry","unrecognized","decimal","relative","spans","units","unit","seconds","period","entry","count","amount","remaining"],"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/popover/arrow/PopoverArrow.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/popover/title/PopoverTitle.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/popover/description/PopoverDescription.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/popover/close/PopoverClose.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/Popover.css","../../../../../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/Popover.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/BadgeCheck.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/XCircle.js","../../../components/icons/BRLA.png?no-inline","../../../components/icons/BRZ.svg?no-inline","../../../components/icons/CHFAU.png?no-inline","../../../components/icons/DLUSD.png?no-inline","../../../components/icons/EURAU.svg?no-inline","../../../components/icons/EURC.e.svg?no-inline","../../../components/icons/GBPA.svg?no-inline","../../../components/icons/GUSD.svg?no-inline","../../../components/icons/MACH.svg?no-inline","../../../components/icons/OUSD.svg?no-inline","../../../components/icons/PRIME.svg?no-inline","../../../components/icons/SBC.svg?no-inline","../../../components/icons/SEKAU.svg?no-inline","../../../components/icons/USD1.svg?no-inline","../../../components/icons/USDB.svg?no-inline","../../../components/icons/USDC.e.svg?no-inline","../../../components/icons/USDT0.svg?no-inline","../../../components/icons/USDY.svg?no-inline","../../../components/icons/USDe.svg?no-inline","../../../components/icons/YLDS.svg?no-inline","../../../components/icons/alphaUSD.svg?no-inline","../../../components/icons/betaUSD.svg?no-inline","../../../components/icons/cUSD.svg?no-inline","../../../components/icons/cbBTC.svg?no-inline","../../../components/icons/frxUSD.svg?no-inline","../../../components/icons/goUSD.svg?no-inline","../../../components/icons/iUSD.svg?no-inline","../../../components/icons/pathUSD.svg?no-inline","../../../components/icons/rUSD.svg?no-inline","../../../components/icons/reUSD.svg?no-inline","../../../components/icons/sUSDe.svg?no-inline","../../../components/icons/siUSD.svg?no-inline","../../../components/icons/stcUSD.svg?no-inline","../../../components/icons/syrupUSDC.svg?no-inline","../../../components/icons/thetaUSD.svg?no-inline","../../../components/icons/wYLDS.svg?no-inline","../../../components/icons/wsrUSD.svg?no-inline","../../../components/logos/OUSD.dark.svg?no-inline","../../../components/logos/OUSD.light.svg?no-inline","../../../components/Grant.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { usePopoverPositionerContext } from \"../positioner/PopoverPositionerContext.mjs\";\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { popupStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * Displays an element positioned against the popover anchor.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverArrow = /*#__PURE__*/React.forwardRef(function PopoverArrow(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = usePopoverRootContext();\n const open = store.useState('open');\n const {\n arrowRef,\n side,\n align,\n arrowUncentered,\n arrowStyles\n } = usePopoverPositionerContext();\n const state = {\n open,\n side,\n align,\n uncentered: arrowUncentered\n };\n const element = useRenderElement('div', componentProps, {\n state,\n ref: [forwardedRef, arrowRef],\n props: [{\n style: arrowStyles,\n 'aria-hidden': true\n }, elementProps],\n stateAttributesMapping: popupStateMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverArrow.displayName = \"PopoverArrow\";","'use client';\n\nimport * as React from 'react';\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\n\n/**\n * A heading that labels the popover.\n * Renders an `<h2>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverTitle = /*#__PURE__*/React.forwardRef(function PopoverTitle(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = usePopoverRootContext();\n const id = useBaseUiId(elementProps.id);\n store.useSyncedValueWithCleanup('titleElementId', id);\n const element = useRenderElement('h2', componentProps, {\n ref: forwardedRef,\n props: [{\n id\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverTitle.displayName = \"PopoverTitle\";","'use client';\n\nimport * as React from 'react';\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * A paragraph with additional information about the popover.\n * Renders a `<p>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverDescription = /*#__PURE__*/React.forwardRef(function PopoverDescription(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = usePopoverRootContext();\n const id = useBaseUiId(elementProps.id);\n store.useSyncedValueWithCleanup('descriptionElementId', id);\n const element = useRenderElement('p', componentProps, {\n ref: forwardedRef,\n props: [{\n id\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverDescription.displayName = \"PopoverDescription\";","'use client';\n\nimport * as React from 'react';\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useButton } from \"../../internals/use-button/index.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useClosePartRegistration } from \"../../utils/closePart.mjs\";\n\n/**\n * A button that closes the popover.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverClose = /*#__PURE__*/React.forwardRef(function PopoverClose(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n disabled = false,\n nativeButton = true,\n ...elementProps\n } = componentProps;\n const {\n buttonRef,\n getButtonProps\n } = useButton({\n disabled,\n focusableWhenDisabled: false,\n native: nativeButton\n });\n const store = usePopoverRootContext();\n useClosePartRegistration();\n const element = useRenderElement('button', componentProps, {\n ref: [forwardedRef, buttonRef],\n props: [{\n onClick(event) {\n store.setOpen(false, createChangeEventDetails(REASONS.closePress, event.nativeEvent));\n }\n }, elementProps, getButtonProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverClose.displayName = \"PopoverClose\";",".z_tds_2f_web-WYxykg0{color:var(--z-tds_2f_web-color-background-raised,light-dark(#fff,#1f1e1e))}.z_tds_2f_web-WYxykg1{display:flex}.z_tds_2f_web-WYxykg2{&[data-side=bottom]{top:-10px}}.z_tds_2f_web-WYxykg3{&[data-side=left]{right:-14px}}.z_tds_2f_web-WYxykg4{&[data-side=left]{rotate:90deg}}.z_tds_2f_web-WYxykg5{&[data-side=right]{left:-14px}}.z_tds_2f_web-WYxykg6{&[data-side=right]{rotate:-90deg}}.z_tds_2f_web-WYxykg7{&[data-side=top]{bottom:-10px}}.z_tds_2f_web-WYxykg8{&[data-side=top]{rotate:180deg}}.z_tds_2f_web-WYxykg9{color:var(--z-tds_2f_web-color-gray-900,light-dark(#4d4d4d,#bcbbbb))}.z_tds_2f_web-WYxykga{margin:var(--z-tds_2f_web-spacing-0,0rem)}.z_tds_2f_web-WYxykgb{font-family:var(--z-tds_2f_web-typography-copy-14-fontFamily,Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\")}.z_tds_2f_web-WYxykgc{font-size:var(--z-tds_2f_web-typography-copy-14-fontSize,14px)}.z_tds_2f_web-WYxykgd{font-weight:var(--z-tds_2f_web-typography-copy-14-fontWeight,450)}.z_tds_2f_web-WYxykge{letter-spacing:var(--z-tds_2f_web-typography-copy-14-letterSpacing,-.09px)}.z_tds_2f_web-WYxykgf{line-height:var(--z-tds_2f_web-typography-copy-14-lineHeight,20px)}.z_tds_2f_web-WYxykgg{background-color:var(--z-tds_2f_web-color-background-raised,light-dark(#fff,#1f1e1e))}.z_tds_2f_web-WYxykgh{border-radius:var(--z-tds_2f_web-radius-16,1rem)}.z_tds_2f_web-WYxykgi{box-shadow:var(--z-tds_2f_web-shadow-popover,0 0 0 1px light-dark(#0000000f,#ffffff14), 0 8px 24px -4px #0000001f, 0 24px 48px -12px #00000029)}.z_tds_2f_web-WYxykgj{box-sizing:border-box}.z_tds_2f_web-WYxykgk{color:var(--z-tds_2f_web-color-foreground,light-dark(#171717,#fff))}.z_tds_2f_web-WYxykgl{max-width:var(--available-width)}.z_tds_2f_web-WYxykgm{outline:none}.z_tds_2f_web-WYxykgn{padding:var(--z-tds_2f_web-spacing-24,1.5rem)}.z_tds_2f_web-WYxykgo{transform-origin:var(--transform-origin)}.z_tds_2f_web-WYxykgp{transition-duration:var(--z-tds_2f_web-transitionDuration-200,.2s)}.z_tds_2f_web-WYxykgq{transition-property:opacity,scale}.z_tds_2f_web-WYxykgr{transition-timing-function:var(--z-tds_2f_web-ease-snappy,cubic-bezier(.23, 1, .32, 1))}.z_tds_2f_web-WYxykgs{width:max-content}.z_tds_2f_web-WYxykgt{&[data-ending-style]{opacity:0}}.z_tds_2f_web-WYxykgu{&[data-ending-style]{scale:var(--z-tds_2f_web-scale-enter,.96)}}.z_tds_2f_web-WYxykgv{&[data-ending-style]{transition-duration:var(--z-tds_2f_web-transitionDuration-140,.14s)}}.z_tds_2f_web-WYxykgw{&[data-starting-style]{opacity:0}}.z_tds_2f_web-WYxykgx{&[data-starting-style]{scale:var(--z-tds_2f_web-scale-enter,.96)}}@media (prefers-reduced-motion:reduce){.z_tds_2f_web-WYxykgy{transition-property:opacity}.z_tds_2f_web-WYxykgz{&[data-ending-style],&[data-starting-style]{scale:none}}}.z_tds_2f_web-WYxykg10{z-index:var(--z-tds_2f_web-zIndex-popover,50)}.z_tds_2f_web-WYxykg11{font-family:var(--z-tds_2f_web-typography-heading-20-fontFamily,Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\")}.z_tds_2f_web-WYxykg12{font-size:var(--z-tds_2f_web-typography-heading-20-fontSize,20px)}.z_tds_2f_web-WYxykg13{font-weight:var(--z-tds_2f_web-typography-heading-20-fontWeight,600)}.z_tds_2f_web-WYxykg14{letter-spacing:var(--z-tds_2f_web-typography-heading-20-letterSpacing,-.33px)}.z_tds_2f_web-WYxykg15{line-height:var(--z-tds_2f_web-typography-heading-20-lineHeight,26px)}.z_tds_2f_web-WYxykg16{margin:var(--z-tds_2f_web-spacing-0,0rem)}.z_tds_2f_web-WYxykg17{margin-bottom:var(--z-tds_2f_web-spacing-4,.25rem)}","\nimport { Props as __zyzzProps } from 'zyzz/runtime';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as BaseUi from '@base-ui/react/popover';\nimport { style } from '../zyzz.config.js';\n/**\n * A non-modal `dialog` anchored to a trigger and opened on click. Opening moves focus to the first\n * tabbable element inside, or to the popup on touch. Escape and outside presses close it and\n * return focus to the trigger.\n *\n * - Use it for interactive or longer content. Use `Tooltip` for a short hint on hover.\n * - Include `Title` so the dialog has an accessible name, and `Description` for supporting text.\n * - Offer `Close` when the popup holds a form or other controls.\n *\n * @example\n * <Popover.Root>\n * <Popover.Trigger render={<Button variant=\"secondary\" />}>Network fee</Popover.Trigger>\n * <Popover.Popup>\n * <Popover.Title>Network fee</Popover.Title>\n * <Popover.Description>Paid in the token you send.</Popover.Description>\n * </Popover.Popup>\n * </Popover.Root>\n *\n * @see {@link https://base-ui.com/react/components/popover | Base UI Popover}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Popover_API | MDN Popover API}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/content-on-hover-or-focus.html | WCAG 2.2 Content on Hover or Focus}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/focus-order.html | WCAG 2.2 Focus Order}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html | WCAG 2.2 Keyboard}\n */\nexport var Popover;\n(function (Popover) {\n /** Renders a `button` that closes the popover. Pass `render` to use a `Button`. */\n Popover.Close = BaseUi.Popover.Close;\n /**\n * Owns the open state. Pass `open` and `onOpenChange` to control it. Unless `modal` is set, the\n * page stays interactive while the popover is open.\n */\n Popover.Root = BaseUi.Popover.Root;\n /**\n * Toggles the popover on click and anchors the popup. Set `openOnHover` to also open it on hover.\n *\n * @example\n * <Popover.Trigger render={<Button variant=\"secondary\" />}>Network fee</Popover.Trigger>\n */\n Popover.Trigger = BaseUi.Popover.Trigger;\n /** Draws a pointer toward the trigger on the popup's anchored side. Place it inside `Popup`. */\n function Arrow(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Arrow, { ...attributes, ...styles.arrow({ className, style: props.style, vars }), children: _jsx(\"svg\", { \"aria-hidden\": \"true\", fill: \"currentColor\", height: \"10\", viewBox: \"0 0 20 10\", width: \"20\", children: _jsx(\"path\", { d: \"M0 10C4 10 7 7 8.6 4.6a2 2 0 0 1 2.8 0C13 7 16 10 20 10Z\" }) }) }));\n }\n Popover.Arrow = Arrow;\n /** Renders a `p` that describes the popup through `aria-describedby`. */\n function Description(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Description, { ...attributes, ...styles.description({ className, style: props.style, vars }) }));\n }\n Popover.Description = Description;\n /**\n * Renders the portal, positioner and popup. Placement props go to the positioner, which sits 8px\n * from the trigger unless `sideOffset` is set. Other props, `ref`, `className` and `style` reach\n * the popup. `initialFocus` and `finalFocus` override where focus moves on open and close.\n */\n function Popup(props) {\n const { align, alignOffset, anchor, className, collisionPadding, side, sideOffset = 8, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Portal, { children: _jsx(BaseUi.Popover.Positioner, { ...styles.positioner(), align: align, alignOffset: alignOffset, anchor: anchor, collisionPadding: collisionPadding, side: side, sideOffset: sideOffset, children: _jsx(BaseUi.Popover.Popup, { ...attributes, ...styles.popup({ className, style: props.style, vars }) }) }) }));\n }\n Popover.Popup = Popup;\n /** Renders an `h2` that names the popup through `aria-labelledby`. */\n function Title(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Title, { ...attributes, ...styles.title({ className, style: props.style, vars }) }));\n }\n Popover.Title = Title;\n})(Popover || (Popover = {}));\nvar styles;\n(function (styles) {\n styles.arrow = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg0 z_tds_2f_web-WYxykg1 z_tds_2f_web-WYxykg2 z_tds_2f_web-WYxykg3 z_tds_2f_web-WYxykg4 z_tds_2f_web-WYxykg5 z_tds_2f_web-WYxykg6 z_tds_2f_web-WYxykg7 z_tds_2f_web-WYxykg8\"});\n styles.description = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg9 z_tds_2f_web-WYxykga z_tds_2f_web-WYxykgb z_tds_2f_web-WYxykgc z_tds_2f_web-WYxykgd z_tds_2f_web-WYxykge z_tds_2f_web-WYxykgf\"});\n styles.popup = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykgg z_tds_2f_web-WYxykgh z_tds_2f_web-WYxykgi z_tds_2f_web-WYxykgj z_tds_2f_web-WYxykgk z_tds_2f_web-WYxykgl z_tds_2f_web-WYxykgm z_tds_2f_web-WYxykgn z_tds_2f_web-WYxykgo z_tds_2f_web-WYxykgp z_tds_2f_web-WYxykgq z_tds_2f_web-WYxykgr z_tds_2f_web-WYxykgb z_tds_2f_web-WYxykgc z_tds_2f_web-WYxykgd z_tds_2f_web-WYxykge z_tds_2f_web-WYxykgf z_tds_2f_web-WYxykgs z_tds_2f_web-WYxykgt z_tds_2f_web-WYxykgu z_tds_2f_web-WYxykgv z_tds_2f_web-WYxykgw z_tds_2f_web-WYxykgx z_tds_2f_web-WYxykgy z_tds_2f_web-WYxykgz\"});\n styles.positioner = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg10\"});\n styles.title = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg11 z_tds_2f_web-WYxykg12 z_tds_2f_web-WYxykg13 z_tds_2f_web-WYxykg14 z_tds_2f_web-WYxykg15 z_tds_2f_web-WYxykg16 z_tds_2f_web-WYxykg17\"});\n})(styles || (styles = {}));\n//# sourceMappingURL=Popover.js.map\nimport './Popover.css';\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function BadgeCheck(props) {\n return (_jsxs(\"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: \"M9.9691 6.50791C10.1268 6.28127 10.4387 6.2253 10.6654 6.38291C10.8915 6.54061 10.9476 6.85173 10.7904 7.07822L8.1859 10.8253C8.10463 10.9422 7.97661 11.0189 7.83532 11.0362C7.69403 11.0533 7.5516 11.009 7.44469 10.9151L5.95641 9.60361C5.74921 9.42107 5.72894 9.10476 5.91149 8.89756C6.09407 8.69075 6.4095 8.67124 6.61657 8.85361L7.68395 9.79306L9.9691 6.50791Z\", fill: \"currentColor\" }), _jsx(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M7.67516 1.61826C8.13077 1.16265 8.86994 1.16265 9.32555 1.61826L10.7591 3.05185C10.7902 3.08262 10.8326 3.10058 10.8763 3.10068H12.7338C13.3779 3.10081 13.9006 3.62258 13.9007 4.2667V6.12412C13.9009 6.16817 13.9184 6.21112 13.9496 6.24228L15.3832 7.6749C15.8384 8.13047 15.8385 8.86977 15.3832 9.32529L13.9496 10.7589C13.9185 10.79 13.9008 10.8321 13.9007 10.8761V12.7335C13.9005 13.3776 13.3778 13.9004 12.7338 13.9005H10.8763C10.8323 13.9006 10.7903 13.9182 10.7591 13.9493L9.32555 15.3829C8.87002 15.8381 8.1307 15.8381 7.67516 15.3829L6.24254 13.9493C6.21134 13.9181 6.16849 13.9005 6.12438 13.9005H4.26696C3.6229 13.9003 3.10117 13.3775 3.10094 12.7335V10.8761C3.10084 10.8323 3.08288 10.79 3.05211 10.7589L1.61852 9.32529C1.16294 8.86971 1.163 8.13052 1.61852 7.6749L3.05211 6.24228C3.08324 6.21113 3.10083 6.16815 3.10094 6.12412V4.2667C3.1011 3.62259 3.62285 3.10084 4.26696 3.10068H6.12438C6.16843 3.10062 6.21135 3.08297 6.24254 3.05185L7.67516 1.61826ZM8.61852 2.32529C8.5535 2.26027 8.44827 2.26042 8.38317 2.32529L6.94957 3.75888C6.73085 3.97753 6.43365 4.10062 6.12438 4.10068H4.26696C4.17514 4.10084 4.1011 4.17488 4.10094 4.2667V6.12412C4.10083 6.43336 3.97781 6.73062 3.75914 6.94931L2.32555 8.38291C2.26077 8.44802 2.26056 8.55327 2.32555 8.61826L3.75914 10.0519C3.97744 10.2705 4.10084 10.5671 4.10094 10.8761V12.7335C4.10117 12.8253 4.17518 12.9003 4.26696 12.9005H6.12438C6.43371 12.9005 6.73084 13.0235 6.94957 13.2423L8.38317 14.6749C8.44825 14.7396 8.55353 14.7398 8.61852 14.6749L10.0521 13.2423C10.2708 13.0236 10.5671 12.9006 10.8763 12.9005H12.7338C12.8256 12.9004 12.9005 12.8253 12.9007 12.7335V10.8761C12.9008 10.5669 13.0239 10.2705 13.2425 10.0519L14.6752 8.61826C14.7401 8.55328 14.7399 8.44802 14.6752 8.38291L13.2425 6.94931C13.0239 6.73062 12.9009 6.43339 12.9007 6.12412V4.2667C12.9006 4.17486 12.8256 4.10081 12.7338 4.10068H10.8763C10.5674 4.10058 10.2708 3.97719 10.0521 3.75888L8.61852 2.32529Z\", fill: \"currentColor\" })] }));\n}\n//# sourceMappingURL=BadgeCheck.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function XCircle(props) {\n return (_jsxs(\"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: \"M9.64648 5.64648C9.84175 5.45122 10.1583 5.45122 10.3535 5.64648C10.5487 5.84175 10.5488 6.15827 10.3535 6.35352L8.70703 8L10.3535 9.64648C10.5487 9.84175 10.5488 10.1583 10.3535 10.3535C10.1583 10.5488 9.84175 10.5487 9.64648 10.3535L8 8.70703L6.35352 10.3535C6.15827 10.5488 5.84175 10.5487 5.64648 10.3535C5.45122 10.1583 5.45122 9.84175 5.64648 9.64648L7.29297 8L5.64648 6.35352C5.45122 6.15825 5.45122 5.84175 5.64648 5.64648C5.84175 5.45122 6.15825 5.45122 6.35352 5.64648L8 7.29297L9.64648 5.64648Z\", fill: \"currentColor\" }), _jsx(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M8 1.33301C11.6817 1.33318 14.666 4.31919 14.666 8.00098C14.6656 11.6824 11.6815 14.6668 8 14.667C4.31837 14.667 1.33345 11.6825 1.33301 8.00098C1.33301 4.31908 4.3181 1.33301 8 1.33301ZM8 2.33398C4.87039 2.33398 2.33301 4.87137 2.33301 8.00098C2.33345 11.1302 4.87066 13.667 8 13.667C11.1292 13.6668 13.6656 11.1301 13.666 8.00098C13.666 4.87147 11.1294 2.33416 8 2.33398Z\", fill: \"currentColor\" })] }));\n}\n//# sourceMappingURL=XCircle.js.map","export default import.meta.ROLLDOWN_FILE_URL_Msg57USEadASvSStYSdmzA","export default import.meta.ROLLDOWN_FILE_URL_epdbhdyBUyD3hvxx0_dcTg","export default import.meta.ROLLDOWN_FILE_URL_gOpBNSELCNdnM_yZlyA5OQ","export default import.meta.ROLLDOWN_FILE_URL_dJ$ULFcuzX43djbIEsCZPw","export default import.meta.ROLLDOWN_FILE_URL_ykb1zIozoJBMq4UvQnlhcQ","export default import.meta.ROLLDOWN_FILE_URL_BjjUHagISQHtPWYmu3KuwQ","export default import.meta.ROLLDOWN_FILE_URL_ZoP2ebLT5e$hm8jPkF9mgA","export default import.meta.ROLLDOWN_FILE_URL_2$LtLFQdS6IeO$uJxLxRJQ","export default import.meta.ROLLDOWN_FILE_URL_U2YZxvNlcnuoWcGKwa9Wsw","export default import.meta.ROLLDOWN_FILE_URL_cLZLOsSELI_GmwKcVOKKRw","export default import.meta.ROLLDOWN_FILE_URL__ewJD0zO9$SsiDvawfmAUw","export default import.meta.ROLLDOWN_FILE_URL_m8R6TgWxwop2r_xOIPNRtg","export default import.meta.ROLLDOWN_FILE_URL_rN_1li4k2aIbHGs0zKW8QQ","export default import.meta.ROLLDOWN_FILE_URL_6MQCagmCrZzS5dHPKhXWKQ","export default import.meta.ROLLDOWN_FILE_URL_hO4dd8ILk$iZF7aFIOUkdg","export default import.meta.ROLLDOWN_FILE_URL_2ZEzIIM_atdpHcr$6kvj$Q","export default import.meta.ROLLDOWN_FILE_URL_pADEGV0e5Qot5ZhzD_GrLg","export default import.meta.ROLLDOWN_FILE_URL_SH3JcDOvWNcn2WIvxBnLpg","export default import.meta.ROLLDOWN_FILE_URL_K1daVVNYU_lXF$FdA5v55g","export default import.meta.ROLLDOWN_FILE_URL_C$4kQWR6NkPB83QJdL0WCQ","export default import.meta.ROLLDOWN_FILE_URL_9kBTUqaINCHDANxrI10WCw","export default import.meta.ROLLDOWN_FILE_URL_7PUm3F_uVf$21BIFLSklvQ","export default import.meta.ROLLDOWN_FILE_URL_E8wuXQ_AmxPT2QBGX_$9Vw","export default import.meta.ROLLDOWN_FILE_URL_q6tfGKm3Qmt5DJmATeHQdA","export default import.meta.ROLLDOWN_FILE_URL_OestAvA2SyLT4CG6L76dAw","export default import.meta.ROLLDOWN_FILE_URL_U6muqRGa8aHtq8t0c9wAzg","export default import.meta.ROLLDOWN_FILE_URL_nJkgIVJgL11RgZiGUBj6wA","export default import.meta.ROLLDOWN_FILE_URL_aLISaAY6NSiJFT$6GdtrfA","export default import.meta.ROLLDOWN_FILE_URL_tgFyw$X211zXSctfMU9_LA","export default import.meta.ROLLDOWN_FILE_URL_LphhLScmzwPqWwTyAbd7ig","export default import.meta.ROLLDOWN_FILE_URL_TX5a1iViCylaCWPFSCQG2w","export default import.meta.ROLLDOWN_FILE_URL_i2ywl_YzKp2MjtOEr7ngzA","export default import.meta.ROLLDOWN_FILE_URL_kSHvwCjLFxLpY3FM1MyAsA","export default import.meta.ROLLDOWN_FILE_URL_y3WuTrdTs_Si7uYpRddj9w","export default import.meta.ROLLDOWN_FILE_URL_0PgJxXqjw$KAl6PgZjQb5g","export default import.meta.ROLLDOWN_FILE_URL_EsSyonNWXFChOyjfj2S3nw","export default import.meta.ROLLDOWN_FILE_URL_zOyQqdNGsn0lL_XEFrarVA","export default import.meta.ROLLDOWN_FILE_URL_yW_eMvu1QqHghXJHMLbBbg","export default import.meta.ROLLDOWN_FILE_URL_07gvO1IvTzTCTyYqp_a5mw","/** Shows a requested key's limits and expiry, and warns about unrecognized calls. @module */\nimport { Callout, Inline, Popover, Stack, Tag, Tooltip } from '@tempoxyz/ds'\nimport { CheckCircle, InfoCircle, XCircle } from '@tempoxyz/ds/icons'\nimport { type ReactNode, useId, useState } from 'react'\nimport type * as KeyAuthorization from '../../internal/KeyAuthorization.js'\nimport { style } from '../zyzz.config.js'\n\n/**\n * Each token's icon URL, by symbol. Each icon stays its own file, since an inlined icon would put\n * every token's icon in the script of each page that shows a key.\n */\nconst icons = Object.fromEntries(\n Object.entries(\n import.meta.glob<string>('./icons/*.{png,svg,webp}', {\n eager: true,\n import: 'default',\n query: '?no-inline',\n }),\n ).map(([file, url]) => [\n file.slice('./icons/'.length, file.lastIndexOf('.')),\n url,\n ]),\n)\n\n/** Logos from `logos/`, by symbol and color scheme, each its own file. A logo replaces the icon. */\nconst logos = Object.entries(\n import.meta.glob<string>('./logos/*.{light,dark}.{png,svg,webp}', {\n eager: true,\n import: 'default',\n query: '?no-inline',\n }),\n).reduce<Record<string, { dark?: string; light?: string }>>(\n (result, [file, url]) => {\n const [, symbol, scheme] = file.match(\n /^\\.\\/logos\\/(.+)\\.(light|dark)\\.\\w+$/,\n )!\n result[symbol!] = { ...result[symbol!], [scheme!]: url }\n return result\n },\n {},\n)\n\n/** What the requested key may and may not do, with its limits and expiry. */\nexport function Grant(props: Grant.Props): ReactNode {\n // Several grants can share a document, so each derives its own IDs.\n const id = useId()\n const deniedId = useId()\n const detailsId = useId()\n // The unrecognized calls stay collapsed under their one-line warning until the user opens them.\n const [details, setDetails] = useState(false)\n const { calls, expiry, limits, unrecognized } = props.keyAuthorization\n const Heading = props.heading ?? 'h2'\n // MPP sessions pay through payment channels, which `open` starts and `topUp` funds. Both read as\n // funds the app holds, since a channel is an escrow that the service draws from.\n const channels = (() => {\n const open = calls.some((call) => call.call === 'open')\n const topUp = calls.some((call) => call.call === 'topUp')\n if (open) return 'Hold funds for services'\n if (topUp) return 'Add to funds it holds for services'\n return undefined\n })()\n return (\n <>\n <Stack\n {...styles.section()}\n aria-labelledby={id}\n gap=\"24\"\n render={<section />}\n >\n {props.chain ? (\n <Tag\n {...styles.chain()}\n aria-label={`Chain: ${props.chain}`}\n intent=\"neutral\"\n shape=\"rounded\"\n size=\"small\"\n >\n {props.chain}\n </Tag>\n ) : null}\n <Stack gap=\"12\">\n <Heading {...styles.heading()} id={id}>\n This app will be able to:\n </Heading>\n <Stack\n {...styles.list()}\n aria-labelledby={id}\n gap=\"8\"\n render={<ul />}\n >\n <Inline gap=\"8\" render={<li />}>\n <CheckCircle {...styles.allowed()} />\n <span>View your balance and activity</span>\n </Inline>\n {limits.map((limit) => (\n <Inline\n gap=\"8\"\n key={`${limit.currency}:${limit.period ?? 0}`}\n render={<li />}\n >\n <CheckCircle {...styles.allowed()} />\n <span>\n Spend{' '}\n {limit.period\n ? `${format(limit)} ${every(limit.period)}`\n : format(limit)}\n </span>\n <span {...styles.icons()}>\n {limit.tokens.map((token) => {\n // Each token's own limit shows on its icon, since the total spans several.\n const label = `${token.symbol}: ${format({ amount: token.amount, currency: limit.currency })}`\n const logo = logos[token.symbol]\n const icon = logo?.light ?? icons[token.symbol]\n return (\n <Tooltip.Root key={token.symbol}>\n <Tooltip.Trigger\n delay={150}\n render={\n <span {...styles.token()} tabIndex={0}>\n {icon ? (\n // The page follows the system color scheme, so the image does too.\n <picture>\n {logo?.dark ? (\n <source\n media=\"(prefers-color-scheme: dark)\"\n srcSet={logo.dark}\n />\n ) : null}\n <img\n {...styles.icon()}\n alt={label}\n height={20}\n src={icon}\n width={20}\n />\n </picture>\n ) : (\n // A token without a logo shows its initial.\n <span\n {...styles.placeholder()}\n aria-label={label}\n role=\"img\"\n >\n {token.symbol[0]}\n </span>\n )}\n </span>\n }\n />\n <Tooltip.Popup>{label}</Tooltip.Popup>\n </Tooltip.Root>\n )\n })}\n </span>\n </Inline>\n ))}\n {channels ? (\n <Inline gap=\"8\" render={<li />}>\n <CheckCircle {...styles.allowed()} />\n <span>\n {channels.slice(0, channels.lastIndexOf(' ') + 1)}\n {/* The last word and the icon wrap together. */}\n <span {...styles.nowrap()}>\n {channels.slice(channels.lastIndexOf(' ') + 1)}{' '}\n <Popover.Root>\n <Popover.Trigger\n aria-label=\"About funds for services\"\n nativeButton={false}\n openOnHover\n render={<InfoCircle {...styles.info()} tabIndex={0} />}\n />\n <Popover.Popup\n {...styles.popup()}\n aria-label=\"Funds for services\"\n >\n <Popover.Description>\n Set aside for pay-as-you-go services that use{' '}\n <a\n {...styles.popupLink()}\n href=\"https://mpp.dev\"\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n MPP\n </a>\n . They take only what you use, and you get the rest\n back.\n </Popover.Description>\n </Popover.Popup>\n </Popover.Root>\n </span>\n </span>\n </Inline>\n ) : null}\n </Stack>\n </Stack>\n <Stack gap=\"12\">\n <Heading {...styles.heading()} id={deniedId}>\n This app won’t be able to:\n </Heading>\n <Stack\n {...styles.list()}\n aria-labelledby={deniedId}\n gap=\"8\"\n render={<ul />}\n >\n <Inline gap=\"8\" render={<li />}>\n <XCircle {...styles.denied()} />\n <span>Spend more than you approve</span>\n </Inline>\n </Stack>\n </Stack>\n <Stack {...styles.details()} gap=\"8\" render={<dl />}>\n <div>\n <dt {...styles.term()}>Expires</dt>{' '}\n <dd {...styles.value()}>\n {until(expiry)}{' '}\n {/* The tooltip's text never reaches the server render, so it shows the visitor's own time zone. */}\n <Tooltip.Root>\n <Tooltip.Trigger\n delay={150}\n render={\n <InfoCircle\n {...styles.info()}\n aria-label=\"Expiry date\"\n role=\"img\"\n tabIndex={0}\n />\n }\n />\n <Tooltip.Popup>\n {new Date(expiry * 1000).toLocaleString(undefined, {\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n month: 'short',\n timeZoneName: 'short',\n year: 'numeric',\n })}\n </Tooltip.Popup>\n </Tooltip.Root>\n </dd>\n </div>\n </Stack>\n </Stack>\n {unrecognized.length ? (\n // A note, not an alert, since the calls are part of the request and interrupt nothing.\n <Callout intent=\"warning\" role=\"note\" size=\"medium\">\n <Callout.Icon />\n <Callout.Content>\n <Stack gap=\"8\">\n <p {...styles.warningTitle()}>This app can take other actions</p>\n {details ? (\n <Stack gap=\"8\" id={detailsId}>\n <p {...styles.warningText()}>\n Tempo ID can’t tell you what these actions do. Approve only\n if you trust this app.\n </p>\n </Stack>\n ) : null}\n </Stack>\n </Callout.Content>\n <Callout.Action\n aria-controls={detailsId}\n aria-expanded={details}\n onClick={() => setDetails((open) => !open)}\n >\n {details ? 'Hide' : 'Show'}\n </Callout.Action>\n </Callout>\n ) : null}\n </>\n )\n}\n\nexport declare namespace Grant {\n type Props = {\n /** The key's chain, shown in the corner. Absent, none shows. */\n chain?: string | undefined\n /** `h2` by default, or `h5` on the flows canvas. */\n heading?: 'h2' | 'h5' | undefined\n /** The key that the app requests. */\n keyAuthorization: KeyAuthorization.Description\n }\n}\n\n/**\n * Groups thousands and keeps every decimal. Each formatter is built at its first use, since a page's\n * first one loads the locale's data, which a page that shows no key never needs.\n */\nlet decimal: Intl.NumberFormat | undefined\n\n/** Formats an expiry's distance, such as `in 7 days`, from its first use. */\nlet relative: Intl.RelativeTimeFormat | undefined\n\n/** The spans of an expiry, largest first. Months and years are approximate. */\nconst spans = [\n ['year', 31_536_000],\n ['month', 2_592_000],\n ['week', 604_800],\n ['day', 86_400],\n ['hour', 3_600],\n ['minute', 60],\n] as const\n\n/** The units of a period, largest first. */\nconst units = [\n ['week', 604_800],\n ['day', 86_400],\n ['hour', 3_600],\n ['minute', 60],\n ['second', 1],\n] as const\n\n/** Returns how often a limit resets, such as `per day` or `every 2 weeks`. */\nfunction every(period: number) {\n const [unit, seconds] = units.find((entry) => period % entry[1] === 0)!\n const count = period / seconds\n return count === 1 ? `per ${unit}` : `every ${count} ${unit}s`\n}\n\n/** Formats a limit in its currency, such as `$1,000`, or as the amount and its code. */\nfunction format(\n limit: Pick<\n KeyAuthorization.Description['limits'][number],\n 'amount' | 'currency'\n >,\n) {\n const amount = limit.amount as Intl.StringNumericLiteral\n try {\n return new Intl.NumberFormat('en-US', {\n currency: limit.currency,\n maximumFractionDigits: 6,\n style: 'currency',\n trailingZeroDisplay: 'stripIfInteger',\n }).format(amount)\n } catch {\n // A yield-bearing token's own symbol is not a currency code.\n decimal ??= new Intl.NumberFormat('en-US', { maximumFractionDigits: 20 })\n return `${decimal.format(amount)} ${limit.currency}`\n }\n}\n\n/**\n * Returns the time until `expiry`, in Unix seconds, in its largest whole span, such as\n * `in 3 months`.\n */\nfunction until(expiry: number) {\n const remaining = expiry - Date.now() / 1000\n const [unit, seconds] =\n spans.find((entry) => remaining + 60 >= entry[1]) ?? spans.at(-1)!\n relative ??= new Intl.RelativeTimeFormat('en-US', { numeric: 'always' })\n return relative.format(Math.max(1, Math.round(remaining / seconds)), unit)\n}\n\nnamespace styles {\n export const allowed = style({\n color: 'green.700',\n flexShrink: 0,\n height: '20',\n width: '20',\n })\n\n export const chain = style({\n insetBlockStart: '16',\n insetInlineEnd: '16',\n position: 'absolute',\n })\n\n export const denied = style({\n color: 'red.700',\n flexShrink: 0,\n height: '20',\n width: '20',\n })\n\n // Each term and its value read as one line of text.\n export const details = style({ margin: '0', typography: 'copy.14' })\n\n export const heading = style({\n color: 'gray.900',\n margin: '0',\n typography: 'copy.14',\n })\n\n export const icon = style({\n borderRadius: 'full',\n display: 'block',\n height: '20',\n width: '20',\n })\n\n // Several tokens overlap, and spread apart while hovered so each symbol can show.\n export const icons = 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 info = style({\n color: 'gray.900',\n display: 'inline',\n height: '16',\n outline: 'none',\n verticalAlign: 'middle',\n width: '16',\n ':focus-visible': {\n outline: '2px solid',\n outlineColor: 'blue.700',\n outlineOffset: '2',\n },\n })\n\n export const list = style({\n listStyle: 'none',\n margin: '0',\n padding: '0',\n typography: 'label.14.strong',\n })\n\n export const nowrap = style({ whiteSpace: 'nowrap' })\n\n export const placeholder = style({\n alignItems: 'center',\n backgroundColor: 'background.surface',\n borderRadius: 'full',\n color: 'gray.900',\n display: 'flex',\n height: '20',\n justifyContent: 'center',\n typography: 'label.12',\n width: '20',\n })\n\n export const popup = style({ maxWidth: '256' })\n\n export const popupLink = style({ color: 'blue.700' })\n\n export const section = style({\n backgroundColor: 'gray.100',\n borderRadius: '16',\n margin: '0',\n padding: '20',\n // The chain's tag sits in the section's top-right corner.\n position: 'relative',\n })\n\n export const term = style({ color: 'gray.900', display: 'inline' })\n\n // The ring matches the section's fill, so overlapping tokens stay apart.\n export const token = style({\n borderRadius: 'full',\n outline: '2px solid',\n outlineColor: 'gray.100',\n ':focus-visible': { outlineColor: 'blue.700' },\n // Under reduced motion, the tokens spread apart without a transition.\n '@media (prefers-reduced-motion: no-preference)': {\n transitionDuration: '150',\n transitionProperty: 'margin',\n transitionTimingFunction: 'in-out',\n },\n })\n\n // The expiry reads in the weight of the permissions above it.\n export const value = style({\n display: 'inline',\n margin: '0',\n overflowWrap: 'anywhere',\n typography: 'label.14.strong',\n })\n\n export const warningText = style({ color: 'foreground' })\n\n export const warningTitle = style({ typography: 'label.14.strong' })\n}\n"],"ignoreList":[0,1,2,3,4,5,6,7],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Grant-D_tun0mF.js","names":["REASONS.closePress","BaseUi.Popover.Close","BaseUi.Popover.Root","BaseUi.Popover.Trigger","_jsx","BaseUi.Popover.Arrow","styles","BaseUi.Popover.Description","BaseUi.Popover.Portal","BaseUi.Popover.Positioner","BaseUi.Popover.Popup","BaseUi.Popover.Title","_jsxs","_jsx","_jsxs","_jsx","__import_glob__0_0_","__import_glob__0_1_","__import_glob__0_2_","__import_glob__0_3_","__import_glob__0_4_","__import_glob__0_5_","__import_glob__0_6_","__import_glob__0_7_","__import_glob__0_8_","__import_glob__0_9_","__import_glob__0_10_","__import_glob__0_11_","__import_glob__0_12_","__import_glob__0_13_","__import_glob__0_14_","__import_glob__0_15_","__import_glob__0_16_","__import_glob__0_17_","__import_glob__0_18_","__import_glob__0_19_","__import_glob__0_20_","__import_glob__0_21_","__import_glob__0_22_","__import_glob__0_23_","__import_glob__0_24_","__import_glob__0_25_","__import_glob__0_26_","__import_glob__0_27_","__import_glob__0_28_","__import_glob__0_29_","__import_glob__0_30_","__import_glob__0_31_","__import_glob__0_32_","__import_glob__0_33_","__import_glob__0_34_","__import_glob__0_35_","__import_glob__0_36_","__import_glob__1_0_","__import_glob__1_1_","useId","useState","_Fragment","__toESM","require_react","require_jsx_runtime","InfoCircle","CheckCircle","Stack","createChangeEventDetails","useRenderElement","useButton","closePress","create","popupStateMapping","useBaseUiId","Tooltip","usePopoverPositionerContext","PopoverRoot","useClosePartRegistration","PopoverPortal","PopoverPositioner","PopoverTrigger","PopoverPopup","usePopoverRootContext","Callout","Inline","Tag","import_react","PopoverArrow","elementProps","componentProps","open","arrowUncentered","forwardedRef","arrowRef","arrowStyles","PopoverTitle","store","id","PopoverDescription","PopoverClose","nativeButton","buttonRef","event","getButtonProps","import_jsx_runtime","Popover","Arrow","attributes","props","styles$1","Description","Popup","Title","BadgeCheck","XCircle","BRLA_default","BRZ_default","CHFAU_default","DLUSD_default","EURAU_default","EURC_e_default","GBPA_default","GUSD_default","MACH_default","OUSD_default","PRIME_default","SBC_default","SEKAU_default","USD1_default","USDB_default","USDC_e_default","USDT0_default","USDY_default","USDe_default","YLDS_default","alphaUSD_default","betaUSD_default","cUSD_default","cbBTC_default","frxUSD_default","goUSD_default","iUSD_default","pathUSD_default","rUSD_default","reUSD_default","sUSDe_default","siUSD_default","stcUSD_default","syrupUSDC_default","thetaUSD_default","wYLDS_default","wsrUSD_default","OUSD_dark_default","OUSD_light_default","icons","file","url","logos","symbol","scheme","result","Grant","deniedId","detailsId","details","setDetails","Heading","channels","calls","call","topUp","styles","limits","limit","format","every","label","token","logo","icon","until","expiry","unrecognized","decimal","relative","spans","units","unit","seconds","period","entry","count","amount","remaining"],"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/popover/arrow/PopoverArrow.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/popover/title/PopoverTitle.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/popover/description/PopoverDescription.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/popover/close/PopoverClose.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/Popover.css","../../../../../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/Popover.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/BadgeCheck.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/XCircle.js","../../../components/icons/BRLA.png?no-inline","../../../components/icons/BRZ.svg?no-inline","../../../components/icons/CHFAU.png?no-inline","../../../components/icons/DLUSD.png?no-inline","../../../components/icons/EURAU.svg?no-inline","../../../components/icons/EURC.e.svg?no-inline","../../../components/icons/GBPA.svg?no-inline","../../../components/icons/GUSD.svg?no-inline","../../../components/icons/MACH.svg?no-inline","../../../components/icons/OUSD.svg?no-inline","../../../components/icons/PRIME.svg?no-inline","../../../components/icons/SBC.svg?no-inline","../../../components/icons/SEKAU.svg?no-inline","../../../components/icons/USD1.svg?no-inline","../../../components/icons/USDB.svg?no-inline","../../../components/icons/USDC.e.svg?no-inline","../../../components/icons/USDT0.svg?no-inline","../../../components/icons/USDY.svg?no-inline","../../../components/icons/USDe.svg?no-inline","../../../components/icons/YLDS.svg?no-inline","../../../components/icons/alphaUSD.svg?no-inline","../../../components/icons/betaUSD.svg?no-inline","../../../components/icons/cUSD.svg?no-inline","../../../components/icons/cbBTC.svg?no-inline","../../../components/icons/frxUSD.svg?no-inline","../../../components/icons/goUSD.svg?no-inline","../../../components/icons/iUSD.svg?no-inline","../../../components/icons/pathUSD.svg?no-inline","../../../components/icons/rUSD.svg?no-inline","../../../components/icons/reUSD.svg?no-inline","../../../components/icons/sUSDe.svg?no-inline","../../../components/icons/siUSD.svg?no-inline","../../../components/icons/stcUSD.svg?no-inline","../../../components/icons/syrupUSDC.svg?no-inline","../../../components/icons/thetaUSD.svg?no-inline","../../../components/icons/wYLDS.svg?no-inline","../../../components/icons/wsrUSD.svg?no-inline","../../../components/logos/OUSD.dark.svg?no-inline","../../../components/logos/OUSD.light.svg?no-inline","../../../components/Grant.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { usePopoverPositionerContext } from \"../positioner/PopoverPositionerContext.mjs\";\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { popupStateMapping } from \"../../utils/popupStateMapping.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * Displays an element positioned against the popover anchor.\n * Renders a `<div>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverArrow = /*#__PURE__*/React.forwardRef(function PopoverArrow(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = usePopoverRootContext();\n const open = store.useState('open');\n const {\n arrowRef,\n side,\n align,\n arrowUncentered,\n arrowStyles\n } = usePopoverPositionerContext();\n const state = {\n open,\n side,\n align,\n uncentered: arrowUncentered\n };\n const element = useRenderElement('div', componentProps, {\n state,\n ref: [forwardedRef, arrowRef],\n props: [{\n style: arrowStyles,\n 'aria-hidden': true\n }, elementProps],\n stateAttributesMapping: popupStateMapping\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverArrow.displayName = \"PopoverArrow\";","'use client';\n\nimport * as React from 'react';\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\n\n/**\n * A heading that labels the popover.\n * Renders an `<h2>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverTitle = /*#__PURE__*/React.forwardRef(function PopoverTitle(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = usePopoverRootContext();\n const id = useBaseUiId(elementProps.id);\n store.useSyncedValueWithCleanup('titleElementId', id);\n const element = useRenderElement('h2', componentProps, {\n ref: forwardedRef,\n props: [{\n id\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverTitle.displayName = \"PopoverTitle\";","'use client';\n\nimport * as React from 'react';\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { useBaseUiId } from \"../../internals/useBaseUiId.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\n\n/**\n * A paragraph with additional information about the popover.\n * Renders a `<p>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverDescription = /*#__PURE__*/React.forwardRef(function PopoverDescription(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n ...elementProps\n } = componentProps;\n const store = usePopoverRootContext();\n const id = useBaseUiId(elementProps.id);\n store.useSyncedValueWithCleanup('descriptionElementId', id);\n const element = useRenderElement('p', componentProps, {\n ref: forwardedRef,\n props: [{\n id\n }, elementProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverDescription.displayName = \"PopoverDescription\";","'use client';\n\nimport * as React from 'react';\nimport { usePopoverRootContext } from \"../root/PopoverRootContext.mjs\";\nimport { useRenderElement } from \"../../internals/useRenderElement.mjs\";\nimport { useButton } from \"../../internals/use-button/index.mjs\";\nimport { createChangeEventDetails } from \"../../internals/createBaseUIEventDetails.mjs\";\nimport { REASONS } from \"../../internals/reasons.mjs\";\nimport { useClosePartRegistration } from \"../../utils/closePart.mjs\";\n\n/**\n * A button that closes the popover.\n * Renders a `<button>` element.\n *\n * Documentation: [Base UI Popover](https://base-ui.com/react/components/popover)\n */\nexport const PopoverClose = /*#__PURE__*/React.forwardRef(function PopoverClose(componentProps, forwardedRef) {\n const {\n render,\n className,\n style,\n disabled = false,\n nativeButton = true,\n ...elementProps\n } = componentProps;\n const {\n buttonRef,\n getButtonProps\n } = useButton({\n disabled,\n focusableWhenDisabled: false,\n native: nativeButton\n });\n const store = usePopoverRootContext();\n useClosePartRegistration();\n const element = useRenderElement('button', componentProps, {\n ref: [forwardedRef, buttonRef],\n props: [{\n onClick(event) {\n store.setOpen(false, createChangeEventDetails(REASONS.closePress, event.nativeEvent));\n }\n }, elementProps, getButtonProps]\n });\n return element;\n});\nif (process.env.NODE_ENV !== \"production\") PopoverClose.displayName = \"PopoverClose\";",".z_tds_2f_web-WYxykg0{color:var(--z-tds_2f_web-color-background-raised,light-dark(#fff,#1f1e1e))}.z_tds_2f_web-WYxykg1{display:flex}.z_tds_2f_web-WYxykg2{&[data-side=bottom]{top:-10px}}.z_tds_2f_web-WYxykg3{&[data-side=left]{right:-14px}}.z_tds_2f_web-WYxykg4{&[data-side=left]{rotate:90deg}}.z_tds_2f_web-WYxykg5{&[data-side=right]{left:-14px}}.z_tds_2f_web-WYxykg6{&[data-side=right]{rotate:-90deg}}.z_tds_2f_web-WYxykg7{&[data-side=top]{bottom:-10px}}.z_tds_2f_web-WYxykg8{&[data-side=top]{rotate:180deg}}.z_tds_2f_web-WYxykg9{color:var(--z-tds_2f_web-color-gray-900,light-dark(#4d4d4d,#bcbbbb))}.z_tds_2f_web-WYxykga{margin:var(--z-tds_2f_web-spacing-0,0rem)}.z_tds_2f_web-WYxykgb{font-family:var(--z-tds_2f_web-typography-copy-14-fontFamily,Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\")}.z_tds_2f_web-WYxykgc{font-size:var(--z-tds_2f_web-typography-copy-14-fontSize,14px)}.z_tds_2f_web-WYxykgd{font-weight:var(--z-tds_2f_web-typography-copy-14-fontWeight,450)}.z_tds_2f_web-WYxykge{letter-spacing:var(--z-tds_2f_web-typography-copy-14-letterSpacing,-.09px)}.z_tds_2f_web-WYxykgf{line-height:var(--z-tds_2f_web-typography-copy-14-lineHeight,20px)}.z_tds_2f_web-WYxykgg{background-color:var(--z-tds_2f_web-color-background-raised,light-dark(#fff,#1f1e1e))}.z_tds_2f_web-WYxykgh{border-radius:var(--z-tds_2f_web-radius-16,1rem)}.z_tds_2f_web-WYxykgi{box-shadow:var(--z-tds_2f_web-shadow-popover,0 0 0 1px light-dark(#0000000f,#ffffff14), 0 8px 24px -4px #0000001f, 0 24px 48px -12px #00000029)}.z_tds_2f_web-WYxykgj{box-sizing:border-box}.z_tds_2f_web-WYxykgk{color:var(--z-tds_2f_web-color-foreground,light-dark(#171717,#fff))}.z_tds_2f_web-WYxykgl{max-width:var(--available-width)}.z_tds_2f_web-WYxykgm{outline:none}.z_tds_2f_web-WYxykgn{padding:var(--z-tds_2f_web-spacing-24,1.5rem)}.z_tds_2f_web-WYxykgo{transform-origin:var(--transform-origin)}.z_tds_2f_web-WYxykgp{transition-duration:var(--z-tds_2f_web-transitionDuration-200,.2s)}.z_tds_2f_web-WYxykgq{transition-property:opacity,scale}.z_tds_2f_web-WYxykgr{transition-timing-function:var(--z-tds_2f_web-ease-snappy,cubic-bezier(.23, 1, .32, 1))}.z_tds_2f_web-WYxykgs{width:max-content}.z_tds_2f_web-WYxykgt{&[data-ending-style]{opacity:0}}.z_tds_2f_web-WYxykgu{&[data-ending-style]{scale:var(--z-tds_2f_web-scale-enter,.96)}}.z_tds_2f_web-WYxykgv{&[data-ending-style]{transition-duration:var(--z-tds_2f_web-transitionDuration-140,.14s)}}.z_tds_2f_web-WYxykgw{&[data-starting-style]{opacity:0}}.z_tds_2f_web-WYxykgx{&[data-starting-style]{scale:var(--z-tds_2f_web-scale-enter,.96)}}@media (prefers-reduced-motion:reduce){.z_tds_2f_web-WYxykgy{transition-property:opacity}.z_tds_2f_web-WYxykgz{&[data-ending-style],&[data-starting-style]{scale:none}}}.z_tds_2f_web-WYxykg10{z-index:var(--z-tds_2f_web-zIndex-popover,50)}.z_tds_2f_web-WYxykg11{font-family:var(--z-tds_2f_web-typography-heading-20-fontFamily,Inter, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\")}.z_tds_2f_web-WYxykg12{font-size:var(--z-tds_2f_web-typography-heading-20-fontSize,20px)}.z_tds_2f_web-WYxykg13{font-weight:var(--z-tds_2f_web-typography-heading-20-fontWeight,600)}.z_tds_2f_web-WYxykg14{letter-spacing:var(--z-tds_2f_web-typography-heading-20-letterSpacing,-.33px)}.z_tds_2f_web-WYxykg15{line-height:var(--z-tds_2f_web-typography-heading-20-lineHeight,26px)}.z_tds_2f_web-WYxykg16{margin:var(--z-tds_2f_web-spacing-0,0rem)}.z_tds_2f_web-WYxykg17{margin-bottom:var(--z-tds_2f_web-spacing-4,.25rem)}","\nimport { Props as __zyzzProps } from 'zyzz/runtime';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport * as BaseUi from '@base-ui/react/popover';\nimport { style } from '../zyzz.config.js';\n/**\n * A non-modal `dialog` anchored to a trigger and opened on click. Opening moves focus to the first\n * tabbable element inside, or to the popup on touch. Escape and outside presses close it and\n * return focus to the trigger.\n *\n * - Use it for interactive or longer content. Use `Tooltip` for a short hint on hover.\n * - Include `Title` so the dialog has an accessible name, and `Description` for supporting text.\n * - Offer `Close` when the popup holds a form or other controls.\n *\n * @example\n * <Popover.Root>\n * <Popover.Trigger render={<Button variant=\"secondary\" />}>Network fee</Popover.Trigger>\n * <Popover.Popup>\n * <Popover.Title>Network fee</Popover.Title>\n * <Popover.Description>Paid in the token you send.</Popover.Description>\n * </Popover.Popup>\n * </Popover.Root>\n *\n * @see {@link https://base-ui.com/react/components/popover | Base UI Popover}\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/API/Popover_API | MDN Popover API}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/content-on-hover-or-focus.html | WCAG 2.2 Content on Hover or Focus}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/focus-order.html | WCAG 2.2 Focus Order}\n * @see {@link https://www.w3.org/WAI/WCAG22/Understanding/keyboard.html | WCAG 2.2 Keyboard}\n */\nexport var Popover;\n(function (Popover) {\n /** Renders a `button` that closes the popover. Pass `render` to use a `Button`. */\n Popover.Close = BaseUi.Popover.Close;\n /**\n * Owns the open state. Pass `open` and `onOpenChange` to control it. Unless `modal` is set, the\n * page stays interactive while the popover is open.\n */\n Popover.Root = BaseUi.Popover.Root;\n /**\n * Toggles the popover on click and anchors the popup. Set `openOnHover` to also open it on hover.\n *\n * @example\n * <Popover.Trigger render={<Button variant=\"secondary\" />}>Network fee</Popover.Trigger>\n */\n Popover.Trigger = BaseUi.Popover.Trigger;\n /** Draws a pointer toward the trigger on the popup's anchored side. Place it inside `Popup`. */\n function Arrow(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Arrow, { ...attributes, ...styles.arrow({ className, style: props.style, vars }), children: _jsx(\"svg\", { \"aria-hidden\": \"true\", fill: \"currentColor\", height: \"10\", viewBox: \"0 0 20 10\", width: \"20\", children: _jsx(\"path\", { d: \"M0 10C4 10 7 7 8.6 4.6a2 2 0 0 1 2.8 0C13 7 16 10 20 10Z\" }) }) }));\n }\n Popover.Arrow = Arrow;\n /** Renders a `p` that describes the popup through `aria-describedby`. */\n function Description(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Description, { ...attributes, ...styles.description({ className, style: props.style, vars }) }));\n }\n Popover.Description = Description;\n /**\n * Renders the portal, positioner and popup. Placement props go to the positioner, which sits 8px\n * from the trigger unless `sideOffset` is set. Other props, `ref`, `className` and `style` reach\n * the popup. `initialFocus` and `finalFocus` override where focus moves on open and close.\n */\n function Popup(props) {\n const { align, alignOffset, anchor, className, collisionPadding, side, sideOffset = 8, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Portal, { children: _jsx(BaseUi.Popover.Positioner, { ...styles.positioner(), align: align, alignOffset: alignOffset, anchor: anchor, collisionPadding: collisionPadding, side: side, sideOffset: sideOffset, children: _jsx(BaseUi.Popover.Popup, { ...attributes, ...styles.popup({ className, style: props.style, vars }) }) }) }));\n }\n Popover.Popup = Popup;\n /** Renders an `h2` that names the popup through `aria-labelledby`. */\n function Title(props) {\n const { className, vars, ...attributes } = props;\n return (_jsx(BaseUi.Popover.Title, { ...attributes, ...styles.title({ className, style: props.style, vars }) }));\n }\n Popover.Title = Title;\n})(Popover || (Popover = {}));\nvar styles;\n(function (styles) {\n styles.arrow = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg0 z_tds_2f_web-WYxykg1 z_tds_2f_web-WYxykg2 z_tds_2f_web-WYxykg3 z_tds_2f_web-WYxykg4 z_tds_2f_web-WYxykg5 z_tds_2f_web-WYxykg6 z_tds_2f_web-WYxykg7 z_tds_2f_web-WYxykg8\"});\n styles.description = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg9 z_tds_2f_web-WYxykga z_tds_2f_web-WYxykgb z_tds_2f_web-WYxykgc z_tds_2f_web-WYxykgd z_tds_2f_web-WYxykge z_tds_2f_web-WYxykgf\"});\n styles.popup = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykgg z_tds_2f_web-WYxykgh z_tds_2f_web-WYxykgi z_tds_2f_web-WYxykgj z_tds_2f_web-WYxykgk z_tds_2f_web-WYxykgl z_tds_2f_web-WYxykgm z_tds_2f_web-WYxykgn z_tds_2f_web-WYxykgo z_tds_2f_web-WYxykgp z_tds_2f_web-WYxykgq z_tds_2f_web-WYxykgr z_tds_2f_web-WYxykgb z_tds_2f_web-WYxykgc z_tds_2f_web-WYxykgd z_tds_2f_web-WYxykge z_tds_2f_web-WYxykgf z_tds_2f_web-WYxykgs z_tds_2f_web-WYxykgt z_tds_2f_web-WYxykgu z_tds_2f_web-WYxykgv z_tds_2f_web-WYxykgw z_tds_2f_web-WYxykgx z_tds_2f_web-WYxykgy z_tds_2f_web-WYxykgz\"});\n styles.positioner = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg10\"});\n styles.title = /*#__PURE__*/__zyzzProps.create({className:\"z_tds_2f_web-WYxykg11 z_tds_2f_web-WYxykg12 z_tds_2f_web-WYxykg13 z_tds_2f_web-WYxykg14 z_tds_2f_web-WYxykg15 z_tds_2f_web-WYxykg16 z_tds_2f_web-WYxykg17\"});\n})(styles || (styles = {}));\n//# sourceMappingURL=Popover.js.map\nimport './Popover.css';\n","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function BadgeCheck(props) {\n return (_jsxs(\"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: \"M9.9691 6.50791C10.1268 6.28127 10.4387 6.2253 10.6654 6.38291C10.8915 6.54061 10.9476 6.85173 10.7904 7.07822L8.1859 10.8253C8.10463 10.9422 7.97661 11.0189 7.83532 11.0362C7.69403 11.0533 7.5516 11.009 7.44469 10.9151L5.95641 9.60361C5.74921 9.42107 5.72894 9.10476 5.91149 8.89756C6.09407 8.69075 6.4095 8.67124 6.61657 8.85361L7.68395 9.79306L9.9691 6.50791Z\", fill: \"currentColor\" }), _jsx(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M7.67516 1.61826C8.13077 1.16265 8.86994 1.16265 9.32555 1.61826L10.7591 3.05185C10.7902 3.08262 10.8326 3.10058 10.8763 3.10068H12.7338C13.3779 3.10081 13.9006 3.62258 13.9007 4.2667V6.12412C13.9009 6.16817 13.9184 6.21112 13.9496 6.24228L15.3832 7.6749C15.8384 8.13047 15.8385 8.86977 15.3832 9.32529L13.9496 10.7589C13.9185 10.79 13.9008 10.8321 13.9007 10.8761V12.7335C13.9005 13.3776 13.3778 13.9004 12.7338 13.9005H10.8763C10.8323 13.9006 10.7903 13.9182 10.7591 13.9493L9.32555 15.3829C8.87002 15.8381 8.1307 15.8381 7.67516 15.3829L6.24254 13.9493C6.21134 13.9181 6.16849 13.9005 6.12438 13.9005H4.26696C3.6229 13.9003 3.10117 13.3775 3.10094 12.7335V10.8761C3.10084 10.8323 3.08288 10.79 3.05211 10.7589L1.61852 9.32529C1.16294 8.86971 1.163 8.13052 1.61852 7.6749L3.05211 6.24228C3.08324 6.21113 3.10083 6.16815 3.10094 6.12412V4.2667C3.1011 3.62259 3.62285 3.10084 4.26696 3.10068H6.12438C6.16843 3.10062 6.21135 3.08297 6.24254 3.05185L7.67516 1.61826ZM8.61852 2.32529C8.5535 2.26027 8.44827 2.26042 8.38317 2.32529L6.94957 3.75888C6.73085 3.97753 6.43365 4.10062 6.12438 4.10068H4.26696C4.17514 4.10084 4.1011 4.17488 4.10094 4.2667V6.12412C4.10083 6.43336 3.97781 6.73062 3.75914 6.94931L2.32555 8.38291C2.26077 8.44802 2.26056 8.55327 2.32555 8.61826L3.75914 10.0519C3.97744 10.2705 4.10084 10.5671 4.10094 10.8761V12.7335C4.10117 12.8253 4.17518 12.9003 4.26696 12.9005H6.12438C6.43371 12.9005 6.73084 13.0235 6.94957 13.2423L8.38317 14.6749C8.44825 14.7396 8.55353 14.7398 8.61852 14.6749L10.0521 13.2423C10.2708 13.0236 10.5671 12.9006 10.8763 12.9005H12.7338C12.8256 12.9004 12.9005 12.8253 12.9007 12.7335V10.8761C12.9008 10.5669 13.0239 10.2705 13.2425 10.0519L14.6752 8.61826C14.7401 8.55328 14.7399 8.44802 14.6752 8.38291L13.2425 6.94931C13.0239 6.73062 12.9009 6.43339 12.9007 6.12412V4.2667C12.9006 4.17486 12.8256 4.10081 12.7338 4.10068H10.8763C10.5674 4.10058 10.2708 3.97719 10.0521 3.75888L8.61852 2.32529Z\", fill: \"currentColor\" })] }));\n}\n//# sourceMappingURL=BadgeCheck.js.map","import { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nexport function XCircle(props) {\n return (_jsxs(\"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: \"M9.64648 5.64648C9.84175 5.45122 10.1583 5.45122 10.3535 5.64648C10.5487 5.84175 10.5488 6.15827 10.3535 6.35352L8.70703 8L10.3535 9.64648C10.5487 9.84175 10.5488 10.1583 10.3535 10.3535C10.1583 10.5488 9.84175 10.5487 9.64648 10.3535L8 8.70703L6.35352 10.3535C6.15827 10.5488 5.84175 10.5487 5.64648 10.3535C5.45122 10.1583 5.45122 9.84175 5.64648 9.64648L7.29297 8L5.64648 6.35352C5.45122 6.15825 5.45122 5.84175 5.64648 5.64648C5.84175 5.45122 6.15825 5.45122 6.35352 5.64648L8 7.29297L9.64648 5.64648Z\", fill: \"currentColor\" }), _jsx(\"path\", { fillRule: \"evenodd\", clipRule: \"evenodd\", d: \"M8 1.33301C11.6817 1.33318 14.666 4.31919 14.666 8.00098C14.6656 11.6824 11.6815 14.6668 8 14.667C4.31837 14.667 1.33345 11.6825 1.33301 8.00098C1.33301 4.31908 4.3181 1.33301 8 1.33301ZM8 2.33398C4.87039 2.33398 2.33301 4.87137 2.33301 8.00098C2.33345 11.1302 4.87066 13.667 8 13.667C11.1292 13.6668 13.6656 11.1301 13.666 8.00098C13.666 4.87147 11.1294 2.33416 8 2.33398Z\", fill: \"currentColor\" })] }));\n}\n//# sourceMappingURL=XCircle.js.map","export default import.meta.ROLLDOWN_FILE_URL_Msg57USEadASvSStYSdmzA","export default import.meta.ROLLDOWN_FILE_URL_epdbhdyBUyD3hvxx0_dcTg","export default import.meta.ROLLDOWN_FILE_URL_dJ$ULFcuzX43djbIEsCZPw","export default import.meta.ROLLDOWN_FILE_URL_ykb1zIozoJBMq4UvQnlhcQ","export default import.meta.ROLLDOWN_FILE_URL_BjjUHagISQHtPWYmu3KuwQ","export default import.meta.ROLLDOWN_FILE_URL_gOpBNSELCNdnM_yZlyA5OQ","export default import.meta.ROLLDOWN_FILE_URL_ZoP2ebLT5e$hm8jPkF9mgA","export default import.meta.ROLLDOWN_FILE_URL_2$LtLFQdS6IeO$uJxLxRJQ","export default import.meta.ROLLDOWN_FILE_URL_U2YZxvNlcnuoWcGKwa9Wsw","export default import.meta.ROLLDOWN_FILE_URL_cLZLOsSELI_GmwKcVOKKRw","export default import.meta.ROLLDOWN_FILE_URL__ewJD0zO9$SsiDvawfmAUw","export default import.meta.ROLLDOWN_FILE_URL_m8R6TgWxwop2r_xOIPNRtg","export default import.meta.ROLLDOWN_FILE_URL_rN_1li4k2aIbHGs0zKW8QQ","export default import.meta.ROLLDOWN_FILE_URL_6MQCagmCrZzS5dHPKhXWKQ","export default import.meta.ROLLDOWN_FILE_URL_hO4dd8ILk$iZF7aFIOUkdg","export default import.meta.ROLLDOWN_FILE_URL_pADEGV0e5Qot5ZhzD_GrLg","export default import.meta.ROLLDOWN_FILE_URL_SH3JcDOvWNcn2WIvxBnLpg","export default import.meta.ROLLDOWN_FILE_URL_K1daVVNYU_lXF$FdA5v55g","export default import.meta.ROLLDOWN_FILE_URL_7PUm3F_uVf$21BIFLSklvQ","export default import.meta.ROLLDOWN_FILE_URL_E8wuXQ_AmxPT2QBGX_$9Vw","export default import.meta.ROLLDOWN_FILE_URL_9kBTUqaINCHDANxrI10WCw","export default import.meta.ROLLDOWN_FILE_URL_C$4kQWR6NkPB83QJdL0WCQ","export default import.meta.ROLLDOWN_FILE_URL_2ZEzIIM_atdpHcr$6kvj$Q","export default import.meta.ROLLDOWN_FILE_URL_q6tfGKm3Qmt5DJmATeHQdA","export default import.meta.ROLLDOWN_FILE_URL_OestAvA2SyLT4CG6L76dAw","export default import.meta.ROLLDOWN_FILE_URL_nJkgIVJgL11RgZiGUBj6wA","export default import.meta.ROLLDOWN_FILE_URL_tgFyw$X211zXSctfMU9_LA","export default import.meta.ROLLDOWN_FILE_URL_aLISaAY6NSiJFT$6GdtrfA","export default import.meta.ROLLDOWN_FILE_URL_LphhLScmzwPqWwTyAbd7ig","export default import.meta.ROLLDOWN_FILE_URL_U6muqRGa8aHtq8t0c9wAzg","export default import.meta.ROLLDOWN_FILE_URL_i2ywl_YzKp2MjtOEr7ngzA","export default import.meta.ROLLDOWN_FILE_URL_TX5a1iViCylaCWPFSCQG2w","export default import.meta.ROLLDOWN_FILE_URL_y3WuTrdTs_Si7uYpRddj9w","export default import.meta.ROLLDOWN_FILE_URL_kSHvwCjLFxLpY3FM1MyAsA","export default import.meta.ROLLDOWN_FILE_URL_0PgJxXqjw$KAl6PgZjQb5g","export default import.meta.ROLLDOWN_FILE_URL_EsSyonNWXFChOyjfj2S3nw","export default import.meta.ROLLDOWN_FILE_URL_zOyQqdNGsn0lL_XEFrarVA","export default import.meta.ROLLDOWN_FILE_URL_yW_eMvu1QqHghXJHMLbBbg","export default import.meta.ROLLDOWN_FILE_URL_07gvO1IvTzTCTyYqp_a5mw","/** Shows a requested key's limits and expiry, and warns about unrecognized calls. @module */\nimport { Callout, Inline, Popover, Stack, Tag, Tooltip } from '@tempoxyz/ds'\nimport { CheckCircle, InfoCircle, XCircle } from '@tempoxyz/ds/icons'\nimport { type ReactNode, useId, useState } from 'react'\nimport type * as KeyAuthorization from '../../internal/KeyAuthorization.js'\nimport { style } from '../zyzz.config.js'\n\n/**\n * Each token's icon URL, by symbol. Each icon stays its own file, since an inlined icon would put\n * every token's icon in the script of each page that shows a key.\n */\nconst icons = Object.fromEntries(\n Object.entries(\n import.meta.glob<string>('./icons/*.{png,svg,webp}', {\n eager: true,\n import: 'default',\n query: '?no-inline',\n }),\n ).map(([file, url]) => [\n file.slice('./icons/'.length, file.lastIndexOf('.')),\n url,\n ]),\n)\n\n/** Logos from `logos/`, by symbol and color scheme, each its own file. A logo replaces the icon. */\nconst logos = Object.entries(\n import.meta.glob<string>('./logos/*.{light,dark}.{png,svg,webp}', {\n eager: true,\n import: 'default',\n query: '?no-inline',\n }),\n).reduce<Record<string, { dark?: string; light?: string }>>(\n (result, [file, url]) => {\n const [, symbol, scheme] = file.match(\n /^\\.\\/logos\\/(.+)\\.(light|dark)\\.\\w+$/,\n )!\n result[symbol!] = { ...result[symbol!], [scheme!]: url }\n return result\n },\n {},\n)\n\n/** What the requested key may and may not do, with its limits and expiry. */\nexport function Grant(props: Grant.Props): ReactNode {\n // Several grants can share a document, so each derives its own IDs.\n const id = useId()\n const deniedId = useId()\n const detailsId = useId()\n // The unrecognized calls stay collapsed under their one-line warning until the user opens them.\n const [details, setDetails] = useState(false)\n const { calls, expiry, limits, unrecognized } = props.keyAuthorization\n const Heading = props.heading ?? 'h2'\n // MPP sessions pay through payment channels, which `open` starts and `topUp` funds. Both read as\n // funds the app holds, since a channel is an escrow that the service draws from.\n const channels = (() => {\n const open = calls.some((call) => call.call === 'open')\n const topUp = calls.some((call) => call.call === 'topUp')\n if (open) return 'Hold funds for services'\n if (topUp) return 'Add to funds it holds for services'\n return undefined\n })()\n return (\n <>\n <Stack\n {...styles.section()}\n aria-labelledby={id}\n gap=\"24\"\n render={<section />}\n >\n {props.chain ? (\n <Tag\n {...styles.chain()}\n aria-label={`Chain: ${props.chain}`}\n intent=\"neutral\"\n shape=\"rounded\"\n size=\"small\"\n >\n {props.chain}\n </Tag>\n ) : null}\n <Stack gap=\"12\">\n <Heading {...styles.heading()} id={id}>\n This app will be able to:\n </Heading>\n <Stack\n {...styles.list()}\n aria-labelledby={id}\n gap=\"8\"\n render={<ul />}\n >\n <Inline gap=\"8\" render={<li />}>\n <CheckCircle {...styles.allowed()} />\n <span>View your balance and activity</span>\n </Inline>\n {limits.map((limit) => (\n <Inline\n gap=\"8\"\n key={`${limit.currency}:${limit.period ?? 0}`}\n render={<li />}\n >\n <CheckCircle {...styles.allowed()} />\n <span>\n Spend{' '}\n {limit.period\n ? `${format(limit)} ${every(limit.period)}`\n : format(limit)}\n </span>\n <span {...styles.icons()}>\n {limit.tokens.map((token) => {\n // Each token's own limit shows on its icon, since the total spans several.\n const label = `${token.symbol}: ${format({ amount: token.amount, currency: limit.currency })}`\n const logo = logos[token.symbol]\n const icon = logo?.light ?? icons[token.symbol]\n return (\n <Tooltip.Root key={token.symbol}>\n <Tooltip.Trigger\n delay={150}\n render={\n <span {...styles.token()} tabIndex={0}>\n {icon ? (\n // The page follows the system color scheme, so the image does too.\n <picture>\n {logo?.dark ? (\n <source\n media=\"(prefers-color-scheme: dark)\"\n srcSet={logo.dark}\n />\n ) : null}\n <img\n {...styles.icon()}\n alt={label}\n height={20}\n src={icon}\n width={20}\n />\n </picture>\n ) : (\n // A token without a logo shows its initial.\n <span\n {...styles.placeholder()}\n aria-label={label}\n role=\"img\"\n >\n {token.symbol[0]}\n </span>\n )}\n </span>\n }\n />\n <Tooltip.Popup>{label}</Tooltip.Popup>\n </Tooltip.Root>\n )\n })}\n </span>\n </Inline>\n ))}\n {channels ? (\n <Inline gap=\"8\" render={<li />}>\n <CheckCircle {...styles.allowed()} />\n <span>\n {channels.slice(0, channels.lastIndexOf(' ') + 1)}\n {/* The last word and the icon wrap together. */}\n <span {...styles.nowrap()}>\n {channels.slice(channels.lastIndexOf(' ') + 1)}{' '}\n <Popover.Root>\n <Popover.Trigger\n aria-label=\"About funds for services\"\n nativeButton={false}\n openOnHover\n render={<InfoCircle {...styles.info()} tabIndex={0} />}\n />\n <Popover.Popup\n {...styles.popup()}\n aria-label=\"Funds for services\"\n >\n <Popover.Description>\n Set aside for pay-as-you-go services that use{' '}\n <a\n {...styles.popupLink()}\n href=\"https://mpp.dev\"\n rel=\"noreferrer\"\n target=\"_blank\"\n >\n MPP\n </a>\n . They take only what you use, and you get the rest\n back.\n </Popover.Description>\n </Popover.Popup>\n </Popover.Root>\n </span>\n </span>\n </Inline>\n ) : null}\n </Stack>\n </Stack>\n <Stack gap=\"12\">\n <Heading {...styles.heading()} id={deniedId}>\n This app won’t be able to:\n </Heading>\n <Stack\n {...styles.list()}\n aria-labelledby={deniedId}\n gap=\"8\"\n render={<ul />}\n >\n <Inline gap=\"8\" render={<li />}>\n <XCircle {...styles.denied()} />\n <span>Spend more than you approve</span>\n </Inline>\n </Stack>\n </Stack>\n <Stack {...styles.details()} gap=\"8\" render={<dl />}>\n <div>\n <dt {...styles.term()}>Expires</dt>{' '}\n <dd {...styles.value()}>\n {until(expiry)}{' '}\n {/* The tooltip's text never reaches the server render, so it shows the visitor's own time zone. */}\n <Tooltip.Root>\n <Tooltip.Trigger\n delay={150}\n render={\n <InfoCircle\n {...styles.info()}\n aria-label=\"Expiry date\"\n role=\"img\"\n tabIndex={0}\n />\n }\n />\n <Tooltip.Popup>\n {new Date(expiry * 1000).toLocaleString(undefined, {\n day: 'numeric',\n hour: 'numeric',\n minute: '2-digit',\n month: 'short',\n timeZoneName: 'short',\n year: 'numeric',\n })}\n </Tooltip.Popup>\n </Tooltip.Root>\n </dd>\n </div>\n </Stack>\n </Stack>\n {unrecognized.length ? (\n // A note, not an alert, since the calls are part of the request and interrupt nothing.\n <Callout intent=\"warning\" role=\"note\" size=\"medium\">\n <Callout.Icon />\n <Callout.Content>\n <Stack gap=\"8\">\n <p {...styles.warningTitle()}>This app can take other actions</p>\n {details ? (\n <Stack gap=\"8\" id={detailsId}>\n <p {...styles.warningText()}>\n Tempo ID can’t tell you what these actions do. Approve only\n if you trust this app.\n </p>\n </Stack>\n ) : null}\n </Stack>\n </Callout.Content>\n <Callout.Action\n aria-controls={detailsId}\n aria-expanded={details}\n onClick={() => setDetails((open) => !open)}\n >\n {details ? 'Hide' : 'Show'}\n </Callout.Action>\n </Callout>\n ) : null}\n </>\n )\n}\n\nexport declare namespace Grant {\n type Props = {\n /** The key's chain, shown in the corner. Absent, none shows. */\n chain?: string | undefined\n /** `h2` by default, or `h5` on the flows canvas. */\n heading?: 'h2' | 'h5' | undefined\n /** The key that the app requests. */\n keyAuthorization: KeyAuthorization.Description\n }\n}\n\n/**\n * Groups thousands and keeps every decimal. Each formatter is built at its first use, since a page's\n * first one loads the locale's data, which a page that shows no key never needs.\n */\nlet decimal: Intl.NumberFormat | undefined\n\n/** Formats an expiry's distance, such as `in 7 days`, from its first use. */\nlet relative: Intl.RelativeTimeFormat | undefined\n\n/** The spans of an expiry, largest first. Months and years are approximate. */\nconst spans = [\n ['year', 31_536_000],\n ['month', 2_592_000],\n ['week', 604_800],\n ['day', 86_400],\n ['hour', 3_600],\n ['minute', 60],\n] as const\n\n/** The units of a period, largest first. */\nconst units = [\n ['week', 604_800],\n ['day', 86_400],\n ['hour', 3_600],\n ['minute', 60],\n ['second', 1],\n] as const\n\n/** Returns how often a limit resets, such as `per day` or `every 2 weeks`. */\nfunction every(period: number) {\n const [unit, seconds] = units.find((entry) => period % entry[1] === 0)!\n const count = period / seconds\n return count === 1 ? `per ${unit}` : `every ${count} ${unit}s`\n}\n\n/** Formats a limit in its currency, such as `$1,000`, or as the amount and its code. */\nfunction format(\n limit: Pick<\n KeyAuthorization.Description['limits'][number],\n 'amount' | 'currency'\n >,\n) {\n const amount = limit.amount as Intl.StringNumericLiteral\n try {\n return new Intl.NumberFormat('en-US', {\n currency: limit.currency,\n maximumFractionDigits: 6,\n style: 'currency',\n trailingZeroDisplay: 'stripIfInteger',\n }).format(amount)\n } catch {\n // A yield-bearing token's own symbol is not a currency code.\n decimal ??= new Intl.NumberFormat('en-US', { maximumFractionDigits: 20 })\n return `${decimal.format(amount)} ${limit.currency}`\n }\n}\n\n/**\n * Returns the time until `expiry`, in Unix seconds, in its largest whole span, such as\n * `in 3 months`.\n */\nfunction until(expiry: number) {\n const remaining = expiry - Date.now() / 1000\n const [unit, seconds] =\n spans.find((entry) => remaining + 60 >= entry[1]) ?? spans.at(-1)!\n relative ??= new Intl.RelativeTimeFormat('en-US', { numeric: 'always' })\n return relative.format(Math.max(1, Math.round(remaining / seconds)), unit)\n}\n\nnamespace styles {\n export const allowed = style({\n color: 'green.700',\n flexShrink: 0,\n height: '20',\n width: '20',\n })\n\n export const chain = style({\n insetBlockStart: '16',\n insetInlineEnd: '16',\n position: 'absolute',\n })\n\n export const denied = style({\n color: 'red.700',\n flexShrink: 0,\n height: '20',\n width: '20',\n })\n\n // Each term and its value read as one line of text.\n export const details = style({ margin: '0', typography: 'copy.14' })\n\n export const heading = style({\n color: 'gray.900',\n margin: '0',\n typography: 'copy.14',\n })\n\n export const icon = style({\n borderRadius: 'full',\n display: 'block',\n height: '20',\n width: '20',\n })\n\n // Several tokens overlap, and spread apart while hovered so each symbol can show.\n export const icons = 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 info = style({\n color: 'gray.900',\n display: 'inline',\n height: '16',\n outline: 'none',\n verticalAlign: 'middle',\n width: '16',\n ':focus-visible': {\n outline: '2px solid',\n outlineColor: 'blue.700',\n outlineOffset: '2',\n },\n })\n\n export const list = style({\n listStyle: 'none',\n margin: '0',\n padding: '0',\n typography: 'label.14.strong',\n })\n\n export const nowrap = style({ whiteSpace: 'nowrap' })\n\n export const placeholder = style({\n alignItems: 'center',\n backgroundColor: 'background.surface',\n borderRadius: 'full',\n color: 'gray.900',\n display: 'flex',\n height: '20',\n justifyContent: 'center',\n typography: 'label.12',\n width: '20',\n })\n\n export const popup = style({ maxWidth: '256' })\n\n export const popupLink = style({ color: 'blue.700' })\n\n export const section = style({\n backgroundColor: 'gray.100',\n borderRadius: '16',\n margin: '0',\n padding: '20',\n // The chain's tag sits in the section's top-right corner.\n position: 'relative',\n })\n\n export const term = style({ color: 'gray.900', display: 'inline' })\n\n // The ring matches the section's fill, so overlapping tokens stay apart.\n export const token = style({\n borderRadius: 'full',\n outline: '2px solid',\n outlineColor: 'gray.100',\n ':focus-visible': { outlineColor: 'blue.700' },\n // Under reduced motion, the tokens spread apart without a transition.\n '@media (prefers-reduced-motion: no-preference)': {\n transitionDuration: '150',\n transitionProperty: 'margin',\n transitionTimingFunction: 'in-out',\n },\n })\n\n // The expiry reads in the weight of the permissions above it.\n export const value = style({\n display: 'inline',\n margin: '0',\n overflowWrap: 'anywhere',\n typography: 'label.14.strong',\n })\n\n export const warningText = style({ color: 'foreground' })\n\n export const warningTitle = style({ typography: 'label.14.strong' })\n}\n"],"ignoreList":[0,1,2,3,4,5,6,7],"mappings":"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"}
|