{"_id":"@pixygon/social","name":"@pixygon/social","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","license":"MIT","homepage":"https://github.com/pixygon/pixygon-packages#readme","repository":{"type":"git","url":"git+https://github.com/pixygon/pixygon-packages.git"},"keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist-tags":{"latest":"1.6.1"},"versions":{"1.0.0":{"name":"@pixygon/social","version":"1.0.0","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.0.0","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"35d15a7ff30d05715c290b7ae358b7e0758de6b8","unpackedSize":126296,"fileCount":29,"integrity":"sha512-nwXghRmV0tDoil2GXbz3fwy+KyorYUETUopnkivvmCquxxkDBw9+OLxmiozypc68mygeEfjEfvx/Z1ERzu261g==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.0.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"e98773c0bc9f999e6142f26e7644bc6e3eb428fd","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.0.0_1774718698179_0.47820695398424284","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@pixygon/social","version":"1.1.0","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.1.0","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"1766942a13071a1a9c44f448d4b5b5c02771cbd3","unpackedSize":141118,"fileCount":30,"integrity":"sha512-0lx8yu+2rZAJUQ/ZGLHyqko90CheN0vQnxsVyKALWeBg3u44Z6GAHlXcVIx9PBuiFNMWm2nwwsVHT5rQeegeDw==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.1.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"d6be8925781a47d111c2c75b9f396f6b2c550bfa","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.1.0_1774719591291_0.9571423413672409","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@pixygon/social","version":"1.2.0","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.2.0","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"d7c49605621779f53e396dd12e4376fcb84e8901","unpackedSize":151469,"fileCount":31,"integrity":"sha512-34DTIkvnpOLnf2Klq3dPklRL7+7BWCvIJidaLzdqw8CsohqGXlsfx3yYjU3hMRxf/tHnfZHWHxfPjMgXYXFEIw==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.2.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"bfb32a4129d9bd509df663e9b575be80f5c816e9","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.2.0_1774722539565_0.5854486290567176","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@pixygon/social","version":"1.2.1","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.2.1","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"a38e3ed7d5640929cbd4bb35415a19942a0583b1","unpackedSize":151939,"fileCount":31,"integrity":"sha512-t+2T1Nvt6UytNa4REGqZUoG4APwHXk4u4tx8h2vcJWVPEgQ7R/9EsKju/5L32lmgZzpLN5FTLQI1Y93xYEkJvg==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.2.1.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"4ae7a250613144bc49eaf68cd49545e8c3213b46","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.2.1_1774722942952_0.14893202280194306","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@pixygon/social","version":"1.3.0","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.3.0","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"81130c854a9abbf739790ad6d9815daf902e3c66","unpackedSize":252613,"fileCount":35,"integrity":"sha512-QV7catnWaBosJKGq5mSluQN7IdCnxm4WabsLrfpksoL+f0mQQOiQf7tCvqT44A7Rxvfa60Pc12HeNbWZJRfAcg==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.3.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"80bf7da2efbf292033871cc3be8f2809fb502455","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.3.0_1774724211218_0.6832003619466915","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@pixygon/social","version":"1.3.1","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.3.1","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"b57ea0bd6bb59e22c53468c5949a84f8a56a467f","unpackedSize":252620,"fileCount":35,"integrity":"sha512-I8oT4PBPU1MNUHWALPOFKHLsisafsIvTHcGzIr8GGwHvgpKXQA+mt8yyhR2NPASgPDh6PBnoVVu096N3KOT+1A==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.3.1.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"a39ce611e3b8cdb4f6f7d49d414fc6637cbffa10","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.3.1_1774728008883_0.5349074852618385","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@pixygon/social","version":"1.3.2","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.3.2","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"99187f1302b7ef22d0758a3389cf9e0c2db953b1","unpackedSize":280077,"fileCount":35,"integrity":"sha512-HrYUyNSpSDBRe05Hc33VE2tAnUYcVQrToTn0AOqbmJMIRDbgYeaqBsaRgllyOiuxevY5v2f/cm0cYkNpj5zY4A==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.3.2.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"4d501aee0367854ac5465f4782f5a39e73eb6e0a","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.3.2_1776897154861_0.15591129739935816","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@pixygon/social","version":"1.3.3","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.3.3","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"1200b4244567c8714b8ff8ca95746c92e689231d","unpackedSize":280177,"fileCount":35,"integrity":"sha512-CDGX34w+tGDnJLcGvZN8qB+r7ytMMHLanGGxpozURIYLuwqzj8lBrVyYOvAZ9xBoyJ46gVMbqzBfV5njTpqJVQ==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.3.3.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"5dfded853b28169e111c30a63bc8ea96651f0532","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.3.3_1777161153386_0.04272942265164836","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@pixygon/social","version":"1.4.0","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.4.0","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"7a17cb415c6395f25e9bb5d4bf1fa18e2c52be90","unpackedSize":297480,"fileCount":36,"integrity":"sha512-01q1OuPg0IV7PzxlqH4DDRugPAezkRlsYz1menMAglTDcehQVwqK4I0Z+qn8fnVRcjsp95WnD1IT93vlzM7Qpw==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.4.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"b128985580bd7300e80cac7b2693a2128fed5978","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.4.0_1777565707433_0.5514984252504045","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@pixygon/social","version":"1.5.0","keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","_id":"@pixygon/social@1.5.0","maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"homepage":"https://github.com/pixygon/pixygon-packages#readme","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"dist":{"shasum":"82191686ae902191ef8bc4cf65795b286a88c7ff","unpackedSize":305177,"fileCount":36,"integrity":"sha512-XUBhG+HvcdOOcrUkSlONJGIz3Z7Fq8KaW+mh9zjNNeGwXSqyNTvS64RpciPwrsZNCzqXopdcMoVM+q3yPsnidA==","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.5.0.tgz"},"main":"dist/index.js","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"gitHead":"103778543a708a83f12c790dbbe16aa1a184379d","scripts":{"dev":"tsup --watch","build":"tsup","typecheck":"tsc --noEmit"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"repository":{"url":"git+https://github.com/pixygon/pixygon-packages.git","type":"git"},"_npmVersion":"11.12.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","directories":{},"_nodeVersion":"25.8.1","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.7.0","@types/react":"^19.0.0","@mui/material":"^7.0.0","@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@types/react-dom":"^19.0.0","@mui/icons-material":"^7.0.0"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0","@mui/material":">=6.0.0","@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0"},"_npmOperationalInternal":{"tmp":"tmp/social_1.5.0_1778775438133_0.5655574277331488","host":"s3://npm-registry-packages-npm-production"}},"1.6.0":{"name":"@pixygon/social","version":"1.6.0","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit"},"peerDependencies":{"@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0","@mui/material":">=6.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"devDependencies":{"@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@mui/icons-material":"^7.0.0","@mui/material":"^7.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","react":"^19.0.0","react-dom":"^19.0.0","tsup":"^8.0.0","typescript":"^5.7.0"},"keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/pixygon/pixygon-packages.git"},"gitHead":"5e494ca99bc9920cea6e187b15fa166a841e4521","_id":"@pixygon/social@1.6.0","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"homepage":"https://github.com/pixygon/pixygon-packages#readme","_nodeVersion":"26.2.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-EKwV4CsNCUBAlJH2BRCal3n6rAkJGAy1d5T3jiLrCRlrWLPM3Rnd4HRMByVFQth04gwRvIjveeYiBKHHA8U0PQ==","shasum":"2752622a647461e41f31e3b9369ebcc1b1765c7c","unpackedSize":361140,"fileCount":38,"tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.6.0.tgz"},"_npmUser":{"name":"imakestupidgames","email":"anders@pixygon.io"},"directories":{},"maintainers":[{"name":"imakestupidgames","email":"anders@pixygon.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/social_1.6.0_1781522394922_0.6737247243498063"},"_hasShrinkwrap":false},"1.6.1":{"name":"@pixygon/social","version":"1.6.1","description":"Shared social features for Pixygon applications — friends, profiles, PixyGo, levels, achievements","main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"},"./components":{"types":"./dist/components/index.d.ts","import":"./dist/components/index.mjs","require":"./dist/components/index.js"}},"scripts":{"build":"tsup","dev":"tsup --watch","typecheck":"tsc --noEmit","verify":"node verify.mjs"},"peerDependencies":{"@emotion/react":">=11.0.0","@emotion/styled":">=11.0.0","@mui/icons-material":">=6.0.0","@mui/material":">=6.0.0","react":">=18.0.0","react-dom":">=18.0.0"},"devDependencies":{"@emotion/react":"^11.0.0","@emotion/styled":"^11.0.0","@mui/icons-material":"^7.0.0","@mui/material":"^7.0.0","@types/react":"^19.0.0","@types/react-dom":"^19.0.0","react":"^19.0.0","react-dom":"^19.0.0","tsup":"^8.0.0","typescript":"^5.7.0"},"files":["dist","src","verify.mjs"],"keywords":["pixygon","social","friends","pixygo","profile","levels","react"],"author":{"name":"Pixygon"},"license":"MIT","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/pixygon/pixygon-packages.git"},"bin":{"pixygon-verify-social":"verify.mjs"},"dist":{"integrity":"sha512-kG/SxMBZnEFWF1nEwHClK7ZQZi0xhOrydEk21eQCX2DddeH317j3hywv/MVnSLQrDHL+JGYuTK5kbvW7eW1WDg==","shasum":"df21f9c4e38f8f19f0dd74d218b8070c9f6ecb47","tarball":"https://ppm.pixygon.io/@pixygon/social/-/social-1.6.1.tgz"},"readmeFilename":"README.md","_id":"@pixygon/social@1.6.1","bugs":{"url":"https://github.com/pixygon/pixygon-packages/issues"},"homepage":"https://github.com/pixygon/pixygon-packages#readme","_integrity":"sha512-kG/SxMBZnEFWF1nEwHClK7ZQZi0xhOrydEk21eQCX2DddeH317j3hywv/MVnSLQrDHL+JGYuTK5kbvW7eW1WDg==","_resolved":"/home/pixygon/handoff/npm-stage-2026-09-30-raptor3/pixygon-social-1.6.1.tgz","_from":"file:/home/pixygon/handoff/npm-stage-2026-09-30-raptor3/pixygon-social-1.6.1.tgz","_nodeVersion":"26.10.0","_npmVersion":"12.1.0"}},"time":{"1.0.0":"2026-03-28T17:24:58.345Z","modified":"2026-09-30T23:31:16.643Z","created":"2026-03-28T17:24:58.345Z","1.1.0":"2026-03-28T17:39:51.423Z","1.2.0":"2026-03-28T18:28:59.743Z","1.2.1":"2026-03-28T18:35:43.090Z","1.3.0":"2026-03-28T18:56:51.391Z","1.3.1":"2026-03-28T20:00:09.046Z","1.3.2":"2026-04-22T22:32:35.017Z","1.3.3":"2026-04-25T23:52:33.532Z","1.4.0":"2026-04-30T16:15:07.569Z","1.5.0":"2026-05-14T16:17:18.302Z","1.6.0":"2026-06-15T11:19:55.070Z","1.6.1":"2026-09-30T23:31:16.643Z"},"readme":"# @pixygon/social\n\nThe shared social layer for Pixygon apps — friends/followers, cross-app skill\nXP, challenges, PixyGo encounters, profile UI, and the share sheet. **7 repos**\ndepend on it (Tastebud, Kartograf, CoreFeed, SoloBattle, pixygon.io, pixiel.ai,\nlonnlyst.no).\n\nIt is deliberately **not** a new backend: everything is stored under the shared\n`savedata` project `65481fec93ee5f866ade917f`, so XP earned in one pearl shows\nup in every other. Never build a new `/v1/friends` or `/v1/challenges` endpoint —\nextend this package instead.\n\n---\n\n## Two ways to use it\n\n| Mode | What you need | Typical repo |\n|---|---|---|\n| **Full social layer** — friends, skills, challenges, PixyGo, profile pages | `<SocialProvider config>` at the app root | Tastebud, Kartograf, CoreFeed, SoloBattle |\n| **Share-only** — just the share sheet on content | nothing; `<ShareButton>` is standalone | lonnlyst.no |\n\n---\n\n## Retrofitting the full layer (≈15 minutes)\n\n### 1. Install\n\n```bash\nnpm i @pixygon/social\n```\n\nMUI 6+, `@mui/icons-material`, `@emotion/*` and React 18+ are peer deps — the\ncomponents are MUI-based.\n\n### 2. Pick your `appId`\n\n`appId` is a **lowercase app slug**, not an ObjectId — it keys the per-app XP\nbucket and the app's colour/name in profile UI. It must be registered in the\npackage (`src/utils/levels.ts` → `APP_NAMES` + `APP_COLORS`):\n\n```\nkartograf · monstertask · corefeed · solobattle · tastebud\n```\n\nAdding a new app? Add it to those two maps (and a skill pack in\n`ALL_SKILLS` / `ALL_CHALLENGES` if it has its own skills), publish, then use\nit. **Do not** reuse another app's id — `appId: 'pixygon'` copied out of\npixygon.io merges your app's XP into the hub's bucket.\n\n### 3. Mount the provider — below auth\n\nThe config needs a live token and user id, so `SocialProvider` must sit\n**inside** `AuthProvider`. The estate pattern (`src/providers/SocialProvider.tsx`):\n\n```tsx\nimport { SocialProvider as PixygonSocialProvider } from '@pixygon/social/components'\nimport { useToken, useAuth } from '@pixygon/auth'\nimport type { SocialConfig } from '@pixygon/social'\n\nconst API_URL = import.meta.env.VITE_API_URL || 'https://api.pixygon.com/v1'\n\nexport function SocialProvider({ children }: { children: ReactNode }) {\n  const { getAccessToken } = useToken()\n  const { user } = useAuth()\n  const config: SocialConfig = {\n    appId: 'tastebud',\n    appName: 'Tastebud',\n    primaryColor: '#e879f9',\n    accentColor: '#38bdf8',\n    baseUrl: API_URL,\n    getToken: getAccessToken,\n    getUserId: () => (user as any)?._id ?? null,\n  }\n  return <PixygonSocialProvider config={config}>{children}</PixygonSocialProvider>\n}\n```\n\n**All seven fields are required.** Without `getToken`/`getUserId` the hooks\nfall back to the package default config (`appId: 'pixygon'`, no token, no\nuser) and every request comes back empty — silently.\n\n### 4. Use the hooks / components\n\n```tsx\nimport { useSkillsSync, useChallenges, useFriends, usePixyGo } from '@pixygon/social'\n\nconst { skillXp, appXp, totalXp, addSkillXp, addAppXp } = useSkillsSync()  // auto-saves every 15s\naddSkillXp('chef', 25)\n\nconst { progress, updateProgress, getAppCounts } = useChallenges()\nupdateProgress('tb_rate_50', ratedCount)\n\nconst { following, followers, toggleFollow } = useFriends()\nconst { encounters, collection, processEncounters } = usePixyGo({ userPosition, isTracking })\n```\n\n```tsx\nimport { ProfileLayout, SkillsGrid, FriendsList, ChallengesList, ProfileCard, LevelBadge, UserAvatar }\n  from '@pixygon/social/components'\n\n<Route path=\"/profile\" element={<ProfileLayout />} />   // full tabbed profile page\n```\n\n### 5. Share sheet (works with or without the provider)\n\n```tsx\nimport { ShareButton } from '@pixygon/social/components'\n\n<ShareButton\n  payload={{ url, title, description, hashtags, image, contentId }}\n  projectId=\"69ee9b3f7a116f8ba90d0890\"     // omit → the share isn't attributed\n  apiUrl=\"https://api.pixygon.com\"         // omit → share analytics is skipped entirely\n  userId={user?._id}\n  variant=\"pill\"\n/>\n```\n\n⚠ `apiUrl` here is the **host without `/v1`** — the helper appends\n`/v1/analytics/share` itself.\n\n### 6. Verify it worked\n\n```bash\nnode node_modules/@pixygon/social/verify.mjs\n# or:\npearl verify social\n```\n\nIt detects which mode the repo is in and checks accordingly: package installed,\n`<SocialProvider>` mounted with all seven `SocialConfig` fields, a registered\nnon-placeholder `appId`, a real `baseUrl` — or, for share-only repos, that\n`<ShareButton>` gets `apiUrl` + `projectId`. Exit 0 pass, 1 fail.\n\n**What verify cannot prove:** that anything syncs. The hooks are no-ops until\n`getUserId()` returns a real id, so the only end-to-end proof is signing in,\nearning XP, and seeing it on the profile page (and in another app's profile —\nthat's the point of the shared project).\n\n---\n\n## API\n\n| Export | From | Use |\n|---|---|---|\n| `<SocialProvider config>` | `/components` | the mount |\n| `useSocialConfig()` | `.` | read the active config |\n| `useSkillsSync()` | `.` | `skillXp, appXp, totalXp, addSkillXp, addAppXp` (15s autosave) |\n| `useChallenges()` | `.` | `progress, updateProgress, getAppCounts` |\n| `useFriends()` | `.` | `following, followers, toggleFollow` |\n| `usePixyGo({userPosition, isTracking})` | `.` | encounters + collection book |\n| `useUserSearch()` | `.` | find users |\n| `ProfileLayout`, `SkillsGrid`, `SkillCard`, `FriendsList`, `ChallengesList`, `ChallengeCard`, `ProfileCard`, `PixyGoList`, `LevelBadge`, `UserAvatar`, `ShareButton` | `/components` | UI |\n| `getLevel`, `getLevelProgress`, `getSkillLevel`, `getAppLevel`, `xpForLevel`, `MAX_LEVEL` | `.` | level maths |\n| `ALL_SKILLS`, `ALL_CHALLENGES`, `APP_NAMES`, `APP_COLORS`, `TIER_*` | `.` | the registries |\n| `buildShareUrl`, `tagUrl`, `tryNativeShare`, `copyShareUrl`, `reportShare` | `.` | share helpers |\n\n### SocialConfig\n\n```ts\n{\n  appId: string        // lowercase slug, registered in APP_NAMES/APP_COLORS\n  appName: string\n  primaryColor: string // this app's brand colour (use its @pixygon/design brand)\n  accentColor: string\n  baseUrl: string      // https://api.pixygon.com/v1  (WITH /v1)\n  getToken: () => string | null\n  getUserId: () => string | null\n}\n```\n\n## Gotchas\n\n- **No provider = silent defaults.** `useSocialConfig()` falls back to\n  `appId: 'pixygon'`, `getToken: () => null` — requests go out anonymous and\n  return nothing. Nothing throws.\n- **`baseUrl` includes `/v1`; `ShareButton`'s `apiUrl` does not.** Easiest\n  mistake in the package.\n- **Skills live in one shared project.** `useSkillsSync` writes to\n  `savedata/65481fec93ee5f866ade917f/<userId>/section/skills` regardless of\n  your app. That's intentional (cross-app XP) — don't \"fix\" it to your own\n  projectId or you break the whole point.\n- **`appId` collisions merge XP.** See step 2.\n- **Colours should come from the site's own brand** in\n  `@pixygon/design/tokens.mjs` — don't leak another pearl's palette.\n\n## Publishing\n\n```bash\nnpm run build && npm publish --access public\n```\n","readmeFilename":"README.md"}