{"_id":"opentok-react","_rev":"24-374c5db09de4c0991a173e7e9c7a4b14","name":"opentok-react","dist-tags":{"latest":"0.11.0"},"versions":{"1.0.0":{"name":"opentok-react","version":"1.0.0","author":"","license":"ISC","_id":"opentok-react@1.0.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"dist":{"shasum":"17bbff2e3b78eb4b0874fd1eac5aac43a4a17d8f","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-1.0.0.tgz","integrity":"sha512-/zIzQvn71aMHTUk1k8yYg7PA9W5BSWJnlRPfzhjgfPYNtHINFo4oBi3lNO60qt7MoMo35XQD9vP9vyx3x68vVw==","signatures":[{"sig":"MEUCIQCwq+YuvWgImUMYKKhvLF94c9ty8Oa38OCIxFV1DRDIgAIgBWKUp4RewXWj1i/4l0zxmiONw3FPbg0aHz16XRUEBZY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"17bbff2e3b78eb4b0874fd1eac5aac43a4a17d8f","scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"_npmVersion":"3.10.3","description":"Coming soon","directories":{},"_nodeVersion":"6.4.0","_npmOperationalInternal":{"tmp":"tmp/opentok-react-1.0.0.tgz_1476639122932_0.4886072070803493","host":"packages-12-west.internal.npmjs.com"}},"0.2.0":{"name":"opentok-react","version":"0.2.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.2.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"dist":{"shasum":"31421049b15d7540ad5946d4794f55e4efabc521","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.2.0.tgz","integrity":"sha512-ADLjucqdv4yEFclTtAVkf8Krq+GxBtw+Cgw1/kq+u01J7INn0GLgriNCRUc6ltn4bcs1AH7bMivmGyobjAbUnA==","signatures":[{"sig":"MEQCIDuzOBTgimny1wFOStnLBcu0s3FaM3MMdljvT58XXE/mAiARsu8t6t/nlmq34y5J/Wt1oFxlZSnwpmDin9GfCbLQgg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/opentok-react.js","_from":".","_shasum":"31421049b15d7540ad5946d4794f55e4efabc521","gitHead":"d77ad6161d4f8bf9586f7d90d564e208c20c5ad8","scripts":{"build":"mkdir -p dist && browserify -o dist/opentok-react.js src/index.js","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"_npmVersion":"3.10.9","description":"React component for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","lodash":"^4.13.1","react-dom":"^15.1.0"},"devDependencies":{"babelify":"^7.3.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.2.0.tgz_1478502479685_0.06093379156664014","host":"packages-18-east.internal.npmjs.com"}},"0.2.1":{"name":"opentok-react","version":"0.2.1","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.2.1","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"f22594cb4aee04e8ec527dfbaebff4818c8356f8","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.2.1.tgz","integrity":"sha512-Hmc6/+RkXDx7rLQBNZ2dv6Wq2bOw+TSIT1JZGEv4E7bk5XG6xzM8W5NuEUJmq0gLPvU8ax0wtx68zKVfBMhh9A==","signatures":[{"sig":"MEUCIQCokTxl1eNbUsl+YDUY55BuJPDiOeSAsrJmKBrcVHW6MwIgJn6TivviSZDlTwjdv+rjY8rLpF4H6uLuEajIl/ON+So=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"f22594cb4aee04e8ec527dfbaebff4818c8356f8","gitHead":"3cbdafc987f4c6d9b7c41c64c5c3c654e2046401","scripts":{"build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"3.10.8","description":"React component for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","react-dom":"^15.1.0"},"devDependencies":{"lodash":"^4.13.1","babelify":"^7.3.0","babel-cli":"^6.18.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.2.1.tgz_1478520533919_0.5350336867850274","host":"packages-12-west.internal.npmjs.com"}},"0.2.2":{"name":"opentok-react","version":"0.2.2","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.2.2","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"7ec5140d3995a5bf40d2f33f82b2b55bd215a0cf","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.2.2.tgz","integrity":"sha512-tLIzJcmB4Wy1c4gUG8kEal9Hi9zcWGNiPN0Wy96dT4HhqAjGlw/WLY1voc7+n6a/rCey0MANRTWG4RAwb2zWxQ==","signatures":[{"sig":"MEUCIQDqkzt6T4DrOk+ENFczCUslZKtJ+KQe9xQyhb3trGuITwIgPLxPKFT15Htt6Y3wQo3vZZr1vByjlXiBZRimPAHzTn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"7ec5140d3995a5bf40d2f33f82b2b55bd215a0cf","gitHead":"f16eb13afaff0210551bcefe7b7472c8b558cf26","scripts":{"build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"3.10.8","description":"React component for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","react-dom":"^15.1.0"},"devDependencies":{"lodash":"^4.13.1","babelify":"^7.3.0","babel-cli":"^6.18.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.2.2.tgz_1478523372356_0.06553405895829201","host":"packages-12-west.internal.npmjs.com"}},"0.2.3":{"name":"opentok-react","version":"0.2.3","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.2.3","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"508c8af0ff921324ded8f6157f0bd2475d778c38","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.2.3.tgz","integrity":"sha512-hG3lGs5sAVtO+xw94Hga/GsCLvW2Z2SVHWjlD7w6d7nLgZl9a482gDmJ+rPHaHieG0FheiWKejrhGX9x5yJ9WA==","signatures":[{"sig":"MEYCIQC6zYLoReUZLO1XYA+lQF47dqdFnC3LviiXPJyyJaIKgAIhANDTHVD//tcKwV1N3UchY1WCD2+b9VmX88skT3ayz8kg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"508c8af0ff921324ded8f6157f0bd2475d778c38","gitHead":"802c34ad63e1f7230a6b494df3fc610cf558f797","scripts":{"build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"3.10.8","description":"React component for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","react-dom":"^15.1.0"},"devDependencies":{"lodash":"^4.13.1","babelify":"^7.3.0","babel-cli":"^6.18.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.2.3.tgz_1478525058268_0.7424707065802068","host":"packages-12-west.internal.npmjs.com"}},"0.2.4":{"name":"opentok-react","version":"0.2.4","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.2.4","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"66641c4446c92138ff5c3c61f9a9b96464dacd68","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.2.4.tgz","integrity":"sha512-i5Q0rQoe+FgzySzNTS9PoQMqb4NY90qiTivYiyT/29mXyEMouxsXanJeiILK3laGEctJWhVO8G4rx2LHjB7Tpw==","signatures":[{"sig":"MEQCIExyZUrIxfP6/Tp6dcArzrFBdxXRp/SY/OjKDpR+DB4fAiAYD9V97l3/kecFGDapRsxm/GN0wOiaa2j4wkH5bokfKg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"66641c4446c92138ff5c3c61f9a9b96464dacd68","gitHead":"6b5f7b3a8abbbf88f83680dd00acc305d371ee9f","scripts":{"build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"3.10.8","description":"React component for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","react-dom":"^15.1.0"},"devDependencies":{"lodash":"^4.13.1","babelify":"^7.3.0","babel-cli":"^6.18.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.2.4.tgz_1478558491999_0.16659780265763402","host":"packages-12-west.internal.npmjs.com"}},"0.2.5":{"name":"opentok-react","version":"0.2.5","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.2.5","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"0bfbea8c0213667b311b76405e73ec1a1e92300a","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.2.5.tgz","integrity":"sha512-k2wsZqkmJRc7e5StPzupkNq25bVmb6me74dglYOWsQOuLj6f02DZeQWxbgtPANyn1NGkJbPmHHWFCSTkSZXcaA==","signatures":[{"sig":"MEUCIQCy0ccYHZJ0FswIg+a7KNGvqmS9f18sH2Tqo+GhjQQHewIgBx3/IoaKVGFagGPHV6eQTDjg3J9h9UlB+LRp/PPwEKQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"0bfbea8c0213667b311b76405e73ec1a1e92300a","gitHead":"1a633d4578e2bc01afd91e810986bf31793c5645","scripts":{"build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"3.10.8","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","react-dom":"^15.1.0"},"devDependencies":{"lodash":"^4.13.1","babelify":"^7.3.0","babel-cli":"^6.18.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0","babel-preset-stage-2":"^6.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.2.5.tgz_1478579812456_0.7952668585348874","host":"packages-12-west.internal.npmjs.com"}},"0.3.0":{"name":"opentok-react","version":"0.3.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.3.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"deda31655398fdd3a23fa21dd2d51e1fec15825d","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.3.0.tgz","integrity":"sha512-xBo7iwYeRt0M9T9nGOQsr61SwauLaWpS6wlHIGe+zItC/UkhlFiOqXUcKoMtVxmXk7Qp//WIEbWBf/WVqBNzWA==","signatures":[{"sig":"MEUCIQDgHlkfmAOQ7+CdNzG8Bf5K2z8l1BSmLe7qqAAtuFGYJwIgLk6hMKLq8t9CG3yhVGzIsmgTD7qRsY3Cs8mF8Vb0boY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"deda31655398fdd3a23fa21dd2d51e1fec15825d","gitHead":"c4b3706bdcf0767c912352534f3dae2f00864ed9","scripts":{"build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"3.10.8","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"6.9.1","dependencies":{"react":"^15.1.0","react-dom":"^15.1.0"},"devDependencies":{"lodash":"^4.13.1","babelify":"^7.3.0","babel-cli":"^6.18.0","browserify":"^13.0.1","babel-preset-react":"^6.5.0","babel-preset-es2015":"^6.9.0","babel-preset-stage-2":"^6.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.3.0.tgz_1478612038078_0.6672648671083152","host":"packages-12-west.internal.npmjs.com"}},"0.4.0":{"name":"opentok-react","version":"0.4.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.4.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"ddbc0fece38e78a28a5459ab49ce1a1fde3c75ed","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.4.0.tgz","integrity":"sha512-lZqNMABay4x806JfWjAQlnIp+vfNU30hDc4lYgg9udo3J+CaZA/liZVLfbCLDx49xBUjYAH7UxnsXRvTDrY3tA==","signatures":[{"sig":"MEQCIBhEg49uQBr3Kcwjz5t1QLDMkNZJY4/5rBCgXskqOXs/AiBfFPeiw/sv0RNKCH9MZA6Iv/7DSwekso3Pdfyo5xMihQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"ddbc0fece38e78a28a5459ab49ce1a1fde3c75ed","gitHead":"de633fab81856f12ee71b0c5ba0c739d6680c180","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"4.2.0","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"6.10.1","dependencies":{"uuid":"^3.0.1","react":"^15.1.0","lodash":"^4.13.1","scriptjs":"^2.5.8","react-display-name":"^0.2.0"},"devDependencies":{"karma":"^1.3.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.1.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^3.1.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.4.1","karma-babel-preprocessor":"^6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.4.0.tgz_1490967558307_0.48297734931111336","host":"packages-18-east.internal.npmjs.com"}},"0.5.0":{"name":"opentok-react","version":"0.5.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.5.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"037811f1e62770d80992b71dd189dff395f9c543","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.5.0.tgz","integrity":"sha512-8ZEm1dgpiUHWPrkaTcuqd/I4+jd9SveN+dVGiI6PydH6iSfSjlzD2OXVBMLE8FE634Se+itAx0aDAW64h8x8Lw==","signatures":[{"sig":"MEUCIQDRzg9BC7THfBcQh0A1/xKxT9sYp0iXyK1jpn7gDjGbkwIgbQNAdmymJkI9jAbfoxepjbp9Hr6S485VKhwcWnqXZ0M=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"037811f1e62770d80992b71dd189dff395f9c543","gitHead":"d36dbb31e8130f3a99aa24bbaafcd7260978df3d","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"4.2.0","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"6.10.3","dependencies":{"uuid":"^3.0.1","react":"^15.5.0","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"devDependencies":{"karma":"^1.3.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^3.1.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.5.0.tgz_1495686915941_0.10711596650071442","host":"s3://npm-registry-packages"}},"0.6.0":{"name":"opentok-react","version":"0.6.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.6.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"3a40e68004edfe6d2b95d136c84e5ec71ada2d06","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.6.0.tgz","integrity":"sha512-2y/ia7tlC803JesfBuz+1zsu/0Lfk3Ib3xcy6U44XICs/u2jvWbQQWDleJdl/Ow/lEXDGlaCZx/e8kBUf4TnOA==","signatures":[{"sig":"MEYCIQC7tEXWevuU/aqwjs/+ifIvJhIFZHD6+Vqgqfc3SZ7Q5wIhAP1Nzo5Y0asXbjPAveCW1zyIAZfkXTjztVBdxEIMldvI","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","_from":".","_shasum":"3a40e68004edfe6d2b95d136c84e5ec71ada2d06","gitHead":"e8d48f2e1d13e30206131de66a672ee52c07d1c2","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"4.2.0","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"6.10.3","dependencies":{"uuid":"^3.0.1","react":"^15.5.0","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"devDependencies":{"karma":"^1.3.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^3.1.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.6.0.tgz_1496197799800_0.2615410117432475","host":"s3://npm-registry-packages"}},"0.7.0":{"name":"opentok-react","version":"0.7.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"author":{"name":"Aiham Hammami","email":"aiham@aiham.net"},"license":"MIT","_id":"opentok-react@0.7.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"homepage":"https://github.com/aiham/opentok-react#readme","bugs":{"url":"https://github.com/aiham/opentok-react/issues"},"dist":{"shasum":"8d97fc8076a9c7466bd9172e8a942275f73290f6","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.7.0.tgz","integrity":"sha512-sc+dcXWCE/IlDzjmEm+xm4L83jsuF4oXUxQOjcNnQctVfvd2p+YwVkxVfCnLOLfVTwEQF43LWv0x0qCDwY8g+g==","signatures":[{"sig":"MEUCIDAu8Be43PK/4DXHpvuc2f+tiJ73LSY+PrC+e0q74LJJAiEA7LteyD0JOIr62s+zidwQQqW80DlLTUjueUOTr64q7IE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"dist/index.js","gitHead":"120ce019d9a7e3ef2dbfa5e184f6835bbb960ee2","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"aiham","email":"aiham@aiham.net"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/aiham/opentok-react.git","type":"git"},"_npmVersion":"5.3.0","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"8.1.4","dependencies":{"uuid":"^3.0.1","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"devDependencies":{"karma":"^1.3.0","react":"^15.5.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^3.1.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"peerDependencies":{"react":"^15.5.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react-0.7.0.tgz_1503021002184_0.6067627982702106","host":"s3://npm-registry-packages"}},"0.8.0":{"name":"opentok-react","version":"0.8.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"license":"MIT","_id":"opentok-react@0.8.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"contributors":[{"name":"Aiham Hammami","email":"aiham@aiham.net"}],"homepage":"https://github.com/opentok/opentok-react#readme","bugs":{"url":"https://github.com/opentok/opentok-react/issues"},"dist":{"shasum":"c661950f62c5b52b7189dbcd08ecb90dc74c83f5","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.8.0.tgz","fileCount":14,"integrity":"sha512-vcxeAOcbyxoVsREsnNZc8NFhgY6fBmXSkPVqJsiZAVMeotOSRj1/uJ4KXFBatnBXFgTUHChltTlMHgSUhaxLzQ==","signatures":[{"sig":"MEQCIHhbpeAsCO7QL7u6fcEduudPDP4hRVNqa4sOPDwS2Y7jAiArrcs6PMuVlL/u1aK25H6C5/2L36MN7jH04CvcP0MKVw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":211973,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJboCqWCRA9TVsSAnZWagAA9B4QAIDNx7D6OVu1uCRZil2c\nUifAJ/lAIY16c74ofD4/P9StlzEMh7dPxXIQ3mFNs0Ec4iCc6SWufNc7TPeT\no4jMI2VEhoutRh5XbAq0zPPkzA+OYerNWKSk5GUEJLzdCA08pV6FV/bHBc5x\nPCg6pERPrEPcTp7/ESjm7JGHZSLj3vmGU9iK3grUtBblURevsWiZgZr/3+iq\nnXmYRGoKCvOFPo1rC63lzQYmDbUYoBkvrp8Kk0CaW3QWcjyvIr/fCGoiU4VL\nFvbxTVTvux5Xx72X0CL9PzP0+Wh3mrcQ5qBytL01ydbGvzQCo5/vBH5I4mF8\n9ZnRxbcqqKu5psuXlrKVOLLdPeSHGMrz5FlbvJa1SRyLjJziDfKHnGo3hYd6\nH51dbWM9hFOcH9+OSPG9feS28RoHoJfwgR3Edw01O5HBhWtbYJeGMJk2SKK/\nJMDTeTNRHDX6Qoooexjjx0QTftMoUNvz9aDY52CbvWGLvS8lSaou7LlFbKTt\njxCfIPASG7HSTLi4H8WV1/jA6whEMd/UXX1uMwLFD1HebV1YbNmlBJYM6bmX\nvBF3uEXKSowo7YFLyEkwvCGSWLQPMv8a4udXp5sRAlMGm7POH9GjEjbam+lb\nbfdmffXPMltotXPOgRanQgYkk0YHRc739TKM3WA1NVbBlbJSJLS2MfkpMWI6\nDEKq\r\n=Fwz9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"93d5b8cd04bd104954ffeb6a3b45727eff219c90","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"opentok-owner","email":"adam@tokbox.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/opentok/opentok-react.git","type":"git"},"_npmVersion":"5.6.0","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"8.9.4","dependencies":{"uuid":"^3.0.1","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"karma":"^1.3.0","react":"^15.5.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^3.1.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"peerDependencies":{"react":"^15.5.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react_0.8.0_1537223316999_0.00354334322917893","host":"s3://npm-registry-packages"}},"0.9.0":{"name":"opentok-react","version":"0.9.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"license":"MIT","_id":"opentok-react@0.9.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"contributors":[{"name":"Aiham Hammami","email":"aiham@aiham.net"}],"homepage":"https://github.com/opentok/opentok-react#readme","bugs":{"url":"https://github.com/opentok/opentok-react/issues"},"dist":{"shasum":"3059268bc48fba78eddd9d2bfdaac901fa588a12","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.9.0.tgz","fileCount":14,"integrity":"sha512-qFtnr3zqiqwqG7LqeMkPQashgyCexbQrBytEgmfHuUvhRi8k9I8YLJUXqfSZQtsQ6kYBQg7XaZfJqlAbM1OQcg==","signatures":[{"sig":"MEQCIFVfCmZMsMKDgKCtulongiBBa6r0TZuPn87iFVvPiErSAiAcDVaQEQ9lsmJA6bWkdqIxVSrhJDUpt6x3w6Aa3EK2CA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":211599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJb42R6CRA9TVsSAnZWagAAkQgP/2TwW3tJC5lrV7/7F2Rq\niYmcCe3+zH0tGUJTA0zgcNaWxG4x+PGKGeurZjs895IqIvoChojfdQHki7BW\nN11r9+iFSzqtOvChgDaDwZ8pQhJe4VyYhgod6qBmFD1jMNue1SG1CVlWd1Y1\nexi1mQB6N+FQXmH467cLtXKhOt+YsLbQodJYeTu370P/5TWzBSiq9XQpKG2/\nHa6Q5nwky3OBLGNTEWlGKtgevpS3yrQ160CUTbvFe8N8C0E2rhy3DKAN8w5g\nnqCzdJ3XP1ZjY6EayLvHjzXuQOnbS5GII6gY4zYYpEZptcBehKRaU2bd4p1n\nhRHMMzfIXq2+Xd8ddKCJWTjJocEIeA1aMcNVolZWDuUT3I0NS99GTb166MCm\n/i2X2yPhFMbwGBOGW3QAzYUYaT13plRbc4wikTho4AdemgqwUdAmKaG6ljMl\na5yU4tiZT72vjpCYR6ieGLJFX5F9B+hd+kv4hSgg8DVdfi7Y8JoHCj5nZDsx\ns54ha2ZTeUSOc9BobIOSN+A3yEb/yFv/GwSQlmgNRWJsVstMnOJ580oGshCq\nmX5mzxqZd7P4t8/GmXAd2vA44L91hSucT7FYvTvhhTYaU1ifoiLiEGJn5HOe\neUGSD3HJmKc3RCIniKHtrzcnUDmYzVTRK3aJJnLXdS2gnTqLe3OrfpYCPUyO\nZNlT\r\n=IX+G\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"c6683e2b6577809f4a8b9a7bbc7dcf7d66a313e4","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"msach22","email":"msach22@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/opentok/opentok-react.git","type":"git"},"_npmVersion":"5.6.0","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"8.9.4","dependencies":{"uuid":"^3.0.1","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"karma":"^1.3.0","react":"^15.5.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^4.5.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"peerDependencies":{"react":"^15.5.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react_0.9.0_1541629049574_0.41518466610885585","host":"s3://npm-registry-packages"}},"0.10.0":{"name":"opentok-react","version":"0.10.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"license":"MIT","_id":"opentok-react@0.10.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"contributors":[{"name":"Aiham Hammami","email":"aiham@aiham.net"}],"homepage":"https://github.com/opentok/opentok-react#readme","bugs":{"url":"https://github.com/opentok/opentok-react/issues"},"dist":{"shasum":"a5b32d8ead74c3f88d0dd10f1d4f7453752455cd","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.10.0.tgz","fileCount":14,"integrity":"sha512-L71h3Y0sxSwfG5/Dwwkuf+GWLQoJdCf1r0Mevg0BS3+WJCMJo5mrykZwrNssk18amLbEz2b099XILWayJ1zFTQ==","signatures":[{"sig":"MEUCIGdPWINrEhN4no0d8PaN7eI0+7ApMW5O4DzhBIJ/RgxBAiEAuSNq7pNJo3ivcqKEVw9MvMgXu13fLkCE+gQMxuk6s5o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":215476,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJedOb5CRA9TVsSAnZWagAA/IwP/0+6GqO/hAon1LnKDuCU\nw/9awSBTCaiFylu3Jt10Vhp239zci4p/vc+dLt4VECjiZC5CVZ9nD2urnx8p\nNAGFT4obtgSWonNnY0bECs49njzm85GE9PBYJXIuXh/0cWiNvOij7K6zwzAm\nsvuF74zWwq34da3HAW1aNUXrMuXr2+1Fm9mMnbhItdfNXbEHEXk6jnyWP6/x\ndHIogM7eTgz7SA6UM5TF2Lthk1PK04OH+eG3AdKo1d5FQ5GxRRwOFhIN7HIM\nbBKZLSk1n4FKEWPiSFrNIqigeU1+fKrMPFnWwKlYcyV5ZcOY+nQCqgCQ1eRw\nn3+XeqHdf32SVLTi7u+KvBRuCM9ypIOlPbbFPfOtk4FOf5OTz4L+WX4/deyv\nsCvA1XDHe6SIrm/dXnHcsSxIv2m1FdT4L6n7rYxvCxw+9StzjPrKakpJaHA8\nlQzqf1P3Rr2tl0sZvsUblQ5mDQFkX8hdScZ176DrvgyxT3JeCD7rcgg/oihv\n+E1VGIyEuclFqxj9+Qbs2iFCg1C5eZImdQPEgyQt6Krin4HqeEqs75SDaJx4\nePFrTR3aWaK/Aug6NBc3zRDo84NZ7ZrZd0TypFrnGLIXmmL+UxD8kU8Muazp\n1m2FHhNZb2N/GyCs9VZs7KqDXVT+8sJvz1jl+djSdMmD+kUsA1FSB0IN7yxX\nSGqH\r\n=d78D\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","gitHead":"e6df2447348d0d39aba6f74f528212d9c03b7ddd","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"msach22","email":"msach22@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/opentok/opentok-react.git","type":"git"},"_npmVersion":"6.4.1","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"8.15.0","dependencies":{"uuid":"^3.0.1","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"karma":"^1.3.0","react":"^15.5.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^4.5.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"peerDependencies":{"react":"^15.5.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react_0.10.0_1584719609498_0.346088619421294","host":"s3://npm-registry-packages"}},"0.11.0":{"name":"opentok-react","version":"0.11.0","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"license":"MIT","_id":"opentok-react@0.11.0","maintainers":[{"name":"aiham","email":"aiham@aiham.net"}],"contributors":[{"name":"Aiham Hammami","email":"aiham@aiham.net"}],"homepage":"https://github.com/opentok/opentok-react#readme","bugs":{"url":"https://github.com/opentok/opentok-react/issues"},"dist":{"shasum":"a9f8c947e76979bcbabf407842c07e8bbe68b164","tarball":"https://registry.npmjs.org/opentok-react/-/opentok-react-0.11.0.tgz","fileCount":17,"integrity":"sha512-rgMgS4HX0jrwKLOlQIYPx0zfg+unzegLUwWETpW/MemDboZ74KF4Q/iY6Vna7F6dni8gnU0+PWiwJ+EnsR5KAw==","signatures":[{"sig":"MEUCIQD3P7502okAwQXa4e8aRipyF3MJRtqUidSpO6EQAns2OwIgVLoCsndXaddf5ThfjlxFXPUhtH9MryeSWUFWNbijtkU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":297338,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfFeebCRA9TVsSAnZWagAA+8oP/0IauekFFtjfKOCasBwl\nWA6TQisA2Eb8WcYRQR4yzb5Qtv0dRJYDb6Olp/Cz4Y3GOwFX6ZGdGuJRzLGT\n4NqHmM06CIHKlqQwwlfVvWT5By3maydiC5wajZQEU7PN05C0ZW9sqMgELlfd\nv2InmjRyQ/V2hnZxwcOO/g+UFikzBgKKZriHDqwTw5gjyNSRfVLae8Tl1OPG\nj7EqSTGYtJ54fLKFO6NNb7Ip/CPYYr+BQTQPJug+CLppa47x4vcjL4NoNZBu\ncdEzUtIAUat5RGpem1Ezbf5l80wRbF+jUlwPUsWYKcW1hOWKXi8tZBMNTLo7\nbXfsAise0hNfhSGo0T+8d5H+ALBzuqdWCiiVEj3e1Mqfosxt350aTVR9lO2z\nxfbkjZAw/IfqPxO3+cRnjgE7LHUU1PS0vkxOOQVlQcd/6ZGZLUT49E9LNWg9\nTOPF1N0NAv5GO0rDeLagin+V2Rii6e+kgrfKZ9WbzLxx+Ec5/UUSQVKd5A5H\ns4X/vffxjK4o0gw9Y7ZNQ9lFlssVQaPyVcrotv8vIQZdI97vtqtJKxl0fBLq\nROLQekfIEPbH9nKlWPvoRgtfKp8oUuUlLNXTTtXnNCMxENxZfUZ7DsdslYoA\ntpQMj/OQsI2WRMzNkKtGteX9Tvo+sgp9rcLlVf4uxE0JIEsGvac7MsJniB31\nX6Of\r\n=xv7z\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/index.js","types":"./types/index.d.ts","gitHead":"02ed7bcfe1db3c456c51f4841ea2bfc4c3d6c335","scripts":{"lint":"eslint src test","test":"karma start","unit":"karma start --single-run","build":"babel src --out-dir dist","types":"tsd types","example":"cd example && browserify -o bundle.js app.js && python -m SimpleHTTPServer","prepublish":"npm run build"},"_npmUser":{"name":"germangol","email":"german.goldenstein@gmail.com"},"browserify":{"transform":["babelify"]},"repository":{"url":"git+https://github.com/opentok/opentok-react.git","type":"git"},"_npmVersion":"6.4.1","description":"React components for OpenTok.js","directories":{},"_nodeVersion":"8.10.0","dependencies":{"uuid":"^3.0.1","lodash":"^4.13.1","scriptjs":"^2.5.8","prop-types":"^15.5.10","react-display-name":"^0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"tsd":"^0.11.0","karma":"^1.3.0","react":"^15.5.0","enzyme":"^2.6.0","eslint":"^3.17.1","babelify":"^7.3.0","watchify":"^3.8.0","babel-cli":"^6.18.0","react-dom":"^15.5.0","browserify":"^13.0.1","@types/react":"^16.9.34","babel-eslint":"^7.1.1","jasmine-core":"^2.5.2","karma-jasmine":"^1.1.0","karma-browserify":"^5.1.0","babel-preset-react":"^6.5.0","travis-multirunner":"^4.5.0","babel-preset-es2015":"^6.9.0","eslint-plugin-react":"^6.10.0","karma-spec-reporter":"^0.0.26","react-test-renderer":"^15.5.4","babel-preset-stage-2":"^6.18.0","eslint-config-airbnb":"^14.1.0","eslint-plugin-import":"^2.2.0","opentok-test-scripts":"^3.2.1","eslint-plugin-jasmine":"^2.2.0","karma-chrome-launcher":"^2.0.0","eslint-plugin-jsx-a11y":"^4.0.0","karma-firefox-launcher":"^1.0.0","react-addons-test-utils":"^15.5.1","karma-babel-preprocessor":"^6.0.1"},"peerDependencies":{"react":"^15.5.0 || ^16.0.0"},"_npmOperationalInternal":{"tmp":"tmp/opentok-react_0.11.0_1595271066808_0.3635804764884982","host":"s3://npm-registry-packages"}}},"time":{"created":"2016-10-16T17:32:03.199Z","modified":"2025-10-22T10:03:47.998Z","1.0.0":"2016-10-16T17:32:03.199Z","0.2.0":"2016-11-07T07:08:01.900Z","0.2.1":"2016-11-07T12:08:54.150Z","0.2.2":"2016-11-07T12:56:12.596Z","0.2.3":"2016-11-07T13:24:18.502Z","0.2.4":"2016-11-07T22:41:32.256Z","0.2.5":"2016-11-08T04:36:52.690Z","0.3.0":"2016-11-08T13:33:58.292Z","0.4.0":"2017-03-31T13:39:20.324Z","0.5.0":"2017-05-25T04:35:16.154Z","0.6.0":"2017-05-31T02:29:59.882Z","0.7.0":"2017-08-18T01:50:02.268Z","0.8.0":"2018-09-17T22:28:37.235Z","0.9.0":"2018-11-07T22:17:29.800Z","0.10.0":"2020-03-20T15:53:29.657Z","0.11.0":"2020-07-20T18:51:06.916Z"},"bugs":{"url":"https://github.com/opentok/opentok-react/issues"},"license":"MIT","homepage":"https://github.com/opentok/opentok-react#readme","keywords":["tokbox","opentok","react","react-component","video","webrtc"],"repository":{"url":"git+https://github.com/opentok/opentok-react.git","type":"git"},"description":"React components for OpenTok.js","contributors":[{"name":"Aiham Hammami","email":"aiham@aiham.net"}],"maintainers":[{"email":"tokbox.wolfpack@vonage.com","name":"opentok-owner"}],"readme":"# opentok-react\n\n[![npm version](https://badge.fury.io/js/opentok-react.svg)](https://badge.fury.io/js/opentok-react) [![Build Status](https://travis-ci.org/opentok/opentok-react.svg?branch=master)](https://travis-ci.org/opentok/opentok-react)\n\nReact components for OpenTok.js\n\n## Contents\n\n- [Pre-Requisites](#pre-requisites)\n- [Install](#install)\n- [Example App](#example-app)\n- [Usage](#usage)\n  - [Importing opentok-react](#importing-opentok-react)\n  - [Example with OTSession Component](#example-with-otsession-component)\n  - [Example with createSession Helper](#example-with-createsession-helper)\n- [API Reference](#api-reference)\n  - [OTSession Component](#otsession-component)\n  - [OTPublisher Component](#otpublisher-component)\n  - [OTStreams Component](#otstreams-component)\n  - [OTSubscriber Component](#otsubscriber-component)\n  - [createSession Helper](#createsession-helper)\n  - [preloadScript Higher-Order Component](#preloadscript-higher-order-component)\n- [Custom Build](#custom-build)\n- [Contributing](#contributing)\n- [Tests](#tests)\n\n## Pre-Requisites\n\n1. NodeJS\n1. Register a TokBox account: https://tokbox.com/account/user/signup\n\n## Install\n\nAdd `opentok-react` as a dependency of your application:\n\n```sh\nyarn add opentok-react\n```\n\nOr if you're still using npm:\n\n```sh\nnpm install --save opentok-react\n```\n\nThen include `opentok.js` before your application:\n\n```html\n<script src=\"https://static.opentok.com/v2/js/opentok.min.js\"></script>\n```\n\nAlternatively, wrap your top-level component using OpenTok with the [`preloadScript`](#preloadscript-higher-order-component) HOC. The HOC will take care of loading `opentok.js` for you before rendering.\n\n## Example App\n\nThere is an example application provided in `example/` and you can run it with the following steps:\n\n1. `git clone https://github.com/opentok/opentok-react.git`\n1. `cd opentok-react/example/`\n1. `cp config.template.js config.js`\n1. Edit `config.js`:\n  1. Add your OpenTok API key, Session ID and Token (https://tokbox.com/account/)\n  1. Add your Chrome Extension ID (https://tokbox.com/developer/guides/screen-sharing/js/)\n1. `cd ..`\n1. `yarn` (or `npm install`)\n1. `npm run example`\n1. Visit `http://localhost:8000` in your browser\n\nRefer to the `App.js`, `Publisher.js` and `Subscriber.js` files in `example/components/` for library usage.\n\n## Usage\n\nThe following sections explains how to import and use `opentok-react` in your React application.\n\n### Importing opentok-react\n\nImport the `opentok-react` components into your React application:\n\n```js\nimport { OTSession, OTPublisher, OTStreams, OTSubscriber } from 'opentok-react';\n```\n\nOr `require` it if you need to use CommonJS modules:\n\n```js\nconst { OTSession, OTPublisher, OTStreams, OTSubscriber } = require('opentok-react');\n```\n\n### Example with OTSession Component\n\n```js\nclass MyApp extends React.Component {\n  render() {\n    return (\n      <OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n        <OTPublisher />\n        <OTStreams>\n          <OTSubscriber />\n        </OTStreams>\n      </OTSession>\n    );\n  }\n}\n```\n\n### Example with createSession Helper\n\n```js\nclass MyApp extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = { streams: [] };\n  }\n\n  componentWillMount() {\n    this.sessionHelper = createSession({\n      apiKey: 'your-api-key',\n      sessionId: 'your-session-id',\n      token: 'your-session-token',\n      onStreamsUpdated: streams => { this.setState({ streams }); }\n    });\n  }\n\n  componentWillUnmount() {\n    this.sessionHelper.disconnect();\n  }\n\n  render() {\n    return (\n      <div>\n        <OTPublisher session={this.sessionHelper.session} />\n\n        {this.state.streams.map(stream => {\n          return (\n            <OTSubscriber\n              key={stream.id}\n              session={this.sessionHelper.session}\n              stream={stream}\n            />\n          );\n        })}\n      </div>\n    );\n  }\n}\n```\n\n## API Reference\n\nThe `opentok-react` library comprises of:\n\n- `OTSession` Component\n- `OTPublisher` Component\n- `OTStreams` Component\n- `OTSubscriber` Component\n- `createSession` Helper\n- `preloadScript` Higher-Order Component\n\n### OTSession Component\n\n| Prop | Type | Required | Description |\n| --- | --- | --- | --- |\n| apiKey | String | Yes | TokBox API Key\n| sessionId | String | Yes | TokBox Session ID\n| token | String | Yes | TokBox token\n| options | Object | No | TokBox options [options](https://tokbox.com/developer/sdks/js/reference/OT.html#initSession)\n| eventHandlers | Object&lt;Function&gt; | No | Event handlers passed into [session.on](https://tokbox.com/developer/sdks/js/reference/Session.html#on)\n| onConnect | Function() | No | Invoked when [session.connect](https://tokbox.com/developer/sdks/js/reference/Session.html#connect) successfully completes\n| onError | Function(err) | No | Invoked when [session.connect](https://tokbox.com/developer/sdks/js/reference/Session.html#connect) fails\n\nThe `OTSession` component manages the connection to an OpenTok [Session](https://tokbox.com/developer/sdks/js/reference/Session.html). It passes the Session instance as the `session` prop to its child components. It is recommended that you nest `OTPublisher` and `OTStreams` inside `OTSession`:\n\n```html\n<OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n  <OTPublisher />\n  <OTStreams>\n    <OTSubscriber />\n  </OTStreams>\n</OTSession>\n```\n\n### OTPublisher Component\n\n| Prop | Type | Required | Description |\n| --- | --- | --- | --- |\n| session | [Session](https://tokbox.com/developer/sdks/js/reference/Session.html) | No | OpenTok Session instance. This is auto populated by wrapping `OTPublisher` with `OTSession`\n| properties | Object | No | Properties passed into [OT.initPublisher](https://tokbox.com/developer/sdks/js/reference/OT.html#initPublisher)\n| eventHandlers | Object&lt;Function&gt; | No | Event handlers passed into [publisher.on](https://tokbox.com/developer/sdks/js/reference/Publisher.html#on)\n| onInit | Function() | No | Invoked when [OT.initPublisher](https://tokbox.com/developer/sdks/js/reference/OT.html#initPublisher) successfully completes\n| onPublish | Function() | No | Invoked when [session.publish](https://tokbox.com/developer/sdks/js/reference/Session.html#publish) successfully completes\n| onError | Function(err) | No | Invoked when either [OT.initPublisher](https://tokbox.com/developer/sdks/js/reference/OT.html#initPublisher) or [session.publish](https://tokbox.com/developer/sdks/js/reference/Session.html#publish) fail\n\nThe `OTPublisher` component will initialise a publisher and publish to a specified session upon mounting. It will also ensure the Publisher video element is attached to the DOM inside the component rather than appending to the body (which is the Publisher's default behaviour).\n\n```html\n<OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n  <OTPublisher />\n</OTSession>\n```\n\nIf you are not using `OTSession` then you must specify a [Session](https://tokbox.com/developer/sdks/js/reference/Session.html) object using the `session` prop.\n\n```html\n<OTPublisher session={this.sessionHelper.session} />\n```\n\nUse the `properties` prop to specify a properties object for [OT.initPublisher](https://tokbox.com/developer/sdks/js/reference/OT.html#initPublisher) and the `eventHandlers` prop to specify an object of event handlers for [Publisher#on](https://tokbox.com/developer/sdks/js/reference/Publisher.html#on).\n\n```js\nclass MyApp extends React.Component {\n  constructor(props) {\n    super(props);\n\n    this.publisherProperties = {\n      audioFallbackEnabled: false,\n      showControls: false\n    };\n\n    this.publisherEventHandlers = {\n      streamCreated: event => {\n        console.log('Publisher stream created!');\n      },\n      streamDestroyed: event => {\n        console.log('Publisher stream destroyed!');\n      }\n    };\n  }\n\n  render() {\n    return (\n      <OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n        <OTPublisher\n          properties={this.publisherProperties}\n          eventHandlers={this.publisherEventHandlers}\n        />\n      </OTSession>\n    );\n  }\n}\n```\n\nThe `properties` prop is used for initial set up of the Publisher and making changes to it will not update the Publisher, you will instead need to invoke Publisher methods. To facilitate this the Publisher instance is exposed via the `getPublisher()` component method. You should always call this method to get the latest Publisher instance instead of keeping a reference to it as it's possible for the Publisher instance to change, leaving you with a stale reference.\n\nHowever, for convenience the `OTPublisher` does watch for changes on a few keys of the `properties` object and makes the necessary changes. Currently these are:\n\n| Publisher Property | Action |\n| --- | --- |\n| videoSource | Destroys and recreates the Publisher with the new video source. This is the only way to change the video source of a Publisher. This is used in the example application to allow the user to toggle between publishing their camera and publishing their screen |\n| publishAudio | Calls [publisher.publishAudio()](https://tokbox.com/developer/sdks/js/reference/Publisher.html#publishAudio) to toggle audio on and off |\n| publishVideo | Calls [publisher.publishVideo()](https://tokbox.com/developer/sdks/js/reference/Publisher.html#publishVideo) to toggle video on and off |\n\nThere are plans to support more Publisher properties but for now you will have to call `getPublisher()` to retrieve the Publisher instance and make the necessary changes yourself.\n\nYou can also get access to the `publisher` object by calling the `getPublisher` method using a [Ref](https://reactjs.org/docs/refs-and-the-dom.html). For example:\n```js\nclass MyApp extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      publisher: null,\n    };\n    this.otPublisher = React.createRef();\n  }\n\n  componentDidMount() {\n    this.getPublisher();\n  }\n\n  getPublisher() {\n    if (this.otPublisher) {\n      this.setState({\n        publisher: this.otPublisher.current.getPublisher(),\n      });\n    }\n  }\n\n  render() {\n    return (\n      <OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n        <OTPublisher\n          ref={this.otPublisher}\n        />\n      </OTSession>\n    );\n  }\n}\n```\n\n### OTStreams Component\n\n| Prop | Type | Required | Description |\n| --- | --- | --- | --- |\n| children | ReactElement | Yes | Must have a single child component that accepts `session` and `stream` props, eg. `OTSubscriber`\n| session | [Session](https://tokbox.com/developer/sdks/js/reference/Session.html) | Yes | OpenTok Session instance. This is auto populated by wrapping `OTStreams` with `OTSession`\n| streams | Array&lt;[Stream](https://tokbox.com/developer/sdks/js/reference/Stream.html)&gt; | No | Array of OpenTok Stream instances. This is auto populated by wrapping `OTStreams` with `OTSession`\n\n### OTSubscriber Component\n\n| Prop | Type | Required | Description |\n| --- | --- | --- | --- |\n| session | [Session](https://tokbox.com/developer/sdks/js/reference/Session.html) | No | OpenTok Session instance. This is auto populated by wrapping `OTSubscriber` with `OTStreams`\n| stream | [Stream](https://tokbox.com/developer/sdks/js/reference/Stream.html) | No | OpenTok Stream instance. This is auto populated by wrapping `OTSubscriber` with `OTStreams`\n| properties | Object | No | Properties passed into `session.subscribe`\n| retry | Boolean | No | Set true to retry the subscribe process in case of failure (Default: false)\n| maxRetryAttempts | Number | No | Max retry attempts in case of subscribe failure (Default: 5)\n| retryAttemptTimeout | Number | No | Timeout value between every subscribe retry attempt, expressed in ms (Default: 1000ms)\n| eventHandlers | Object&lt;Function&gt; | No | Event handlers passed into `subscriber.on`\n| onSubscribe | Function() | No | Invoked when `session.subscribe` successfully completes\n| onError | Function(err) | No | Invoked when `session.subscribe` fails\n\nThe `OTSubscriber` component will subscribe to a specified stream from a specified session upon mounting. It will also ensure the Subscriber video element is attached to the DOM inside the component rather than appending to the body (which is the Subscriber's default behaviour).\n\n```html\n<OTStreams>\n  <OTSubscriber />\n</OTStreams>\n```\n\nIf you are not using `OTStreams` then you must provide a [Stream](https://tokbox.com/developer/sdks/js/reference/Stream.html) object using the `stream` prop and a [Session](https://tokbox.com/developer/sdks/js/reference/Session.html) object using the `session` prop.\n\n```js\n{this.sessionHelper.streams.map(stream => (\n  <OTSubscriber\n    key={stream.id}\n    session={this.sessionHelper.session}\n    stream={stream}\n  />\n))}\n```\n\nUse the `properties` prop to specify a properties object for [session.subscribe](https://tokbox.com/developer/sdks/js/reference/Session.html#subscribe) and the `eventHandlers` prop to specify an object of event handlers for [Subscriber#on](https://tokbox.com/developer/sdks/js/reference/Subscriber.html#on).\n\n```js\nclass MyApp extends React.Component {\n  constructor(props) {\n    super(props);\n\n    this.subscriberProperties = {\n      preferredFrameRate: 15,\n      showControls: false\n    };\n\n    this.subscriberEventHandlers = {\n      videoDisabled: event => {\n        console.log('Subscriber video disabled!');\n      },\n      videoEnabled: event => {\n        console.log('Subscriber video enabled!');\n      }\n    };\n  }\n\n  render() {\n    return (\n      <OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n        <OTStreams>\n          <OTSubscriber\n            properties={this.subscriberProperties}\n            eventHandlers={this.subscriberEventHandlers}\n          />\n        </OTStreams>\n      </OTSession>\n    );\n  }\n}\n```\n\nThe `properties` prop is used for initial set up of the Subscriber and making changes to it will not update the Subscriber, you will instead need to invoke Subscriber methods. To facilitate this the Subscriber instance is exposed via the `getSubscriber()` component method. You should always call this method to get the latest Subscriber instance instead of keeping a reference to it as it's possible for the Subscriber instance to change, leaving you with a stale reference.\n\nHowever, for convenience the `OTSubscriber` does watch for changes on a few keys of the `properties` object and makes the necessary changes. Currently these are:\n\n| Subscriber Property | Action |\n| --- | --- |\n| subscribeToAudio | Calls [subscriber.subscribeToAudio()](https://tokbox.com/developer/sdks/js/reference/Subscriber.html#subscribeToAudio) to toggle audio on and off |\n| subscribeToVideo | Calls [subscriber.subscribeToVideo()](https://tokbox.com/developer/sdks/js/reference/Subscriber.html#subscribeToVideo) to toggle video on and off |\n\nThere are plans to support more Subscriber properties but for now you will have to call `getSubscriber()` to retrieve the Subscriber instance and make the necessary changes yourself.\n\nYou can also get access to the `subscriber` object by calling the `getSubscriber` method using a Ref. For example:\n\n```js\nclass MyApp extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      subscriber: null,\n    };\n    this.otSubscriber = React.createRef();\n  }\n\n  componentDidMount() {\n    this.getSubscriber();\n  }\n\n  getSubscriber() {\n    if (this.otSubscriber) {\n      this.setState({\n        subscriber: this.otSubscriber.current.getSubscriber(),\n      });\n    }\n  }\n\n  render() {\n    return (\n      <OTSession apiKey=\"your-api-key\" sessionId=\"your-session-id\" token=\"your-session-token\">\n        <OTStreams>\n          <OTSubscriber\n            ref={this.otSubscriber}\n          />\n        </OTStreams>\n      </OTSession>\n    );\n  }\n}\n```\n\n### createSession Helper\n\nThe `createSession` helper has been provided to easily create a session and monitor the current list of subscriber streams.\n\n```js\nclass MyApp extends React.Component {\n  componentWillMount() {\n    this.sessionHelper = createSession({\n      apiKey: 'your-api-key',\n      sessionId: 'your-session-id',\n      token: 'your-session-token',\n      onStreamsUpdated: streams => {\n        console.log('Current subscriber streams:', streams);\n      }\n    });\n  }\n\n  componentWillUnmount() {\n    this.sessionHelper.disconnect();\n  }\n}\n```\n\nThe `createSession` helper returns an object with the following properties:\n\n- `session` - The [Session](https://tokbox.com/developer/sdks/js/reference/Session.html) instance.\n- `streams` - An up-to-date array of [Stream](https://tokbox.com/developer/sdks/js/reference/Stream.html) instances.\n- `disconnect` - A clean up function. Call this when your component unmounts.\n\nUse of this helper is optional and you can instead use the `OTSession` component or directly call [OT.initSession](https://tokbox.com/developer/sdks/js/reference/OT.html#initSession) and listen to [streamCreated](https://tokbox.com/developer/sdks/js/reference/Session.html#event:streamCreated) events if you prefer.\n\n\n### `preloadScript` Higher-Order Component\n\n| Prop | Type | Required | Description |\n| --- | --- | --- | --- |\n| opentokClientUrl | String | No | The URL of the OpenTok client script to load. It defaults to `https://static.opentok.com/v2/js/opentok.min.js`.\n| loadingDelegate | ReactElement | No | An element that will be displayed while the OpenTok client script is loading. It defaults to an empty `<div />`.\n\nIn larger applications, one might not want to load the `opentok.js` client with a `<script>` tag all the time. The `preloadScript` higher-order component will do this for you at the appropriate time.\n\nFor example, imagine you have a React Router application with the following route structure:\n\n```html\n<Router>\n  <Route path=\"/\">\n    <IndexRoute component=\"...\" />\n    <Route path=\"something\" component=\"...\" />\n    <Route path=\"video\" component={VideoChat} />\n    <Route path=\"something-else\" component=\"...\" />\n  </Route>\n</Router>\n```\n\nWhat you'd like to do is delay the loading of `opentok.js` until the `VideoChat` component is being used. Here's how you can do this:\n\n```javascript\nclass VideoChat extends React.Component {\n  // All the code of your component\n}\n\nexport default preloadScript(App);\n```\n\n## Custom Build\n\n1. `git clone https://github.com/opentok/opentok-react.git`\n1. `cd opentok-react/`\n1. `yarn` (or `npm install`)\n1. Modify code in `src/`\n1. `npm run build`\n1. Check that files in `dist/` have been updated.\n\n## Contributing\n\nIf you make changes to the project that you would like to contribute back then please follow the [contributing guidelines](CONTRIBUTING.md). All contributions are greatly appreciated!\n\n## Tests\n\nRun the unit tests locally with the following command:\n\n```\nnpm run unit\n```\n\nBy default this will launch the Chrome browser. To run tests in Firefox use:\n\n```\nnpm run unit -- --browsers Firefox\n```\n\nRun the linter with:\n\n```\nnpm run lint\n```\n\nThe unit tests are automatically run on [Travis](https://travis-ci.org/opentok/opentok-react) on both Chrome and Firefox and the current build status is shown at the top of this document.\n\n## About\n\nOriginally authored by [Aiham Hammami](https://github.com/aiham).\nCurrently maintained by OpenTok Engineers and community members. Please note that this is not officially supported by [TokBox](https://tokbox.com/).\n","readmeFilename":"README.md","users":{"leahcimic":true}}