{"_id":"@designcodeio/threeui","_rev":"4-6ae28a9e9000f983c1833f8c8d2b5c4f","name":"@designcodeio/threeui","dist-tags":{"latest":"1.2.0"},"versions":{"0.3.0":{"name":"@designcodeio/threeui","version":"0.3.0","license":"MIT","_id":"@designcodeio/threeui@0.3.0","maintainers":[{"name":"mengto","email":"shadownessguy@gmail.com"}],"homepage":"https://threeui.com","bugs":{"url":"https://github.com/MengTo/threeui/issues"},"dist":{"shasum":"21fc76b1398eb781b7692d1f6ee14559e7992b8a","tarball":"https://registry.npmjs.org/@designcodeio/threeui/-/threeui-0.3.0.tgz","fileCount":728,"integrity":"sha512-i9H4Hxf5iGaPYFzAL1vvHc3NFWbutL3pXoj+IyI3DzMsaIkzhNaMeFX/sYdYiNDkGrBCc7Q0N4exr+7Uxm/SSQ==","signatures":[{"sig":"MEUCIFkw+XKwIa7V7AU2UOkYkJ1mvFZ1HFlgtBfmMMNP2Z8wAiEAnb1t9KI3qS9+fIhcMIQWP+oeMIP4qMe8hYVXzRKcMxU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56338363},"main":"./lib-dist/index.js","type":"module","_from":"file:/var/folders/sq/2p7t2dgj1q93d7m45d0f6fq40000gn/T/tmp.FuHRhpuJ5z/designcodeio-threeui-0.3.0.tgz","types":"./lib-dist/index.d.ts","module":"./lib-dist/index.js","exports":{".":{"types":"./lib-dist/index.d.ts","import":"./lib-dist/index.js","default":"./lib-dist/index.js"},"./assets/*":"./lib-dist/assets/*","./style.css":"./lib-dist/style.css","./components/*":{"types":"./lib-dist/package-components/*.d.ts","import":"./lib-dist/package-components/*.js","default":"./lib-dist/package-components/*.js"},"./package.json":"./package.json"},"scripts":{"dev":"vite","test":"node --test scripts/public-boundary.test.mjs scripts/library-package.test.mjs packages/cli/test/*.test.mjs","build":"npm run test && npm run build:site && npm run build:lib","prepack":"npm run test && npm run audit:public && npm run build:lib","preview":"vite preview","build:lib":"npm run generate:lib && vite build --config vite.lib.config.js && tsc -p tsconfig.lib.json && node scripts/copy-library-assets.mjs","typecheck":"tsc --noEmit","build:site":"npm run typecheck && npm run audit:public && vite build && node scripts/audit-build.mjs","audit:public":"node scripts/audit-public.mjs","generate:lib":"node scripts/generate-library-entry.mjs","sync:community":"node scripts/sync-community-from-main.mjs"},"_npmUser":{"name":"mengto","email":"shadownessguy@gmail.com"},"_resolved":"/var/folders/sq/2p7t2dgj1q93d7m45d0f6fq40000gn/T/tmp.FuHRhpuJ5z/designcodeio-threeui-0.3.0.tgz","_integrity":"sha512-i9H4Hxf5iGaPYFzAL1vvHc3NFWbutL3pXoj+IyI3DzMsaIkzhNaMeFX/sYdYiNDkGrBCc7Q0N4exr+7Uxm/SSQ==","repository":{"url":"git+https://github.com/MengTo/threeui.git","type":"git"},"_npmVersion":"10.9.7","description":"Open-source React components and interactive templates from ThreeUI Community.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"22.22.2","dependencies":{"three128":"npm:three@0.128.0","three165":"npm:three@0.165.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","react":"^19.2.0","three":"0.149.0","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","@types/three":"0.149.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.1"},"peerDependencies":{"react":">=18 <20","three":">=0.149 <1","react-dom":">=18 <20"},"_npmOperationalInternal":{"tmp":"tmp/threeui_0.3.0_1787330368642_0.5966166709638554","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@designcodeio/threeui","version":"1.0.0","license":"MIT","_id":"@designcodeio/threeui@1.0.0","maintainers":[{"name":"mengto","email":"shadownessguy@gmail.com"}],"homepage":"https://threeui.com","bugs":{"url":"https://github.com/MengTo/threeui/issues"},"dist":{"shasum":"07be016a5e739d50f55a28052931c2a46128dc12","tarball":"https://registry.npmjs.org/@designcodeio/threeui/-/threeui-1.0.0.tgz","fileCount":678,"integrity":"sha512-SxX4saOozy6jjb/+ZO+T/hMQNDKvxkHpeg8U3+Egbx9nLhwefAkw0tXVOvbkdx2DDAkCnxBUFpyOU8BQ+d5bhw==","signatures":[{"sig":"MEUCIQDEkpxx4rPWdg44VygxlV29QF0Z1X3iX7T+sk/S3Fsb8wIgRSsGUHglRZnaRSSHZ+dO4PXhglh9bFMh/sSnnc9JwWs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@designcodeio%2fthreeui@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54445961},"main":"./lib-dist/index.js","type":"module","types":"./lib-dist/index.d.ts","module":"./lib-dist/index.js","exports":{".":{"types":"./lib-dist/index.d.ts","import":"./lib-dist/index.js","default":"./lib-dist/index.js"},"./assets/*":"./lib-dist/assets/*","./style.css":"./lib-dist/style.css","./components/*":{"types":"./lib-dist/package-components/*.d.ts","import":"./lib-dist/package-components/*.js","default":"./lib-dist/package-components/*.js"},"./package.json":"./package.json"},"gitHead":"fbc9b3d61b0ef4b2e93b42e4fffa617ca277429b","scripts":{"dev":"vite","test":"node --test scripts/community-sanitizers.test.mjs scripts/public-boundary.test.mjs scripts/library-package.test.mjs scripts/prepare-community-release.test.mjs packages/cli/test/*.test.mjs","build":"npm run test && npm run build:site && npm run build:lib","prepack":"npm run test && npm run audit:public && npm run build:lib","preview":"vite preview","build:lib":"npm run generate:lib && vite build --config vite.lib.config.js && tsc -p tsconfig.lib.json && node scripts/copy-library-assets.mjs","typecheck":"tsc --noEmit","build:site":"npm run typecheck && npm run audit:public && vite build && node scripts/audit-build.mjs","audit:public":"node scripts/audit-public.mjs","generate:lib":"node scripts/generate-library-entry.mjs","smoke:package":"node scripts/package-install-smoke.mjs","sync:community":"node scripts/sync-community-from-main.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d38c366-0498-4e87-8925-6a2ee3d03a7a"}},"repository":{"url":"git+https://github.com/MengTo/threeui.git","type":"git"},"_npmVersion":"12.0.2","description":"Open-source React components and interactive templates from ThreeUI Community.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"three128":"npm:three@0.128.0","three165":"npm:three@0.165.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","react":"^19.2.0","three":"0.149.0","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","@types/three":"0.149.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.1"},"peerDependencies":{"react":">=18 <20","three":">=0.149 <1","react-dom":">=18 <20"},"_npmOperationalInternal":{"tmp":"tmp/threeui_1.0.0_1787495507672_0.3880624625863571","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@designcodeio/threeui","version":"1.1.0","license":"MIT","_id":"@designcodeio/threeui@1.1.0","maintainers":[{"name":"mengto","email":"shadownessguy@gmail.com"}],"homepage":"https://threeui.com","bugs":{"url":"https://github.com/MengTo/threeui/issues"},"dist":{"shasum":"e7bd0a50df99e888882462997c62b5d00fbb4830","tarball":"https://registry.npmjs.org/@designcodeio/threeui/-/threeui-1.1.0.tgz","fileCount":684,"integrity":"sha512-7VOgCL0dswnQaGy/kkqQe3wMfLSAJ5JlzmrSjT6B7wkM+QHXmtH84CKN3kroT2xA3JdXr1/HZ6y8+VCENOe0ag==","signatures":[{"sig":"MEQCIDg9T4Wjs5fDEGiWumlfhLC+iZWNOh7GJxXLgW2JGKIcAiBsiJ7sr90jjOFKbjjh73lMg2sAUMpEsDkX4mNp5fVTyw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@designcodeio%2fthreeui@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54527327},"main":"./lib-dist/index.js","type":"module","types":"./lib-dist/index.d.ts","module":"./lib-dist/index.js","exports":{".":{"types":"./lib-dist/index.d.ts","import":"./lib-dist/index.js","default":"./lib-dist/index.js"},"./assets/*":"./lib-dist/assets/*","./style.css":"./lib-dist/style.css","./components/*":{"types":"./lib-dist/package-components/*.d.ts","import":"./lib-dist/package-components/*.js","default":"./lib-dist/package-components/*.js"},"./package.json":"./package.json"},"gitHead":"0579b809e4425f8f458c2b496a8d3e1a82dac3f7","scripts":{"dev":"vite","test":"node --test scripts/community-sanitizers.test.mjs scripts/public-boundary.test.mjs scripts/library-package.test.mjs scripts/prepare-community-release.test.mjs packages/cli/test/*.test.mjs","build":"npm run test && npm run build:site && npm run build:lib","prepack":"npm run test && npm run audit:public && npm run build:lib","preview":"vite preview","build:lib":"npm run generate:lib && vite build --config vite.lib.config.js && tsc -p tsconfig.lib.json && node scripts/copy-library-assets.mjs","typecheck":"tsc --noEmit","build:site":"npm run typecheck && npm run audit:public && vite build && node scripts/audit-build.mjs","audit:public":"node scripts/audit-public.mjs","generate:lib":"node scripts/generate-library-entry.mjs","smoke:package":"node scripts/package-install-smoke.mjs","sync:community":"node scripts/sync-community-from-main.mjs"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d38c366-0498-4e87-8925-6a2ee3d03a7a"}},"repository":{"url":"git+https://github.com/MengTo/threeui.git","type":"git"},"_npmVersion":"12.0.2","description":"Open-source React components and interactive templates from ThreeUI Community.","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"24.19.0","dependencies":{"three128":"npm:three@0.128.0","three165":"npm:three@0.165.0"},"publishConfig":{"access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.3.1","react":"^19.2.0","three":"0.149.0","react-dom":"^19.2.0","typescript":"^5.9.3","@types/node":"^24.10.1","@types/react":"^19.2.7","@types/three":"0.149.0","@types/react-dom":"^19.2.3","@vitejs/plugin-react":"^5.1.1"},"peerDependencies":{"react":">=18 <20","three":">=0.149 <1","react-dom":">=18 <20"},"_npmOperationalInternal":{"tmp":"tmp/threeui_1.1.0_1787654260997_0.45189360549958013","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@designcodeio/threeui","version":"1.2.0","description":"Open-source React components and interactive templates from ThreeUI Community.","license":"MIT","type":"module","main":"./lib-dist/index.js","module":"./lib-dist/index.js","types":"./lib-dist/index.d.ts","exports":{".":{"types":"./lib-dist/index.d.ts","import":"./lib-dist/index.js","default":"./lib-dist/index.js"},"./style.css":"./lib-dist/style.css","./components/*":{"types":"./lib-dist/package-components/*.d.ts","import":"./lib-dist/package-components/*.js","default":"./lib-dist/package-components/*.js"},"./assets/*":"./lib-dist/assets/*","./package.json":"./package.json"},"sideEffects":["**/*.css"],"repository":{"type":"git","url":"git+https://github.com/MengTo/threeui.git"},"homepage":"https://threeui.com","bugs":{"url":"https://github.com/MengTo/threeui/issues"},"publishConfig":{"access":"public","provenance":true},"scripts":{"dev":"vite","sync:community":"node scripts/sync-community-from-main.mjs","generate:lib":"node scripts/generate-library-entry.mjs","typecheck":"tsc --noEmit","test":"node --test scripts/community-sanitizers.test.mjs scripts/public-boundary.test.mjs scripts/library-package.test.mjs scripts/prepare-community-release.test.mjs packages/cli/test/*.test.mjs","audit:public":"node scripts/audit-public.mjs","build:site":"npm run typecheck && npm run audit:public && vite build && node scripts/audit-build.mjs","build:lib":"npm run generate:lib && vite build --config vite.lib.config.js && tsc -p tsconfig.lib.json && node scripts/copy-library-assets.mjs","build":"npm run test && npm run build:site && npm run build:lib","prepack":"npm run test && npm run audit:public && npm run build:lib","smoke:package":"node scripts/package-install-smoke.mjs","preview":"vite preview"},"dependencies":{"three128":"npm:three@0.128.0","three165":"npm:three@0.165.0"},"peerDependencies":{"react":">=18 <20","react-dom":">=18 <20","three":">=0.149 <1"},"devDependencies":{"@types/node":"^24.10.1","@types/react":"^19.2.7","@types/react-dom":"^19.2.3","@types/three":"0.149.0","@vitejs/plugin-react":"^5.1.1","react":"^19.2.0","react-dom":"^19.2.0","three":"0.149.0","typescript":"^5.9.3","vite":"^7.3.1"},"gitHead":"68802d5428071ada5c20db8094b1649e6bb770ed","_id":"@designcodeio/threeui@1.2.0","_nodeVersion":"24.19.0","_npmVersion":"12.0.2","dist":{"integrity":"sha512-E6F/+IPfLKYatB5W62H3gK1bp9WYvfO6xuWBaBh8oLVR7fbTeeEwgLqqy7ZPMA0zmDpAy03nKYOIswBXsstL2g==","shasum":"27f11e641dcbc503ea52d30252cc9b241ebf49d3","tarball":"https://registry.npmjs.org/@designcodeio/threeui/-/threeui-1.2.0.tgz","fileCount":726,"unpackedSize":54726125,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@designcodeio%2fthreeui@1.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIE0KGLRl+jGLk3wOqyytjal+r8rEHU77yX+iyBcMRxvVAiEAlMlf4qdP3VLkNSAyBnHjriaiCYDBKHFbWvaWdjBau7s="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:3d38c366-0498-4e87-8925-6a2ee3d03a7a"}},"directories":{},"maintainers":[{"name":"mengto","email":"shadownessguy@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/threeui_1.2.0_1788236293344_0.24796730967047953"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-21T16:39:28.465Z","modified":"2026-09-01T04:18:14.330Z","0.3.0":"2026-08-21T16:39:29.331Z","1.0.0":"2026-08-23T14:31:48.475Z","1.1.0":"2026-08-25T10:37:41.655Z","1.2.0":"2026-09-01T04:18:13.997Z"},"bugs":{"url":"https://github.com/MengTo/threeui/issues"},"license":"MIT","homepage":"https://threeui.com","repository":{"type":"git","url":"git+https://github.com/MengTo/threeui.git"},"description":"Open-source React components and interactive templates from ThreeUI Community.","maintainers":[{"name":"mengto","email":"shadownessguy@gmail.com"}],"readme":"# ThreeUI Community\n\n> **Sponsor ThreeUI:** Linked README placements start at $500/month, with website placements from $1,500/month. [View sponsorship plans](https://threeui.com/sponsorship).\n\nThe open-source, login-free edition of ThreeUI. It uses the same application shell, layout, navigation, browse grid, search, themes, responsive behavior, component pages, live renderers, controls, variant picker, and source tabs as the main project.\n\nThe catalog is the only product-level difference: Pro and Beta components are removed. Every Community component keeps all of its free variants and controls.\n\n[Browse ThreeUI](https://threeui.com) · [View the source on GitHub](https://github.com/MengTo/threeui)\n\n![ThreeUI Community preview](assets/preview.jpg)\n\n## Sponsor ThreeUI\n\nSponsorship keeps the open-source Community library maintained and puts your product in front of ThreeUI's developer audience. Website traffic is currently estimated at roughly 90,000 views per day as of 26 August 2026; this is directional traffic context, not a guarantee of sponsor impressions, clicks, or results.\n\n| Plan | Price | Placement and involvement |\n| --- | ---: | --- |\n| Ecosystem Sponsor | $500/month | Linked banner near the top of the public GitHub README, plus a thank-you credit in this sponsorship section. Up to 6 sponsors. |\n| Featured Sponsor | $1,500/month | Everything in Ecosystem, plus a small linked banner in the ThreeUI website documentation sidebar. Up to 2 sponsors. |\n| Ultimate Sponsor | $3,000/month | Both banner placements, one approved fixed-scope integration project per agreement, and priority consideration for maintenance needs, sponsor feedback, and reasonable special requests. All work is mutually agreed in writing. |\n\n[See the complete sponsorship details](https://threeui.com/sponsorship) or email [support@designcode.io](mailto:support@designcode.io?subject=ThreeUI%20sponsorship). Sponsorship does not guarantee roadmap changes, editorial control, exclusivity, or private support.\n\n## Included\n\n- 50 Community parent components\n- 111 Community routes\n- 141 free variant records, plus 23 singleton components (164 browse results)\n- Complete Community implementation source and required assets\n- No authentication, account state, checkout runtime, Pro implementation, or Beta implementation\n- `Get Pro` links to `https://threeui.com/pricing`\n\n## Run locally\n\n```bash\nnpm install\nnpm run dev\n```\n\nRun the complete publication boundary, type, and production-build checks:\n\n```bash\nnpm run build\n```\n\n## Install the React package\n\nInstall the public Community component library from npm:\n\n```bash\nnpm install @designcodeio/threeui\n```\n\nImport a component and the shared styles:\n\n```tsx\nimport { AtTheHorizon } from \"@designcodeio/threeui\";\nimport \"@designcodeio/threeui/style.css\";\n\nexport function Hero() {\n  return <AtTheHorizon />;\n}\n```\n\nFor the smallest development import graph, use a component subpath:\n\n```tsx\nimport { AtTheHorizon } from \"@designcodeio/threeui/components/AtTheHorizon\";\n```\n\nComponents that render full HTML documents expect their runtime files at the same root-relative URLs used by the ThreeUI preview. Copy the needed files from `node_modules/@designcodeio/threeui/lib-dist/assets/` into your app's public directory, or override the component's `sourceUrl` or `assetBaseUrl` prop where available.\n\n## Pro source access\n\nPro implementation source is deliberately not published to npm. Active ThreeUI Pro members authenticate through the browser and download an entitled source bundle with the public CLI:\n\n```bash\nnpx @designcodeio/threeui-cli add cross-beam\n```\n\nThe CLI uses OAuth with PKCE, stores its refreshable session with owner-only permissions, checks the account entitlement on every server request, and refuses to overwrite changed project files unless `--force` is supplied. Run `npx @designcodeio/threeui-cli --help` for login, logout, destination, and development endpoint options.\n\n## Synchronization\n\nThe checked-in repository runs independently. Maintainers can refresh its Community subset from a separately held main-project snapshot:\n\n```bash\nnpm run sync:community -- /path/to/main-threeui\n```\n\nThe sync fails closed, filters Pro and Beta before generating the public import graph, preserves all free metadata and options, removes restricted font assets, and writes:\n\n- `public/community-sync-report.json` — counts plus per-component variant/control parity\n- `public/source-code.json` — Community source bundles used by the Code tab\n- `src/data/shaders.tsx` — Community-only catalog and renderer imports\n\nThe private ThreeUI repository runs this synchronization after every successful push to `main`. A no-op sync exits without a release. Changes update the `automation/community-sync` branch and open one reviewed pull request here. New public components, variants, or controls infer a minor release; removals infer a major release; compatible source changes infer a patch release. Merging a versioned sync pull request publishes the new package through npm trusted publishing with provenance.\n\nThe public workflow also runs a clean build, boundary audit, package creation, and anonymous installation smoke test before release. The Pro installer is versioned and published separately; changes to Pro component content do not require a CLI release.\n\n## License\n\nApplication code, Community component code, and ThreeUI-authored Community imagery are MIT licensed. Bundled open fonts remain under the SIL Open Font License 1.1, and bundled Three.js runtime files remain MIT licensed. Remote catalog thumbnails and previews loaded from `https://threeui.com` are not redistributed by this repository. See `ASSET-LICENSES.md`, `FONT-LICENSES.md`, and `THIRD_PARTY_NOTICES.md`.\n","readmeFilename":"README.md"}