{"_id":"@8thwall/landing-page","_rev":"3-79e6a0c33e333f76e86219306e6e82df","name":"@8thwall/landing-page","dist-tags":{"latest":"1.0.0","alpha":"1.0.0-alpha.1"},"versions":{"1.0.0-alpha.0":{"name":"@8thwall/landing-page","version":"1.0.0-alpha.0","keywords":["8thwall","landing page","xr","almost there","fallback","webxr"],"author":{"name":"8th Wall Team"},"license":"MIT","_id":"@8thwall/landing-page@1.0.0-alpha.0","maintainers":[{"name":"cmbartschat8","email":"christoph@8thwall.org"},{"name":"kaci.gl","email":"kaci@8thwall.org"}],"dist":{"shasum":"024cc77667ba048c5637f56e7516c08c49b02157","tarball":"https://registry.npmjs.org/@8thwall/landing-page/-/landing-page-1.0.0-alpha.0.tgz","fileCount":23,"integrity":"sha512-KPxNaS1lzjpQGDE48df4Lhm/2Tgg/Oy3bmwJeguI70y5wkJaYqTkVv5dZC8Dkrx4Fm83DKlH3Yu8VkZTy+4DVg==","signatures":[{"sig":"MEYCIQDKTIqJEO8qsnksn1osXpVYVBEw4LfOvHS2ZwpeTOiePAIhAPscv67bqzCCgzarHXFNxhX/O6qpt9OC+GrZxEqSDf6Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3066839},"main":"index.js","gitHead":"0bf29ced2f8a59237862354f4e2baacf19cf8252","scripts":{"build":"npx webpack","watch":"echo \"Test page will be available at: https://localhost:9002\" && npx webpack-dev-server","prepack":"npm run build && cp src/entry.js index.js","postinstall":"patch-package"},"_npmUser":{"name":"cmbartschat8","email":"christoph@8thwall.org"},"_npmVersion":"10.9.7","description":"Fallback page displayed when an 8th Wall experience cannot run on the current device","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"devDependencies":{"sass":"^1.94.2","three":"^0.132.2","preact":"^10.5.13","qrcode":"^1.5.4","webpack":"^5.103.0","css-loader":"^5.2.6","typescript":"^6.0.2","@babel/core":"^7.14.6","html-loader":"^2.1.2","sass-loader":"^16.0.6","webpack-cli":"^6.0.1","@types/three":"^0.131.0","babel-loader":"^8.2.2","style-loader":"^3.0.0","patch-package":"^8.0.1","@babel/runtime":"^7.29.2","@babel/preset-env":"^7.14.7","webpack-dev-server":"^5.2.2","copy-webpack-plugin":"^13.0.1","webpack-bundle-analyzer":"^4.4.2","@babel/preset-typescript":"^7.14.5","@babel/plugin-transform-runtime":"^7.14.5","babel-plugin-transform-react-jsx":"^6.24.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-object-assign":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-proposal-optional-chaining":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7","@babel/plugin-proposal-export-default-from":"^7.14.5","@babel/plugin-proposal-export-namespace-from":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/landing-page_1.0.0-alpha.0_1775769795921_0.5494966317081647","host":"s3://npm-registry-packages-npm-production"}},"1.0.0-alpha.1":{"name":"@8thwall/landing-page","version":"1.0.0-alpha.1","keywords":["8thwall","landing page","xr","almost there","fallback","webxr"],"author":{"name":"8th Wall Team"},"license":"MIT","_id":"@8thwall/landing-page@1.0.0-alpha.1","maintainers":[{"name":"cmbartschat8","email":"christoph@8thwall.org"},{"name":"kaci.gl","email":"kaci@8thwall.org"}],"dist":{"shasum":"9d2fbc191c2db3ef44872fd148670a25b900994b","tarball":"https://registry.npmjs.org/@8thwall/landing-page/-/landing-page-1.0.0-alpha.1.tgz","fileCount":23,"integrity":"sha512-+UdWYrwtFfZrbCl9uPGJaIGh1qylqlrVWEhLjq7oRoXG2ADVfHmIp5lm3HnPO1niA4pGoYNmjzd6wKdcQjUiCA==","signatures":[{"sig":"MEUCIFyi/5Am/uqbNfn0sLqOKJWXevTN3+kRrmf2KgtOZfVsAiEAudFLHFwjvw1ZpQAEG0aGR8vqzvUnAzrt1VIVCxMYhFc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3066824},"main":"index.js","gitHead":"0bf29ced2f8a59237862354f4e2baacf19cf8252","scripts":{"build":"npx patch-package && npx webpack","watch":"echo \"Test page will be available at: https://localhost:9002\" && npx webpack-dev-server","prepack":"npm run build && cp src/entry.js index.js"},"_npmUser":{"name":"cmbartschat8","email":"christoph@8thwall.org"},"_npmVersion":"10.9.7","description":"Fallback page displayed when an 8th Wall experience cannot run on the current device","directories":{},"_nodeVersion":"22.22.2","_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"sass":"^1.94.2","three":"^0.132.2","preact":"^10.5.13","qrcode":"^1.5.4","webpack":"^5.103.0","css-loader":"^5.2.6","typescript":"^6.0.2","@babel/core":"^7.14.6","html-loader":"^2.1.2","sass-loader":"^16.0.6","webpack-cli":"^6.0.1","@types/three":"^0.131.0","babel-loader":"^8.2.2","style-loader":"^3.0.0","patch-package":"^8.0.1","@babel/runtime":"^7.29.2","@babel/preset-env":"^7.14.7","webpack-dev-server":"^5.2.2","copy-webpack-plugin":"^13.0.1","webpack-bundle-analyzer":"^4.4.2","@babel/preset-typescript":"^7.14.5","@babel/plugin-transform-runtime":"^7.14.5","babel-plugin-transform-react-jsx":"^6.24.1","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-object-assign":"^7.14.5","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-proposal-optional-chaining":"^7.14.5","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7","@babel/plugin-proposal-export-default-from":"^7.14.5","@babel/plugin-proposal-export-namespace-from":"^7.14.5"},"_npmOperationalInternal":{"tmp":"tmp/landing-page_1.0.0-alpha.1_1775770279943_0.07189033680461843","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@8thwall/landing-page","version":"1.0.0","description":"Fallback page displayed when an 8th Wall experience cannot run on the current device","author":{"name":"8th Wall Team"},"license":"MIT","main":"index.js","scripts":{"build":"npx patch-package && npx webpack","prepack":"npm run build && cp src/entry.js index.js","watch":"echo \"Test page will be available at: https://localhost:9002\" && npx webpack-dev-server"},"keywords":["8thwall","landing page","xr","almost there","fallback","webxr"],"devDependencies":{"@babel/core":"^7.14.6","@babel/plugin-proposal-class-properties":"^7.14.5","@babel/plugin-proposal-export-default-from":"^7.14.5","@babel/plugin-proposal-export-namespace-from":"^7.14.5","@babel/plugin-proposal-object-rest-spread":"^7.14.7","@babel/plugin-proposal-optional-chaining":"^7.14.5","@babel/plugin-syntax-dynamic-import":"^7.8.3","@babel/plugin-transform-modules-commonjs":"^7.14.5","@babel/plugin-transform-object-assign":"^7.14.5","@babel/plugin-transform-runtime":"^7.14.5","@babel/preset-env":"^7.14.7","@babel/preset-typescript":"^7.14.5","@babel/runtime":"^7.29.2","@types/three":"^0.131.0","babel-loader":"^8.2.2","babel-plugin-transform-react-jsx":"^6.24.1","copy-webpack-plugin":"^13.0.1","css-loader":"^5.2.6","html-loader":"^2.1.2","patch-package":"^8.0.1","preact":"^10.5.13","qrcode":"^1.5.4","sass":"^1.94.2","sass-loader":"^16.0.6","style-loader":"^3.0.0","three":"^0.132.2","typescript":"^6.0.2","webpack":"^5.103.0","webpack-bundle-analyzer":"^4.4.2","webpack-cli":"^6.0.1","webpack-dev-server":"^5.2.2"},"_id":"@8thwall/landing-page@1.0.0","gitHead":"efd74b60954f1c596e38f520a70fab2a1aea5d71","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-RWZmB86+MqviO+UNdT/H+xhJGzIT3G5Ah0ueDDltTxgv8y1xpQ+x0RF6R57FMpHP1AzR8XDTwvZhyTtv/N0/gA==","shasum":"625e35a130d9ef4f740d5b1d2de6eb17bb21715d","tarball":"https://registry.npmjs.org/@8thwall/landing-page/-/landing-page-1.0.0.tgz","fileCount":22,"unpackedSize":1578797,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDgAapvEuAe+xpSogphRyhuDcPVJzFK0lymjIPIQP9vYAiBWaeGpuGgbU9SeoFg7wO9bXGytgsQPbWsOmJYRTrKjbw=="}]},"_npmUser":{"name":"cmbartschat8","email":"christoph@8thwall.org"},"directories":{},"maintainers":[{"name":"cmbartschat8","email":"christoph@8thwall.org"},{"name":"kaci.gl","email":"kaci@8thwall.org"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/landing-page_1.0.0_1775778016598_0.4027047156966044"},"_hasShrinkwrap":false}},"time":{"created":"2026-04-09T21:23:15.773Z","modified":"2026-04-09T23:40:17.030Z","1.0.0-alpha.0":"2026-04-09T21:23:16.181Z","1.0.0-alpha.1":"2026-04-09T21:31:20.260Z","1.0.0":"2026-04-09T23:40:16.840Z"},"author":{"name":"8th Wall Team"},"license":"MIT","keywords":["8thwall","landing page","xr","almost there","fallback","webxr"],"description":"Fallback page displayed when an 8th Wall experience cannot run on the current device","maintainers":[{"name":"cmbartschat8","email":"christoph@8thwall.org"},{"name":"kaci.gl","email":"kaci@8thwall.org"}],"readme":"# Landing Page\n\nFallback page displayed when an 8th Wall experience cannot run on the current device\n\n![Preview of the landing page showing a splash image and QR code](./docs/preview.png)\n\n## Usage\n\nSee https://8thwall.org/docs/engine/guides/landing-pages for a complete guide to customizing the landing page.\n\n### Option 1: Script tag\n\n```html\n<script src=\"https://cdn.jsdelivr.net/npm/@8thwall/landing-page@1/dist/landing-page.js\" crossorigin=\"anonymous\"></script>\n```\n\n### Option 2: npm\n\n```bash\nnpm install @8thwall/landing-page\n```\n\nYou will need to copy the included artifacts into your dist folder, for example in webpack:\n\n```js\nnew CopyWebpackPlugin({\n  patterns: [\n    {\n      from: 'node_modules/@8thwall/landing-page/dist',\n      to: 'external/landing-page',\n    }\n  ]\n})\n```\n\nYou can then load the library by adding the following to index.html:\n\n```html\n<script src=\"./external/landing-page/landing-page.js\"></script>\n```\n\nWhen you import the package, a simple helper for accessing window.LandingPage is provided. The expectation is still that the script tag is added to the HTML. Note that configuring the landing page in this way is not required for A-Frame projects as the configuration is passed through the component schema.\n\n```js\nimport * as LandingPage from '@8thwall/landing-page'\nLandingPage.configure({\n  font: 'Arial',\n})\n```\n\n## Development\n\n- Start a local server with `npm run watch`\n- Try out the test project at `https://localhost:9002/`. Query parameters allow custom presets and overrides, for example:\n  - https://localhost:9002/?video\n  - https://localhost:9002/?helmet&basic=0&textColor=red\n  - https://localhost:9002/?portrait\n  - See [test-parameters.ts](./src/test-parameters.ts) for full list\n- In order to use your local version in a project, replace the existing script tag with `<script crossorigin=\"anonymous\" src=\"https://localhost:9002/landing8.js\"></script>`\n","readmeFilename":"README.md"}