{"_id":"@accelbyte/sdk-extend-app-ui","_rev":"8-db27de314b1f871d1af94ceb2b269c15","name":"@accelbyte/sdk-extend-app-ui","dist-tags":{"dev":"0.0.0-dev-20260422072053","latest":"0.2.3"},"versions":{"0.0.0-dev-20260406042959":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.0.0-dev-20260406042959","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.0.0-dev-20260406042959","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"f9bee4616d0fc8c3cbf7f700c7a579dd2308194a","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.0.0-dev-20260406042959.tgz","fileCount":28,"integrity":"sha512-EUqA7KFPOUGbt497S0e/O7j6QwUN/zGP6ubwpdV+1LR+eShZURZWlt3iTSH7Yyb96TtI99NGaS/WnIFibCcu2A==","signatures":[{"sig":"MEUCIQDx6wXMZWMBI1dVio0PII7VPIBGQCUJDtEer8+N0Pq+gQIgLHeKNHTSV8j7PqPYfC2izOIOKLqzdC6Z7lNYYmb2UVc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128464},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"ac1af645b7fa3d7d2bf37a35dd01721ce5a1bdaf","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"10.8.2","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.0.0-dev-20260406042959"},"_hasShrinkwrap":false,"devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.1.7","react":"19.2.4","rimraf":"4.4.1","vitest":"3.1.1","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"0.0.0-dev-20260406042959","@accelbyte/sdk-iam":"0.0.0-dev-20260406042959","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.0.0-dev-20260406042959_1775449833168_0.9658928022606326","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-dev-20260407233405":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.0.0-dev-20260407233405","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.0.0-dev-20260407233405","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"7ad00057ea4e0f5ae1bdbf3f4c8c44ea51a5b707","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.0.0-dev-20260407233405.tgz","fileCount":28,"integrity":"sha512-ursZPISKoxpq4sAr70u8PAusUPlbXzmkrlDS1rmqwkCwI+RkknGZVZdC3VOFNHDVpWvh3XB76ejGANulQddKSQ==","signatures":[{"sig":"MEYCIQDiAen4rTg0oMeGCfKwPHDevrvfcGYdhad+CkmZc2D40gIhAKv3Ps0uVts2GhmvuH0sufGiKP63oCtkobxpl7zwp89/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128035},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"8c90a2907c2c3f4f83459e28770996276b11a759","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"10.8.2","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.0.0-dev-20260407233405"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.1.7","react":"19.2.4","rimraf":"4.4.1","vitest":"3.1.1","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"0.0.0-dev-20260407233405","@accelbyte/sdk-iam":"0.0.0-dev-20260407233405","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.0.0-dev-20260407233405_1775604873575_0.6263401133930198","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-dev-20260408102041":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.0.0-dev-20260408102041","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.0.0-dev-20260408102041","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"80a7508588ffb90e45406a3e43140594547d0d69","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.0.0-dev-20260408102041.tgz","fileCount":28,"integrity":"sha512-JfHzNItJGVQJHcKjZBW3hb7L6Ewd1iDg6henPujfV6KcRnE/goyQQsOEs3Y8k9BlRkF4yXFhmsjj5/tKJtH+hw==","signatures":[{"sig":"MEUCIE0uJpPcpI38CzG3lsCEaNUQ2qFU6RJprgqdbUtHyNK6AiEAmF5tUkMNbkUy/nDguSzOOl5gu6werdHQh8gCxaR/bk8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128035},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"5fea798299f57a7fa81076c5311ec6cf1d017113","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"10.8.2","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.0.0-dev-20260408102041"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.1.7","react":"19.2.4","rimraf":"4.4.1","vitest":"3.1.1","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"0.0.0-dev-20260408102041","@accelbyte/sdk-iam":"0.0.0-dev-20260408102041","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.0.0-dev-20260408102041_1775643677798_0.5700849283905756","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.2.0","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.2.0","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"808cb56cf3afc6c6b966dc2d79c14cc1ad9e2911","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.2.0.tgz","fileCount":28,"integrity":"sha512-qJEaFRJlUMfYUgzTzZHdIAWGQ6iqT931vHzDe9tkYCbCyMEOA0VZJ8rgiW8xxBgVYVq0vKcjTQBOcSxDv1D65g==","signatures":[{"sig":"MEYCIQCcMFssw/t2XADiXRuNUm+XJ2tKMd9PhsCBI9vZDXr1AwIhAKplgR6McV3NIUlpV17v/EKsMT+xZm+wNz8e+4PCywCa","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127685},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"e4343c73b4cc9ef749266d18dc10c3a0d940ce4c","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"10.8.2","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.1.7","react":"19.2.4","rimraf":"4.4.1","vitest":"3.1.1","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"^4.0.4","@accelbyte/sdk-iam":"^6.3.2","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.2.0_1775819425861_0.726359296445565","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-dev-20260422072053":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.0.0-dev-20260422072053","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.0.0-dev-20260422072053","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"77941624157f7c5e9c171b08cd082a66ab828f12","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.0.0-dev-20260422072053.tgz","fileCount":28,"integrity":"sha512-w14gxabg6DvQHtmzB+8goRKjVcRQyiCGA/fj4mBgvwXXtq/uY+unRacnhP4H8zwq0JpQXtFtNAZVf1xN++tizA==","signatures":[{"sig":"MEYCIQCQAzbQ7tOWIRbgZrbeWKQAboXhJwDm2SworjtpHnLTwwIhAKaplDU2AGfGC5+MKp6AtFDhyekSdE5AGRqsKyYmxBD0","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128074},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"6861cfa20a6d5b3767d6f9d58a797555786ab4c2","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"10.8.2","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.0.0-dev-20260422072053"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.1.7","react":"19.2.4","rimraf":"4.4.1","vitest":"3.1.1","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"0.0.0-dev-20260422072053","@accelbyte/sdk-iam":"0.0.0-dev-20260422072053","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.0.0-dev-20260422072053_1776842484903_0.23819145267186337","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.2.1","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.2.1","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"5c17aa0a9afbf2fff34a99cabccfb1e199551c72","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.2.1.tgz","fileCount":28,"integrity":"sha512-lQjOCvXCLoh9ZxvKRaZab7AaX+DO+6pyyoCf8HS5D+szKAkgmEdmQzYC+lzy3Sb75JWy2cl8AoU67WRbGlNWMg==","signatures":[{"sig":"MEQCIFwT2qG5xlKZsYfheaNl7EgULuqfDkB/iapCBGKSlVibAiA03aCDR0S/IDOWircx7okB9mAMwh4DrUE8owSI19eZxw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127783},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"bf272188a2500b738373ebc6e4d4d123bfd62e28","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"10.8.2","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"18.20.8","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.3.2","react":"19.2.4","rimraf":"4.4.1","vitest":"3.1.1","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7.3.2","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"^4.0.4","@accelbyte/sdk-iam":"^6.3.2","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.2.1_1778466429800_0.31168855388382766","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.2.2","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","_id":"@accelbyte/sdk-extend-app-ui@0.2.2","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"dist":{"shasum":"0dc09244b1c11bf7b60c595f2fbb5dee78c1c737","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.2.2.tgz","fileCount":28,"integrity":"sha512-7SjvmSpHhDg/yEHhnS1zjPc3VHdjaWBzyidg6SlGvm5j7htd9AfWR06DuJUFfe/iqOgPrrkF8De6dQJbzTSEYw==","signatures":[{"sig":"MEYCIQDcPqnmS2e3/Gqx5vWSIQoKL7Zr2wUuHDHu4pqRdK8JZAIhAPtotnrRLwlRHWJBkxzrX0UyU2sTIC/ZXFeCC5Dxwd9H","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":127901},"main":"./dist/index.cjs","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"gitHead":"00e04f6a75b052590ab9ce93c5f44259ca30a115","scripts":{"test":"vitest run","build":"tsup","clean":"rimraf dist && rimraf node_modules","test-and-build":"yarn test && yarn build"},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"_npmVersion":"11.6.1","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","directories":{},"sideEffects":false,"_nodeVersion":"24.11.0","dependencies":{"cookie":"0.7.2","http-proxy":"1.18.1","@accelbyte/validator":"0.3.1"},"_hasShrinkwrap":false,"devDependencies":{"msw":"2.4.1","tsup":"8.3.5","vite":"7.3.5","react":"19.2.4","rimraf":"4.4.1","vitest":"3.2.6","react-dom":"19.2.4","typescript":"5.8.3","@types/node":"22.3.0","@types/react":"19.2.14","@accelbyte/sdk":"workspace:*","@types/react-dom":"19.2.3","@types/http-proxy":"1.17.17","@accelbyte/sdk-iam":"workspace:*","vite-tsconfig-paths":"6.1.1","@testing-library/dom":"10.4.1","@tanstack/react-query":"4.36.1","@testing-library/react":"16.3.2","@testing-library/jest-dom":"6.9.1"},"peerDependencies":{"vite":"^7.3.5","react":"^17.0.0 || ^18.0.0 || ^19.0.0","@accelbyte/sdk":"^4.0.4","@accelbyte/sdk-iam":"^6.3.2","@tanstack/react-query":"^4.36.1 || ^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/sdk-extend-app-ui_0.2.2_1782378693205_0.20679659583302334","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@accelbyte/sdk-extend-app-ui","version":"0.2.3","author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","type":"module","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.cjs"},"./plugins":{"types":"./dist/plugins.d.ts","import":"./dist/plugins.js","default":"./dist/plugins.cjs"},"./package.json":"./package.json"},"scripts":{"build":"tsup","test":"vitest run","test-and-build":"yarn test && yarn build","clean":"rimraf dist && rimraf node_modules"},"peerDependencies":{"@accelbyte/sdk":"^4.0.4","@accelbyte/sdk-iam":"^6.3.2","@tanstack/react-query":"^4.36.1 || ^5.0.0","react":"^17.0.0 || ^18.0.0 || ^19.0.0","vite":"^7.3.5"},"devDependencies":{"@accelbyte/sdk":"workspace:*","@accelbyte/sdk-iam":"workspace:*","@tanstack/react-query":"4.36.1","@testing-library/dom":"10.4.1","@testing-library/jest-dom":"6.9.1","@testing-library/react":"16.3.2","@types/http-proxy":"1.17.17","@types/node":"22.3.0","@types/react":"19.2.14","@types/react-dom":"19.2.3","msw":"2.4.1","react":"19.2.4","react-dom":"19.2.4","rimraf":"4.4.1","tsup":"8.3.5","typescript":"5.8.3","vite":"7.3.5","vite-tsconfig-paths":"6.1.1","vitest":"3.2.6"},"sideEffects":false,"dependencies":{"@accelbyte/validator":"0.3.1","cookie":"0.7.2","http-proxy":"1.18.1"},"_id":"@accelbyte/sdk-extend-app-ui@0.2.3","gitHead":"80bf4f97d2e0684068d85730f80fe0bd37a8718a","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","_nodeVersion":"18.20.8","_npmVersion":"10.8.2","dist":{"integrity":"sha512-R/9Nes1w0WNxklRyRL5lj8xP1AiQDomdcreYIMnsAYbLjf5vGoB7HE+/L/PypUI39vql7tgIRJdzEJL/4kLtAg==","shasum":"da9824fa1858dd51b2a7cff6e700e7d6cf833c2c","tarball":"https://registry.npmjs.org/@accelbyte/sdk-extend-app-ui/-/sdk-extend-app-ui-0.2.3.tgz","fileCount":28,"unpackedSize":127973,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCVf4d0cCuhG81AfNYh5jIMAbyV2eJdcU8aONGGnMrNqwIhAKx976uM/W6YXdkXGq34JzyxySh3RGDR9ihZnTp3gcuU"}]},"_npmUser":{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"},"directories":{},"maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/sdk-extend-app-ui_0.2.3_1785732128905_0.061644216442245936"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-06T04:30:33.075Z","modified":"2026-08-03T04:42:09.216Z","0.0.0-dev-20260406042959":"2026-04-06T04:30:33.315Z","0.0.0-dev-20260407233405":"2026-04-07T23:34:33.712Z","0.0.0-dev-20260408102041":"2026-04-08T10:21:17.958Z","0.2.0":"2026-04-10T11:10:25.995Z","0.0.0-dev-20260422072053":"2026-04-22T07:21:25.030Z","0.2.1":"2026-05-11T02:27:09.950Z","0.2.2":"2026-06-25T09:11:33.377Z","0.2.3":"2026-08-03T04:42:09.053Z"},"author":{"name":"AccelByte Inc"},"license":"SEE LICENSE IN LICENSE","description":"SDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:","maintainers":[{"name":"accelbyteengineering","email":"engineering@accelbyte.net"},{"name":"accelbyteengineeringweb","email":"justice-web-team@accelbyte.net"}],"readme":"# `@accelbyte/sdk-extend-app-ui`\n\nSDK for building **Extend App UI** applications — micro-frontends that are embedded inside the AGS Admin Portal. It provides:\n\n- A React context that handles authentication and permission checking.\n- A Vite dev plugin that proxies requests to the AGS backend.\n- TypeScript types for the module contract between the host (Admin Portal) and your app.\n\n## Constraints\n\nThese are the current constraints:\n\n- Vite is currently the only official way to build Extend App UI as other bundlers are not supported yet.\n- React is currently the only official way to build Extend App UI.\n- Although the micro-frontend approach is using Module Federation, Admin Portal **does not** share dependencies with the App UI when loading the modules. This ensures loose coupling between the Admin Portal and the App UI, removing any strict dependencies versioning that would otherwise break one another.\n- The micro-frontend _has to be_ a Single Page Application (SPA).\n\n## Installation\n\n```bash\nnpm install @accelbyte/sdk-extend-app-ui\n```\n\nPeer dependencies:\n\n```bash\nnpm install @accelbyte/sdk @accelbyte/sdk-iam react @tanstack/react-query vite\n```\n\n| Peer dependency         | Supported versions                  |\n| ----------------------- | ----------------------------------- |\n| `@accelbyte/sdk`        | `^4.0.4`                            |\n| `@accelbyte/sdk-iam`    | `^6.3.2`                            |\n| `react`                 | `^17.0.0` or `^18.0.0` or `^19.0.0` |\n| `@tanstack/react-query` | `^4.36.1` or `^5.0.0`               |\n| `vite`                  | `^7`                                |\n\n## Core concepts\n\n### Development vs production mode\n\n`AppUIContextProvider` detects the environment via `NODE_ENV` and switches behavior:\n\n| Aspect      | Development                                                          | Production                                                   |\n| ----------- | -------------------------------------------------------------------- | ------------------------------------------------------------ |\n| Auth        | Exchanges OAuth2 authorization code, refreshes tokens automatically  | Skipped — Admin Portal manages auth                          |\n| Permissions | Fetches current user + all roles from IAM, sets a permission checker | Uses `isCurrentUserHasPermission` passed by the Admin Portal |\n\n## Usage\n\n### 1. Implement the module contract\n\nThe Admin Portal loads your app as a module and calls `mount`. Export an object conforming to `AppUIModule`. We recommend using `@tanstack/react-query` as the library for fetching resources.\n\n```tsx\nimport { AppUIContextProvider, type AppUIModule } from '@accelbyte/sdk-extend-app-ui'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { StrictMode } from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { BrowserRouter } from 'react-router-dom'\nimport { App } from './my-app'\n\nconst client = new QueryClient()\n\nconst module: AppUIModule = {\n  mount(container, context) {\n    const root = createRoot(container)\n\n    root.render(\n      <StrictMode>\n        <QueryClientProvider client={client}>\n          <AppUIContextProvider sdkConfig={context.sdkConfig} isCurrentUserHasPermission={context.isCurrentUserHasPermission}>\n            {/* Pass context.basePath to your router's basename if your app uses client-side routing */}\n            <BrowserRouter basename={context.basePath}>\n              <App />\n            </BrowserRouter>\n          </AppUIContextProvider>\n        </QueryClientProvider>\n      </StrictMode>\n    )\n\n    return () => root.unmount()\n  }\n}\n\nexport default module\n```\n\n### 2. Access the context in child components\n\n```tsx\nimport { CrudType, useAppUIContext } from '@accelbyte/sdk-extend-app-ui'\n\nfunction MyComponent() {\n  const { sdk, isLoading, isCurrentUserHasPermission } = useAppUIContext()\n\n  if (isLoading) return <Spinner />\n\n  const canWrite = isCurrentUserHasPermission({ resource: 'ADMIN:NAMESPACE:{namespace}:CONTENT', action: CrudType.CREATE })\n\n  return canWrite ? <Editor sdk={sdk} /> : <ReadOnlyView sdk={sdk} />\n}\n```\n\n### 3. Vite dev proxy\n\nDuring development, API calls need to be proxied to the AGS backend (to avoid CORS issues). Add `devProxyPlugin` to your `vite.config.ts`:\n\n> `baseUrl` and `redirectURI` must match the values registered in your IAM OAuth client.\n\n```ts\nimport { devProxyPlugin } from '@accelbyte/sdk-extend-app-ui/plugins'\nimport { defineConfig } from 'vite'\n\nexport default defineConfig({\n  plugins: [\n    devProxyPlugin({\n      baseUrl: 'https://your-ags-instance.accelbyte.io',\n      redirectURI: 'http://localhost:5173'\n    })\n  ]\n})\n```\n\nAll requests to `/proxy/*` are forwarded to the AGS backend. Point your SDK's `baseURL` to `/proxy` in development:\n\n```ts\nconst sdkConfig = {\n  baseURL: import.meta.env.DEV ? '/proxy' : 'https://your-ags-instance.accelbyte.io'\n  // ...\n}\n```\n\nThe plugin also handles Shared Cloud subdomain routing: it reads the `access_token` cookie, extracts the namespace, and sets the correct `Referer` header automatically.\n\n## API reference\n\n### `AppUIContextProvider`\n\n```ts\ninterface AppUIContextProviderProps {\n  sdkConfig: SdkConfigOptions\n  /**\n   * Provided by the host in production. Omit in development —\n   * the provider will fall back to its own PermissionGuard.\n   */\n  isCurrentUserHasPermission?: (permission: CrudRolePermission) => boolean\n  children: ReactNode\n}\n```\n\n### `useAppUIContext`\n\n```ts\ninterface AppUIContextValue {\n  /** Initialized AccelByteSDK instance. Use this to call AGS APIs. */\n  sdk: AccelByteSDK\n  /** True while user data or roles are loading. */\n  isLoading: boolean\n  /** Returns true if the current user has the given permission. */\n  isCurrentUserHasPermission: (permission: CrudRolePermission) => boolean\n}\n```\n\n### `devProxyPlugin`\n\n```ts\nfunction devProxyPlugin(options: {\n  /** AGS backend base URL. Must match the baseURL registered in your IAM OAuth client. */\n  baseUrl: string\n  /** OAuth2 redirect URI. Must match the redirect URI registered in your IAM OAuth client. */\n  redirectURI: string\n}): Plugin\n```\n\n### Types\n\n| Type                  | Description                                                                                     |\n| --------------------- | ----------------------------------------------------------------------------------------------- |\n| `SdkConfigOptions`    | Core config passed to `AccelByte.SDK()`                                                         |\n| `HostContext`         | Object passed from the host to `mount()`: `sdkConfig`, `basePath`, `isCurrentUserHasPermission` |\n| `AppUIModule` | Contract your app module must implement: `mount(container, context): () => void`                |\n| `CrudRolePermission`  | Permission descriptor used with `isCurrentUserHasPermission`                                    |\n| `CrudType`            | Enum for CRUD actions with string values: `CREATE`, `READ`, `UPDATE`, `DELETE`                  |\n","readmeFilename":"README.md"}