{"_id":"@boatim/consent-manager","_rev":"9-43c8c9cdf96c0c511c2db80646902d11","name":"@boatim/consent-manager","dist-tags":{"latest":"5.4.0"},"versions":{"5.2.0":{"name":"@boatim/consent-manager","version":"5.2.0","description":"Drop-in consent management plugin for analytics.js","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"license":"MIT","main":"commonjs/index.js","module":"esm/index.js","types":"types/src/index.d.ts","sideEffects":false,"scripts":{"test":"jest src/__tests__","prepublishOnly":"yarn run clean && yarn run build","postpublish":"yarn build-storybook && yarn deploy-storybook -- --existing-output-dir=storybook-static","dev":"concurrently 'yarn build-standalone --watch' 'yarn start-storybook -s ./ -p 9009'","build-commonjs":"tsc --outDir commonjs --module CommonJS --inlineSourceMap","build-esm":"tsc --module es2015 --outDir esm --inlineSourceMap","build-standalone":"webpack","build":"concurrently --names 'commonjs,esm,standalone' 'yarn run build-commonjs' 'yarn run build-esm' 'yarn run build-standalone'","clean":"rm -rf commonjs esm standalone storybook-static types","deploy-storybook":"storybook-to-ghpages","standalone-hash":"shasum -b -a 256 standalone/consent-manager.js | xxd -r -p | base64","build-storybook":"yarn build-standalone && build-storybook && cp -r ./standalone ./storybook-static/standalone","lint":"eslint 'src/**/*.{ts,tsx}'"},"dependencies":{"@segment/in-regions":"^1.2.0","@segment/top-domain":"^3.0.0","emotion":"^9.1.2","isomorphic-fetch":"^2.2.1","js-cookie":"^2.2.0","lodash":"^4.17.11","nanoid":"^1.0.2","prop-types":"^15.6.1","react-emotion":"^9.1.2"},"devDependencies":{"@babel/core":"^7.6.2","@segment/in-eu":"^0.3.0","@storybook/addon-actions":"^5.2.3","@storybook/addon-info":"^5.2.3","@storybook/addon-links":"^5.2.3","@storybook/addon-options":"^3.4.1","@storybook/addon-storysource":"^5.2.3","@storybook/addons":"^5.2.3","@storybook/react":"^5.2.3","@storybook/storybook-deployer":"^2.8.1","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.5","@types/isomorphic-fetch":"^0.0.35","@types/jest":"^24.0.18","@types/js-cookie":"^2.2.2","@types/lodash":"^4.14.141","@types/nanoid":"^2.1.0","@types/nock":"^11.1.0","@types/node":"^12.7.11","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/segment-analytics":"^0.0.32","@types/sinon":"^7.5.0","@types/storybook__react":"^4.0.2","@typescript-eslint/eslint-plugin":"^2.3.3","@typescript-eslint/parser":"^2.3.3","babel-loader":"^8.0.6","concurrently":"^3.5.1","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-config-react":"^1.1.7","eslint-plugin-prettier":"^3.1.1","eslint-plugin-react":"^7.16.0","evergreen-ui":"^3.0.0","file-loader":"^4.2.0","husky":"^3.0.8","jest":"^24.9.0","lint-staged":"^7.0.4","lodash-es":"^4.17.10","nock":"^9.2.5","preact":"^10.0.0","prettier":"^1.19.1","pretty-quick":"^1.11.1","prismjs":"^1.17.1","raw-loader":"^3.1.0","react":"^16.10.2","react-docgen-typescript-loader":"^3.3.0","react-dom":"^16.10.2","react-simple-code-editor":"^0.10.0","react-syntax-highlighter":"^11.0.2","sinon":"^5.0.7","size-limit":"^0.17.0","ts-jest":"^24.1.0","ts-loader":"^6.2.0","ts-node":"^8.4.1","typescript":"^3.7.0-beta","webpack":"^4.8.2","webpack-cli":"^2.1.3"},"peerDependencies":{"react":"^16.10.0","react-dom":"^16.10.0"},"jest":{"preset":"ts-jest/presets/js-with-ts","testEnvironment":"jsdom","setupFiles":["./test/setupTests.ts"]},"size-limit":[{"path":"esm/index.js","limit":"50 KB"},{"path":"standalone/consent-manager.js","limit":"46 KB"}],"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"printWidth":100},"storybook-deployer":{"gitUsername":"GitHub Pages Bot","gitEmail":"friends@segment.com","commitMessage":"Deploy Storybook to GitHub Pages [skip ci]"},"gitHead":"9c860ad80322c174a1de080e7d0bd0a2e00eaf61","bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"homepage":"https://github.com/boatim/consent-manager#readme","_id":"@boatim/consent-manager@5.2.0","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-0KOQ449qBj8EP6fGfQDi7yutEjbgTlQqvS3FmLjgouN/f+LrSTYRmqSPGdVfxtdw6OjqZUTRsrzZjwpHLFVxAA==","shasum":"e9a266c58f49854bc202476500e824246adc46db","tarball":"https://registry.npmjs.org/@boatim/consent-manager/-/consent-manager-5.2.0.tgz","fileCount":69,"unpackedSize":1187048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdshOCRA9TVsSAnZWagAAOd0P/28TERCNyoizUhLYAOTF\nIKf25c2qDMkhuw5OrgTWUUEPWTsGBYEt/FRIxERq7QTbrYvdy0aAQM3rxDuD\ngdVNVggym01/OiDM8oRraUoNMMwg5RjFR2gmp5M382PeH7yah2aE6x1HN3o8\nvS2YcWawQNzMDgCvAB1W8pRI5QHyoi6o1JDDORabRpiyZ3Mm/06ss7c9jO97\nxeDiHSFwsZ2SakLDpRDktmrC2HDIXXcZXomkOuXocNL/R+UAG//CT0r88c90\nw1guWy1Cs6+J6ptIZiY17+5qvmJuwV/bv6Dsxos9bFFDrcydEKgQFyFNfoKJ\nukOlMQEtH5n+4XE25KnQTNK5adKKMvsaR3+0oBWVziabyWDY9CR4wO5PdWyo\n5cr6oVzW0hn8x9ZnOltP+WwVrTniYEp9M5hygQ82s4YXDTxIzADeewwAPKFu\nyvmXYelDNOoC62GBcwC1L2h9kK4iJtqrwFlubMlT/b1KA09iwMi5h950OEZW\n/cPApkeXqZ/7Uk/YiMKyT69kTJ/EI9mIkB7x4mjoP0cmR56TzOEfpsRXOb2c\nTF4K+AtoWkzMiNofcgtZZ+Ll7goDubkg7UBEqCQ21ohVrOzKx4KEx4CaImme\nEbXPCA38cLmTTYmpwB3VOwAWER9SDUbNF5JvzxF/T+ZlqifYXl0Wx6C85hYm\nDEL8\r\n=ZDc9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDp+uOYvPfkP+wyB9GuB+gRm5mV5Pp2Z/SWgFK4kSzNyQIhALgi5arwFta5fizwP64OTaWVMi5sqPD4Q4IvaPbG+6uq"}]},"_npmUser":{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},"directories":{},"maintainers":[{"name":"loginov","email":"tema@me.com"},{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/consent-manager_5.2.0_1618397261967_0.561344987708553"},"_hasShrinkwrap":false},"5.2.1":{"name":"@boatim/consent-manager","version":"5.2.1","description":"Drop-in consent management plugin for analytics.js","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"license":"MIT","main":"commonjs/index.js","module":"esm/index.js","types":"types/src/index.d.ts","sideEffects":false,"scripts":{"test":"jest src/__tests__","prepublishOnly":"yarn run clean && yarn run build","postpublish":"yarn build-storybook && yarn deploy-storybook -- --existing-output-dir=storybook-static","dev":"concurrently 'yarn build-standalone --watch' 'yarn start-storybook -s ./ -p 9009'","build-commonjs":"tsc --outDir commonjs --module CommonJS --inlineSourceMap","build-esm":"tsc --module es2015 --outDir esm --inlineSourceMap","build-standalone":"webpack","build":"concurrently --names 'commonjs,esm,standalone' 'yarn run build-commonjs' 'yarn run build-esm' 'yarn run build-standalone'","clean":"rm -rf commonjs esm standalone storybook-static types","deploy-storybook":"storybook-to-ghpages","standalone-hash":"shasum -b -a 256 standalone/consent-manager.js | xxd -r -p | base64","build-storybook":"yarn build-standalone && build-storybook && cp -r ./standalone ./storybook-static/standalone","lint":"eslint 'src/**/*.{ts,tsx}'"},"dependencies":{"@segment/in-regions":"^1.2.0","@segment/top-domain":"^3.0.0","emotion":"^9.1.2","isomorphic-fetch":"^2.2.1","js-cookie":"^2.2.0","lodash":"^4.17.11","nanoid":"^1.0.2","prop-types":"^15.6.1","react-emotion":"^9.1.2"},"devDependencies":{"@babel/core":"^7.6.2","@segment/in-eu":"^0.3.0","@storybook/addon-actions":"^5.2.3","@storybook/addon-info":"^5.2.3","@storybook/addon-links":"^5.2.3","@storybook/addon-options":"^3.4.1","@storybook/addon-storysource":"^5.2.3","@storybook/addons":"^5.2.3","@storybook/react":"^5.2.3","@storybook/storybook-deployer":"^2.8.1","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.5","@types/isomorphic-fetch":"^0.0.35","@types/jest":"^24.0.18","@types/js-cookie":"^2.2.2","@types/lodash":"^4.14.141","@types/nanoid":"^2.1.0","@types/nock":"^11.1.0","@types/node":"^12.7.11","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/segment-analytics":"^0.0.32","@types/sinon":"^7.5.0","@types/storybook__react":"^4.0.2","@typescript-eslint/eslint-plugin":"^2.3.3","@typescript-eslint/parser":"^2.3.3","babel-loader":"^8.0.6","concurrently":"^3.5.1","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-config-react":"^1.1.7","eslint-plugin-prettier":"^3.1.1","eslint-plugin-react":"^7.16.0","evergreen-ui":"^3.0.0","file-loader":"^4.2.0","husky":"^3.0.8","jest":"^24.9.0","lint-staged":"^7.0.4","lodash-es":"^4.17.10","nock":"^9.2.5","preact":"^10.0.0","prettier":"^1.19.1","pretty-quick":"^1.11.1","prismjs":"^1.17.1","raw-loader":"^3.1.0","react":"^16.10.2","react-docgen-typescript-loader":"^3.3.0","react-dom":"^16.10.2","react-simple-code-editor":"^0.10.0","react-syntax-highlighter":"^11.0.2","sinon":"^5.0.7","size-limit":"^0.17.0","ts-jest":"^24.1.0","ts-loader":"^6.2.0","ts-node":"^8.4.1","typescript":"^3.7.0-beta","webpack":"^4.8.2","webpack-cli":"^2.1.3"},"peerDependencies":{"react":"^16.10.0","react-dom":"^16.10.0"},"jest":{"preset":"ts-jest/presets/js-with-ts","testEnvironment":"jsdom","setupFiles":["./test/setupTests.ts"]},"size-limit":[{"path":"esm/index.js","limit":"50 KB"},{"path":"standalone/consent-manager.js","limit":"46 KB"}],"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"printWidth":100},"storybook-deployer":{"gitUsername":"GitHub Pages Bot","gitEmail":"friends@segment.com","commitMessage":"Deploy Storybook to GitHub Pages [skip ci]"},"gitHead":"1441df0d9d2f9f2a77d0355d85a3394f9512f833","bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"homepage":"https://github.com/boatim/consent-manager#readme","_id":"@boatim/consent-manager@5.2.1","_nodeVersion":"15.13.0","_npmVersion":"7.7.6","dist":{"integrity":"sha512-u8TpDqh1nBNbSD497f+xGr+rYV8CVqIRq1fEoH1f469UOQYj1r5B1h0BefbvEE7eShEbbIc201hd4cR36UIubQ==","shasum":"c8910dc1ee6c88ccf951686812e8548a4b9567c8","tarball":"https://registry.npmjs.org/@boatim/consent-manager/-/consent-manager-5.2.1.tgz","fileCount":69,"unpackedSize":1186939,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgdtSQCRA9TVsSAnZWagAAZugP/jhibRqmbRqIqckCk4oT\n6sAt/qIOSjgQgnytLR4gmrf+CTbalzzFSg2MXXDNOZ5VN7jR9tohyo6quSuP\n9/oFyJMRnHmV+SFjw8MxOYlC9Oa9cs68Oe0Q3Si5qBMCGgJRF5+RmVrQPc1R\nz6cQBrChsxI7Kya8WB0fiE0rwtgladVqUMKhHT3UnlT1WoQY6VbzGqg3zF1O\ngr4arzMbiavkT4TI89s8ft82fdNiLOhghNYMZvdsbQ8tFXCY1y1tya7q0wKz\nZuR6CSk479PP/cM8HVA4QYQpp4gLljjQAFhNt8y3nJi8SWvKmMLcCWaCx/mN\nbpSic3AuWZeTo0AIggJAQGYwAJnJuTscBAZvz2vBlmac4rrOHV5pqSSkSVb6\nUbpkpnN+MjoKJ3UNWMi6WkXzjDIPI1lMcafSqh2jvwUwyYNpL98DQ2Oa+TxF\n2ZDtOhCu5UxjZM6eWdQKTPDULOU9QpakZ9hH6RGxXqyyviYKKlbWo9qSFyUU\n6rq0CweGWzO7ks6P5XoroDUTMazB5vooanDi0KqLXerHDTrEbJNw9DxXDQPx\nAF88ozNoXIXqOu9ZfJWIfyscgOWaxOaQlhQ0eot5InmeECrdTT71Rxa2pGAC\n1DeN+ZMML8mYqbX6xuubm0hG1YnYg7fLblG/6MgYS+fgmlvrs53w2MCXsFI5\nTp2t\r\n=k1Aa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFrJP/rWM0D2ZXd8MaC6kFgajnk5ZHEEv5V/msggjSbnAiEAuBsOYOftMreQ0qrz33C6/k9Ieb2w385wUh9HhN/lhV8="}]},"_npmUser":{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},"directories":{},"maintainers":[{"name":"peresleguine","email":"peresleguine@gmail.com"},{"name":"loginov","email":"tema@me.com"},{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/consent-manager_5.2.1_1618400400176_0.5348230721116132"},"_hasShrinkwrap":false},"5.2.3":{"name":"@boatim/consent-manager","version":"5.2.3","description":"Drop-in consent management plugin for analytics.js","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"license":"MIT","main":"commonjs/index.js","module":"esm/index.js","types":"types/src/index.d.ts","sideEffects":false,"scripts":{"test":"jest src/__tests__","prepublishOnly":"yarn run clean && yarn run build","postpublish":"yarn build-storybook && yarn deploy-storybook -- --existing-output-dir=storybook-static","dev":"concurrently 'yarn build-standalone --watch' 'yarn start-storybook -s ./ -p 9009'","build-commonjs":"tsc --outDir commonjs --module CommonJS --inlineSourceMap","build-esm":"tsc --module es2015 --outDir esm --inlineSourceMap","build-standalone":"webpack","build":"concurrently --names 'commonjs,esm,standalone' 'yarn run build-commonjs' 'yarn run build-esm' 'yarn run build-standalone'","clean":"rm -rf commonjs esm standalone storybook-static types","deploy-storybook":"storybook-to-ghpages","standalone-hash":"shasum -b -a 256 standalone/consent-manager.js | xxd -r -p | base64","build-storybook":"yarn build-standalone && build-storybook && cp -r ./standalone ./storybook-static/standalone","lint":"eslint 'src/**/*.{ts,tsx}'"},"dependencies":{"@segment/in-regions":"^1.2.0","@segment/top-domain":"^3.0.0","emotion":"^9.1.2","isomorphic-fetch":"^2.2.1","js-cookie":"^2.2.0","lodash":"^4.17.11","nanoid":"^1.0.2","prop-types":"^15.6.1","react-emotion":"^9.1.2"},"devDependencies":{"@babel/core":"^7.6.2","@segment/in-eu":"^0.3.0","@storybook/addon-actions":"^5.2.3","@storybook/addon-info":"^5.2.3","@storybook/addon-links":"^5.2.3","@storybook/addon-options":"^3.4.1","@storybook/addon-storysource":"^5.2.3","@storybook/addons":"^5.2.3","@storybook/react":"^5.2.3","@storybook/storybook-deployer":"^2.8.1","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.5","@types/isomorphic-fetch":"^0.0.35","@types/jest":"^24.0.18","@types/js-cookie":"^2.2.2","@types/lodash":"^4.14.141","@types/nanoid":"^2.1.0","@types/nock":"^11.1.0","@types/node":"^12.7.11","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/segment-analytics":"^0.0.32","@types/sinon":"^7.5.0","@types/storybook__react":"^4.0.2","@typescript-eslint/eslint-plugin":"^2.3.3","@typescript-eslint/parser":"^2.3.3","babel-loader":"^8.0.6","concurrently":"^3.5.1","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-config-react":"^1.1.7","eslint-plugin-prettier":"^3.1.1","eslint-plugin-react":"^7.16.0","evergreen-ui":"^3.0.0","file-loader":"^4.2.0","husky":"^3.0.8","jest":"^24.9.0","lint-staged":"^7.0.4","lodash-es":"^4.17.10","nock":"^9.2.5","preact":"^10.0.0","prettier":"^1.19.1","pretty-quick":"^1.11.1","prismjs":"^1.17.1","raw-loader":"^3.1.0","react":"^16.10.2","react-docgen-typescript-loader":"^3.3.0","react-dom":"^16.10.2","react-simple-code-editor":"^0.10.0","react-syntax-highlighter":"^11.0.2","sinon":"^5.0.7","size-limit":"^0.17.0","ts-jest":"^24.1.0","ts-loader":"^6.2.0","ts-node":"^8.4.1","typescript":"^3.7.0-beta","webpack":"^4.8.2","webpack-cli":"^2.1.3"},"peerDependencies":{"react":"^16.10.0","react-dom":"^16.10.0"},"jest":{"preset":"ts-jest/presets/js-with-ts","testEnvironment":"jsdom","setupFiles":["./test/setupTests.ts"]},"size-limit":[{"path":"esm/index.js","limit":"50 KB"},{"path":"standalone/consent-manager.js","limit":"46 KB"}],"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"printWidth":100},"storybook-deployer":{"gitUsername":"GitHub Pages Bot","gitEmail":"friends@segment.com","commitMessage":"Deploy Storybook to GitHub Pages [skip ci]"},"gitHead":"8eeee9037e50a7d36a3e297896a6499317843f9e","bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"homepage":"https://github.com/boatim/consent-manager#readme","_id":"@boatim/consent-manager@5.2.3","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-eUK8A/r/P/9P+y1PWVoGr8xsZplZLgHBT+W/Q9Y2uLQwIDJPCkgEg5ZH1PQOkKELqPWjbpRlUBaD+Pkq5MBAjQ==","shasum":"d9918ee6e60dff6ecdf294a2f0966877688744d4","tarball":"https://registry.npmjs.org/@boatim/consent-manager/-/consent-manager-5.2.3.tgz","fileCount":69,"unpackedSize":1194354,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJghqe3CRA9TVsSAnZWagAATxkP/0xsOSMxVtqPnFNpugCC\n2Up+SQPl68vaUFJS3JOjPxxSbiTy577TlJpvOLKyMPPs+s7hU0uIwSV7G8YU\nfJ8jjF4NcHlj0cRwJn+qrHVcfrW/ouB7EJ/75nkdZ1pGybZwy4/W3q1kLwFd\nplKdSNt8N8PmKTb+msSkwr1kBbqUQtW2o4bESxTeb/MbW/As2L77uA95lyeF\nYAbNJJgrvYTF/Kd4tNF4y4Os9ow3FpcwAPSFmcBYX4oISYhUzNGNhKxu1iQZ\n9KsWRTRmUf4M0NqVFDgC4527fpP3Ghr38It/y6Q+HDq+R2Pw0wUCLtbWBTGO\nW3b1itHqXFLAlQqpwUpeFsxiRubJ08MzLwBvEXP8VKb8gJSYfyn1FXKjlS4f\nwRAoOhatr0sK8UQISch0hOmew4J7+kt+iYSi/XlKRGfUz/wAZbjgIxamHEeX\nyfmf4KA+SxFuuwoc/LHJCvAdolvi9tkkAT7oXdbQagXVD/kfbLcU7DPLUyVr\n/g5uc/RX/V4rUhjJSyi16o/bNfwtrdEJpV4ApjwSQxMHk7mUwvAU6hw6djzO\n5yqdh6cY3vodIofT0tAqFtw/5mJiWLLP8U29GozfRZPiR3XbQGwOW/g0OtZC\nPPnJ00OB/vugw3nIXs6B8lU5CCBjnrfhHd5P7F7S8tnEUFLqv+1lyJ9UiqD2\nueBn\r\n=QpE2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD/Rmcp5srmDBtjKOUqd5i+6c5zPu2GljbJMeRt21QKrgIhAIQ1Ao6Dhh+vPwxUqkIvCbusQBJN+H3YF941czuu9DTk"}]},"_npmUser":{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},"directories":{},"maintainers":[{"name":"peresleguine","email":"peresleguine@gmail.com"},{"name":"loginov","email":"tema@me.com"},{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/consent-manager_5.2.3_1619437494538_0.5001366593104362"},"_hasShrinkwrap":false},"5.3.0":{"name":"@boatim/consent-manager","version":"5.3.0","description":"Drop-in consent management plugin for analytics.js","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"license":"MIT","main":"commonjs/index.js","module":"esm/index.js","types":"types/src/index.d.ts","sideEffects":false,"scripts":{"test":"jest src/__tests__","prepublishOnly":"yarn run clean && yarn run build","postpublish":"yarn build-storybook && yarn deploy-storybook -- --existing-output-dir=storybook-static","dev":"concurrently 'yarn build-standalone --watch' 'yarn start-storybook -s ./ -p 9009'","build-commonjs":"tsc --outDir commonjs --module CommonJS --inlineSourceMap","build-esm":"tsc --module es2015 --outDir esm --inlineSourceMap","build-standalone":"webpack","build":"concurrently --names 'commonjs,esm,standalone' 'yarn run build-commonjs' 'yarn run build-esm' 'yarn run build-standalone'","clean":"rm -rf commonjs esm standalone storybook-static types","deploy-storybook":"storybook-to-ghpages","standalone-hash":"shasum -b -a 256 standalone/consent-manager.js | xxd -r -p | base64","build-storybook":"yarn build-standalone && build-storybook && cp -r ./standalone ./storybook-static/standalone","lint":"eslint 'src/**/*.{ts,tsx}'"},"dependencies":{"@segment/in-regions":"^1.2.0","@segment/top-domain":"^3.0.0","emotion":"^9.1.2","isomorphic-fetch":"^2.2.1","js-cookie":"^2.2.0","lodash-es":"^4.17.10","nanoid":"^1.0.2","prop-types":"^15.6.1","react-emotion":"^9.1.2"},"devDependencies":{"@babel/core":"^7.6.2","@segment/in-eu":"^0.3.0","@storybook/addon-actions":"^5.2.3","@storybook/addon-info":"^5.2.3","@storybook/addon-links":"^5.2.3","@storybook/addon-options":"^3.4.1","@storybook/addon-storysource":"^5.2.3","@storybook/addons":"^5.2.3","@storybook/react":"^5.2.3","@storybook/storybook-deployer":"^2.8.1","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.5","@types/isomorphic-fetch":"^0.0.35","@types/jest":"^24.0.18","@types/js-cookie":"^2.2.2","@types/lodash":"^4.14.141","@types/nanoid":"^2.1.0","@types/nock":"^11.1.0","@types/node":"^12.7.11","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/segment-analytics":"^0.0.32","@types/sinon":"^7.5.0","@types/storybook__react":"^4.0.2","@typescript-eslint/eslint-plugin":"^2.3.3","@typescript-eslint/parser":"^2.3.3","babel-loader":"^8.0.6","concurrently":"^3.5.1","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-config-react":"^1.1.7","eslint-plugin-prettier":"^3.1.1","eslint-plugin-react":"^7.16.0","evergreen-ui":"^3.0.0","file-loader":"^4.2.0","husky":"^3.0.8","jest":"^24.9.0","lint-staged":"^7.0.4","nock":"^9.2.5","preact":"^10.0.0","prettier":"^1.19.1","pretty-quick":"^1.11.1","prismjs":"^1.17.1","raw-loader":"^3.1.0","react":"^16.10.2","react-docgen-typescript-loader":"^3.3.0","react-dom":"^16.10.2","react-simple-code-editor":"^0.10.0","react-syntax-highlighter":"^11.0.2","sinon":"^5.0.7","size-limit":"^0.17.0","ts-jest":"^24.1.0","ts-loader":"^6.2.0","ts-node":"^8.4.1","typescript":"^3.7.0-beta","webpack":"^4.8.2","webpack-cli":"^3.1.1"},"peerDependencies":{"react":"^16.10.0","react-dom":"^16.10.0"},"jest":{"preset":"ts-jest/presets/js-with-ts","testEnvironment":"jsdom","setupFiles":["./test/setupTests.ts"]},"size-limit":[{"path":"esm/index.js","limit":"50 KB"},{"path":"standalone/consent-manager.js","limit":"46 KB"}],"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"printWidth":100},"storybook-deployer":{"gitUsername":"GitHub Pages Bot","gitEmail":"friends@segment.com","commitMessage":"Deploy Storybook to GitHub Pages [skip ci]"},"gitHead":"1894386a46fe548955234cd80be6e8b59a9ce4e0","bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"homepage":"https://github.com/boatim/consent-manager#readme","_id":"@boatim/consent-manager@5.3.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-QC93B/YbZfya9/h7DFvqGRFrJ2GkuS3RGjt0lY/o6RgVaQep+aemQ4Rfc8xbxXuaNwoUKG3QEz5Ktrz3N3S9AQ==","shasum":"b876786e72a5ea62c06798c6429d4729963964af","tarball":"https://registry.npmjs.org/@boatim/consent-manager/-/consent-manager-5.3.0.tgz","fileCount":69,"unpackedSize":1240962,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5E5UCRA9TVsSAnZWagAAOJYQAIeZDL5vkackwrcao1vZ\n03IEqJb41nB2AMuYFhV84L7F5po0/+CD5gaSU35AVoxyC68woZpFtncHjSPK\nxKb5wPdiR0WiK9L3O3A1EP2LvA3i2UjHmX+lhdhAXCXPwh5X0oIX3JVIPNvX\nuMWCNI2Y3IN8Tx0EeMywvd6+1T2DuG4brUoKpSSLFNqprNCuhMjmXD2HJSXX\nPFf4uzgzoIX3H/XnnDcEkBRxdpPh8OtBUQdWHFF9YrqVOXwh09kHE4Wk++E5\nzjRqkbBXBNHzyuNIuaQ8+W1C1lQ230WcMhqg0VSyOqCLWXAsxms73Exl3fgP\nz/X51AYAEgDoBcOq6nTF5kQFcPXYfzJ2fD0Y9sTfhBW683TY2Ukcw8etw7SN\nLD/6vfiCdVtTewqLAHbmezXZSMR6G0xQppRuIMiGM0T6iO6F79lSepJZT5hf\nhS0JFziPgAZ/wqCViWSoX3k089wPd/cp9A6U6ddd9g6DYSWlQByywk/APQq9\nbtMow5pZAJ+cO/Jpg7+XmwSrVdJIUdLkX3p4JnDewBAtpkrVNLpepBA6xhCQ\npniXdgKNtbOD+Ujsomcdu0gTq5laHdU921uutX+J95R8j8ESum76gMqnKL+n\nwBVlPFkFQDh/5KfVTfGGq8WiczMCsT+NMLrpEiLHZuvL7RdA9SqdRa0yzxO3\nVn+H\r\n=PE1h\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCVHmH8Ka2TcW8+8aqcmhcQKTYF50UZnMqpQFvzTPYqBAIgMJ7ZkLcwJcHW5hhCCVnGTGE6GsocVpn61VHnvIF3jkc="}]},"_npmUser":{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},"directories":{},"maintainers":[{"name":"peresleguine","email":"peresleguine@gmail.com"},{"name":"loginov","email":"tema@me.com"},{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/consent-manager_5.3.0_1625574995789_0.6480955566863267"},"_hasShrinkwrap":false},"5.3.1":{"name":"@boatim/consent-manager","version":"5.3.1","description":"Drop-in consent management plugin for analytics.js","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"license":"MIT","main":"commonjs/index.js","module":"esm/index.js","types":"types/src/index.d.ts","sideEffects":false,"scripts":{"test":"jest src/__tests__","prepublishOnly":"yarn run clean && yarn run build","postpublish":"yarn build-storybook && yarn deploy-storybook -- --existing-output-dir=storybook-static","dev":"concurrently 'yarn build-standalone --watch' 'yarn start-storybook -s ./ -p 9009'","build-commonjs":"tsc --outDir commonjs --module CommonJS --inlineSourceMap","build-esm":"tsc --module es2015 --outDir esm --inlineSourceMap","build-standalone":"webpack","build":"concurrently --names 'commonjs,esm,standalone' 'yarn run build-commonjs' 'yarn run build-esm' 'yarn run build-standalone'","clean":"rm -rf commonjs esm standalone storybook-static types","deploy-storybook":"storybook-to-ghpages","standalone-hash":"shasum -b -a 256 standalone/consent-manager.js | xxd -r -p | base64","build-storybook":"yarn build-standalone && build-storybook && cp -r ./standalone ./storybook-static/standalone","lint":"eslint 'src/**/*.{ts,tsx}'"},"dependencies":{"@segment/in-regions":"^1.2.0","@segment/top-domain":"^3.0.0","emotion":"^9.1.2","isomorphic-fetch":"^2.2.1","js-cookie":"^2.2.0","lodash-es":"^4.17.10","nanoid":"^1.0.2","prop-types":"^15.6.1","react-emotion":"^9.1.2"},"devDependencies":{"@babel/core":"^7.6.2","@segment/in-eu":"^0.3.0","@storybook/addon-actions":"^5.2.3","@storybook/addon-info":"^5.2.3","@storybook/addon-links":"^5.2.3","@storybook/addon-options":"^3.4.1","@storybook/addon-storysource":"^5.2.3","@storybook/addons":"^5.2.3","@storybook/react":"^5.2.3","@storybook/storybook-deployer":"^2.8.1","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.5","@types/isomorphic-fetch":"^0.0.35","@types/jest":"^24.0.18","@types/js-cookie":"^2.2.2","@types/lodash":"^4.14.141","@types/nanoid":"^2.1.0","@types/nock":"^11.1.0","@types/node":"^12.7.11","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/segment-analytics":"^0.0.32","@types/sinon":"^7.5.0","@types/storybook__react":"^4.0.2","@typescript-eslint/eslint-plugin":"^2.3.3","@typescript-eslint/parser":"^2.3.3","babel-loader":"^8.0.6","concurrently":"^3.5.1","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-config-react":"^1.1.7","eslint-plugin-prettier":"^3.1.1","eslint-plugin-react":"^7.16.0","evergreen-ui":"^3.0.0","file-loader":"^4.2.0","husky":"^3.0.8","jest":"^24.9.0","lint-staged":"^7.0.4","nock":"^9.2.5","preact":"^10.0.0","prettier":"^1.19.1","pretty-quick":"^1.11.1","prismjs":"^1.17.1","raw-loader":"^3.1.0","react":"^16.10.2","react-docgen-typescript-loader":"^3.3.0","react-dom":"^16.10.2","react-simple-code-editor":"^0.10.0","react-syntax-highlighter":"^11.0.2","sinon":"^5.0.7","size-limit":"^0.17.0","ts-jest":"^24.1.0","ts-loader":"^6.2.0","ts-node":"^8.4.1","typescript":"^3.7.0-beta","webpack":"^4.8.2","webpack-cli":"^3.1.1"},"peerDependencies":{"react":"^16.10.0","react-dom":"^16.10.0"},"jest":{"preset":"ts-jest/presets/js-with-ts","testEnvironment":"jsdom","setupFiles":["./test/setupTests.ts"]},"size-limit":[{"path":"esm/index.js","limit":"50 KB"},{"path":"standalone/consent-manager.js","limit":"46 KB"}],"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"printWidth":100},"storybook-deployer":{"gitUsername":"GitHub Pages Bot","gitEmail":"friends@segment.com","commitMessage":"Deploy Storybook to GitHub Pages [skip ci]"},"gitHead":"91273dc5d91d4445ffe33237dfc9bfc96c8a75b6","bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"homepage":"https://github.com/boatim/consent-manager#readme","_id":"@boatim/consent-manager@5.3.1","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-tq3NsW8P6vA/BMseQ53g4M3tp6UoF/NaDgng0v8XDGNDiNDvkGIDJ7pBCaOjLuI2xpneGYJp3turDYMbipGyrw==","shasum":"751fb2e0ddf4c2f8b85cb8346e3dd38504ee9f2a","tarball":"https://registry.npmjs.org/@boatim/consent-manager/-/consent-manager-5.3.1.tgz","fileCount":69,"unpackedSize":1240983,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5GQNCRA9TVsSAnZWagAA+jkP/3rTbHpp3/jxngV1JpfV\nadN6GRJq0ZAA6UL1OftFdrKYm5yX67dKu0KUBsEsot4uOOj4rMJQ24SvNAzd\nFt8RkSD7LlMOpkpykoIm2lzr6np53NinP1I49rbtaBqOxMAXCQGzFn3/s7Ee\ns3h1eO7j3Kmj5A4sBmOeDbUovb/HG7FXddLAFjjz1sIcfys8Au8pz7rU2SAx\nYhxjoXQtXCSTHjI3Hd1nX/FPCVNf78k3csGD6V4qhgC33KiODnVpV12GL1wZ\nFjHRiM4Xb9CMIPw0wTKSpiLaSokIAnGMMikhR/g5njCIAvMo/cdWD+gHc+MP\n2ro1S5dghmwd/J+64Nt59Y8Th8JJzY1xrZxEh4lPyCuz/P8fnar3LMRHSLyK\noxgJDFdrz5HHlqj2KDRrWCvtnAgmkPRUQOlXShBEwmCn2JlsvwJYWCEFiAe/\nZvYIkVasRofxjwOVCve/VOiqLq1PSvDYv7D/ALRbxptoXrdOj2jQ1V6WOu+N\ndBi/UPOSD2WRzdBrwmUqM8MEqOvfzvzt0uwUMhFz6cXv2D/GBYUciTk2FPGn\nzgArvbvHhBFzAxClUZemh6LMLm9GOQqY4VX/cY9E5CToDChFndBtrVbuArG8\nhbXDzdVi/NrK3qBMhw64T4QRdSO71MS557+0h6OrwpTQjLA6ApuFM6VAHvdv\n5JA8\r\n=EbeJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBwCKshOm52UeJPBLFl0YHDOaJNzNw/VfA4YZvGX8qNYAiEApTDe0jxPkqufQOz22r6bT3gpW4jY4KLOWkJ5H2AXtr0="}]},"_npmUser":{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},"directories":{},"maintainers":[{"name":"peresleguine","email":"peresleguine@gmail.com"},{"name":"loginov","email":"tema@me.com"},{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/consent-manager_5.3.1_1625580556644_0.4399337727096937"},"_hasShrinkwrap":false},"5.4.0":{"name":"@boatim/consent-manager","version":"5.4.0","description":"Drop-in consent management plugin for analytics.js","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"license":"MIT","main":"commonjs/index.js","module":"esm/index.js","types":"types/src/index.d.ts","sideEffects":false,"scripts":{"test":"jest src/__tests__","prepublishOnly":"yarn run clean && yarn run build","postpublish":"yarn build-storybook && yarn deploy-storybook -- --existing-output-dir=storybook-static","dev":"concurrently 'yarn build-standalone --watch' 'yarn start-storybook -s ./ -p 9009'","build-commonjs":"tsc --outDir commonjs --module CommonJS --inlineSourceMap","build-esm":"tsc --module es2015 --outDir esm --inlineSourceMap","build-standalone":"webpack","build":"concurrently --names 'commonjs,esm,standalone' 'yarn run build-commonjs' 'yarn run build-esm' 'yarn run build-standalone'","clean":"rm -rf commonjs esm standalone storybook-static types","deploy-storybook":"storybook-to-ghpages","standalone-hash":"shasum -b -a 256 standalone/consent-manager.js | xxd -r -p | base64","build-storybook":"yarn build-standalone && build-storybook && cp -r ./standalone ./storybook-static/standalone","lint":"eslint 'src/**/*.{ts,tsx}'"},"dependencies":{"@segment/in-regions":"^1.2.0","@segment/top-domain":"^3.0.0","emotion":"^9.1.2","isomorphic-fetch":"^2.2.1","js-cookie":"^2.2.0","lodash-es":"^4.17.10","nanoid":"^1.0.2","prop-types":"^15.6.1","react-emotion":"^9.1.2"},"devDependencies":{"@babel/core":"^7.6.2","@segment/in-eu":"^0.3.0","@storybook/addon-actions":"^5.2.3","@storybook/addon-info":"^5.2.3","@storybook/addon-links":"^5.2.3","@storybook/addon-options":"^3.4.1","@storybook/addon-storysource":"^5.2.3","@storybook/addons":"^5.2.3","@storybook/react":"^5.2.3","@storybook/storybook-deployer":"^2.8.1","@types/enzyme":"^3.10.3","@types/enzyme-adapter-react-16":"^1.0.5","@types/isomorphic-fetch":"^0.0.35","@types/jest":"^24.0.18","@types/js-cookie":"^2.2.2","@types/lodash":"^4.14.141","@types/nanoid":"^2.1.0","@types/nock":"^11.1.0","@types/node":"^12.7.11","@types/react":"^16.9.5","@types/react-dom":"^16.9.1","@types/segment-analytics":"^0.0.32","@types/sinon":"^7.5.0","@types/storybook__react":"^4.0.2","@typescript-eslint/eslint-plugin":"^2.3.3","@typescript-eslint/parser":"^2.3.3","babel-loader":"^8.0.6","concurrently":"^3.5.1","enzyme":"^3.10.0","enzyme-adapter-react-16":"^1.1.1","eslint":"^6.5.1","eslint-config-prettier":"^6.4.0","eslint-config-react":"^1.1.7","eslint-plugin-prettier":"^3.1.1","eslint-plugin-react":"^7.16.0","evergreen-ui":"^3.0.0","file-loader":"^4.2.0","husky":"^3.0.8","jest":"^24.9.0","lint-staged":"^7.0.4","nock":"^9.2.5","preact":"^10.0.0","prettier":"^1.19.1","pretty-quick":"^1.11.1","prismjs":"^1.17.1","raw-loader":"^3.1.0","react":"^16.10.2","react-docgen-typescript-loader":"^3.3.0","react-dom":"^16.10.2","react-simple-code-editor":"^0.10.0","react-syntax-highlighter":"^11.0.2","sinon":"^5.0.7","size-limit":"^0.17.0","ts-jest":"^24.1.0","ts-loader":"^6.2.0","ts-node":"^8.4.1","typescript":"^3.7.0-beta","webpack":"^4.8.2","webpack-cli":"^3.1.1"},"peerDependencies":{"react":"^16.10.0","react-dom":"^16.10.0"},"jest":{"preset":"ts-jest/presets/js-with-ts","testEnvironment":"jsdom","setupFiles":["./test/setupTests.ts"]},"size-limit":[{"path":"esm/index.js","limit":"50 KB"},{"path":"standalone/consent-manager.js","limit":"46 KB"}],"husky":{"hooks":{"pre-commit":"pretty-quick --staged"}},"prettier":{"tabWidth":2,"semi":false,"singleQuote":true,"printWidth":100},"storybook-deployer":{"gitUsername":"GitHub Pages Bot","gitEmail":"friends@segment.com","commitMessage":"Deploy Storybook to GitHub Pages [skip ci]"},"gitHead":"1490f099011f558f0a74409650ec5f7f9cf2a51d","bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"homepage":"https://github.com/boatim/consent-manager#readme","_id":"@boatim/consent-manager@5.4.0","_nodeVersion":"12.13.1","_npmVersion":"6.12.1","dist":{"integrity":"sha512-to+IdaTYNKzxtBq3cV5WvWIT+GhQplLxzIdPuDmU+v02HWRvp/e1zavlQrFg+7jUq0mnXsrPECx/7Gh9Vzjxcw==","shasum":"33f92d84074656596cf66d26697ca2a91870cd94","tarball":"https://registry.npmjs.org/@boatim/consent-manager/-/consent-manager-5.4.0.tgz","fileCount":69,"unpackedSize":1254027,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhHlL1CRA9TVsSAnZWagAA4P4P/1tAEXarXCmC7ewTd+U6\nou0Mt3xDyBPMz187XJsT88upNnnLdw4StlR5eoUAunUpnKU/gMlvXIipD3OE\n/jL1q3OMwwTMaslteaxnewwojme2f5lbLnPGpnxNBkOYWb/lhQKsy6dvyeWi\nEUI72lqJZfFmShpHl/crz+wTwBiS25o4TMEFv3yubMld+8dUKmtaEocOKa9n\nBu8c0fro4XL5kv4gwMry3VEwY/pHa33dcXy4m4vv77o77SEcNCkUdEGZzaeI\nAX+mWF3fy58/4h6SBkVT1gN9KbdIq0P0DzKLUKXeq6l0y3jUDwIaL0RtQccd\njWWgktqzgYvTLAT2BnAO+6KNnSuUtLsNXXyGdZvdmK1KLLE4G1ltwkKD09q+\nPbuViQMj/ljiKgvgDx0AQ/s1E7p0pW6pcOmKxYNzNu//lV4oDhax5QMr0V0a\nBEMLCwVWiGaoqi1ay+M1OLeivHdYiK7R92Y2PclmwdfofKv9c3GuU5JT8ACw\nXNi5HHPkZ0N/NcIykyNMbrsazM+ZuFluXPWWQXB4jDjPybvAZvw+cg1a0jPA\nnkh7zoRz8JXUgb/294oulmII8bVjRNGILF+0O4I/MnTj1qQLfYgVfR497XEq\nYQaV0sw4JNjj1LYjVB7ISqPPSrRol3xNRD2FxLaIDXQymO0ZLiXl8u+mO9h4\nLFf3\r\n=INZz\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDrAqtUH7BEKKGhVW0v5OvsYE4lU42KN7is1ytcdLbGoAIhAPvy96KVhtXTbVKzrGezTe/M6xPDVobIw0u7ArY19QyN"}]},"_npmUser":{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},"directories":{},"maintainers":[{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},{"name":"loginov","email":"tema@me.com"},{"name":"peresleguine","email":"peresleguine@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/consent-manager_5.4.0_1629377269333_0.48424994821273737"},"_hasShrinkwrap":false}},"time":{"created":"2021-04-14T10:47:41.726Z","5.2.0":"2021-04-14T10:47:42.170Z","modified":"2022-04-04T19:54:59.756Z","5.2.1":"2021-04-14T11:40:00.425Z","5.2.2":"2021-04-21T14:22:16.112Z","5.2.3":"2021-04-26T11:44:54.785Z","5.3.0":"2021-07-06T12:36:35.939Z","5.3.1":"2021-07-06T14:09:16.784Z","5.4.0":"2021-08-19T12:47:49.632Z"},"maintainers":[{"name":"dmitry-zaets","email":"dmitry.zaets@gmail.com"},{"name":"loginov","email":"tema@me.com"},{"name":"peresleguine","email":"peresleguine@gmail.com"}],"description":"Drop-in consent management plugin for analytics.js","homepage":"https://github.com/boatim/consent-manager#readme","keywords":["gdpr","tracking","analytics","analytics.js"],"repository":{"type":"git","url":"git+https://github.com/boatim/consent-manager.git"},"bugs":{"url":"https://github.com/boatim/consent-manager/issues"},"license":"MIT","readme":"# Forked version of The Segment Consent Manager (Not Official repository)\n\nThe Fork of The Segment Consent Manager is an analytics.js add-on with support to consent management.\n\nAt its core, the Consent Manager empowers your visitors to control and customize their tracking preferences on a website. They can opt out entirely of being tracked, or selectively opt out of tools in which they don’t want their information stored.\n\nIt works by taking control of the analytics.js load process to only load destinations that the user has consented to and not loading analytics.js at all if the user has opted out of everything. The user's tracking preferences are saved to a cookie and sent as an identify trait (if they haven't opted out of everything) so that you can also access them on the server-side and from destinations (warehouse).\n\n_Segment works to ensure the Consent Manager Tech Demo works with most of our product pipeline. We cannot ensure it works in your specific implementation or website. Please contact our Professional Services team for implementation support. Please see the License.txt included._\n\n### Features\n\n- Give users the ability to opt-in or opt-out to tracking.\n- Fine grained control of tools or categories used for tracking.\n- 30s setup with a drop in script tag.\n- Or fully customizable UI/UX through React components.\n- EU traffic detection through [@segment/in-eu][ineu].\n- Ability for visitors to reconsent and change preferences.\n- Automatically asks again for consent after 12 months (365 days).\n- Automatically updates to reflect the destinations you have enabled in Segment.\n- **5.0.0**: Consent Manager will add consent metadata to the context of all track calls:\n\nTrack call message payloads will be extended to include Consent metadata in the `context` object:\n\n```\n{\n  \"context\": {\n    \"campaign\": {},\n    \"consent\": {\n      \"categoryPreferences\": {\n        \"Amplitude\": true,\n        \"Customer.io\": true,\n        \"Google Analytics\": true,\n        \"Webhooks\": true\n      },\n      \"defaultDestinationBehavior\": \"disable\",\n      \"destinationPreferences\": {\n        \"Amplitude\": true,\n        \"Customer.io\": true,\n        \"Google Analytics\": true,\n        \"Webhooks\": true\n      }\n    }\n  },\n  \"event\": \"Send Track Event Clicked\",\n  \"integrations\": {\n    \"All\": false,\n    \"Amplitude\": true,\n    \"HubSpot\": false,\n    \"Salesforce\": false,\n    \"Segment.io\": true\n  }\n}\n```\n\n**Breaking Changes:** Version 5.0.0 and above require that your analytics.js snippet include the method `addSourceMiddleware` in the `analytics.methods` array:\n\n```\nanalytics.methods = [\n  'trackSubmit',\n  'trackClick',\n  'trackLink',\n  'trackForm',\n  'pageview',\n  'identify',\n  'reset',\n  'group',\n  'track',\n  'ready',\n  'alias',\n  'debug',\n  'page',\n  'once',\n  'off',\n  'on',\n  'addSourceMiddleware' // This method is necessary for Consent Manager to forward consent metadata.\n]\n```\n\n## Usage\n\nThe Segment Consent Manager can be used in multiple ways, depending on how custom you want your visitor's experience to be.\n\nTo get started, make sure you're using the latest version of the [analytics.js snippet][] (4.1.0 or above) and remove the `analytics.load(\"YOUR_WRITE_KEY\");` call (so the consent manager can manage the loading process). Then continue onto one of the implementation methods below.\n\n### Standalone Script\n\nThe standalone script is a prebuilt bundle that uses the [ConsentManager][] React component with [Preact][] (a lightweight React alternative). It's best for if you want to get up and running quickly or you don't have a preexisting React setup.\n\nInclude the consent manager script tag after your analytic.js snippet and add your own custom copy. The standalone script can be configured in one of two ways, via data attributes for simple usage or via a global callback function for advanced usage. Both methods allow the consent manager script to be loaded async.\n\n#### Options\n\nAll of the [ConsentManager][] options are supported with the addition of these options:\n\n##### container\n\nType: `string`\n\n[CSS selector][] to the DOM element that will host the consent banner. It should be an empty DOM element (usually a `<div>`) because the consent manager will replace any existing DOM elements inside it. The element must also exist on the page before the script is executed.\n\nYou can also control the positioning of the consent banner by applying styles to the container element (optional). E.g:\n\n```css\n#target-container {\n  position: fixed;\n  left: 0;\n  right: 0;\n  bottom: 0;\n  z-index: 100;\n}\n```\n\n```html\n<div id=\"target-container\"></div>\n```\n\n#### Globals\n\nThe following global variables are also exposed:\n\n- `consentManager.version` - Version of the consent manager.\n- `consentManager.openConsentManager()` - Opens the consent manager preferences dialog.\n- `consentManager.doNotTrack()` - Utility function that returns the user's Do Not Track preference (normalises the cross browser API differences). Returns `true`, `false` or `null` (no preference specified).\n- `consentManager.inEU()` - The [@segment/in-eu][ineu] `inEU()` function.\n- `consentManager.preferences` - Returns an instance of `PreferencesManager` with the following helper functions:\n  - `loadPreferences` - returns the cookie value for consent preferences\n  - `savePreferences` - allows for managing the consent cookie programatically (useful if you want to re-hydrate consent from your own database or prefill consent options)\n  - `onPreferencesSaved(callback)` - allows for subscribing to changes in preferences.\n\n#### Callback Function\n\nAll the options are supported. The callback function also receives these exports:\n\n- `React` - Reference to the [Preact][] library (the API is React compatible). Useful for if you need to use virtual DOM in your content.\n- `version` - Version of the consent manager.\n- `openConsentManager()` - Opens the consent manager preferences dialog.\n- `doNotTrack()` - Utility function that returns the user's Do Not Track preference (normalises the cross browser API differences). Returns `true`, `false` or `null` (no preference specified).\n- `inEU()` - The [@segment/in-eu][ineu] `inEU()` function.\n- `consentManager.preferences` - Returns an instance of `PreferencesManager` with the following helper functions:\n  - `loadPreferences` - returns the cookie value for consent preferences\n  - `savePreferences` - allows for managing the consent cookie programatically (useful if you want to re-hydrate consent from your own database or prefill consent options)\n  - `onPreferencesSaved(callback)` - allows for subscribing to changes in preferences.\n\n```html\n<script>\n  window.consentManagerConfig = function(exports) {\n    var React = exports.React\n    var inEU = exports.inEU\n\n    var bannerContent = React.createElement(\n      'span',\n      null,\n      'We use cookies (and other similar technologies) to collect data to improve your experience on our site. By using our website, you՚re agreeing to the collection of data as described in our',\n      ' ',\n      React.createElement(\n        'a',\n        { href: '/docs/legal/website-data-collection-policy/', target: '_blank' },\n        'Website Data Collection Policy'\n      ),\n      '.'\n    )\n    var bannerSubContent = 'You can change your preferences at any time.'\n    var preferencesDialogTitle = 'Website Data Collection Preferences'\n    var preferencesDialogContent =\n      'We use data collected by cookies and JavaScript libraries to improve your browsing experience, analyze site traffic, deliver personalized advertisements, and increase the overall performance of our site.'\n    var cancelDialogTitle = 'Are you sure you want to cancel?'\n    var cancelDialogContent =\n      'Your preferences have not been saved. By continuing to use our website, you՚re agreeing to our Website Data Collection Policy.'\n\n    return {\n      container: '#target-container',\n      writeKey: '<your-segment-write-key>',\n      shouldRequireConsent: inEU,\n      bannerContent: bannerContent,\n      bannerSubContent: bannerSubContent,\n      preferencesDialogTitle: preferencesDialogTitle,\n      preferencesDialogContent: preferencesDialogContent,\n      cancelDialogTitle: cancelDialogTitle,\n      cancelDialogContent: cancelDialogContent\n    }\n  }\n</script>\n\n<script\n  src=\"https://unpkg.com/@segment/consent-manager@5.0.0/standalone/consent-manager.js\"\n  defer\n></script>\n```\n\n### ConsentManager\n\nThe `ConsentManager` React component is a prebuilt consent manager UI (it's the one we use on <https://segment.com>) that uses the [ConsentManagerBuilder][] component under the hood. To use it, just mount the component where you want the consent banner to appear and pass in your own custom copy.\n\n#### Props\n\n##### writeKey\n\nType: `string`\n\nThe write key analytics.js should be loaded with.\n\n##### otherWriteKeys\n\nType: `array<string>`<br>\nDefault: `[]`\n\nOther write keys that you want to load destination information for. This is useful for including your server-side destinations in the consent manager, so that you can easily apply the user's tracking preferences to your server-side analytics too. _No data will be sent to these write keys._\n\n##### shouldRequireConsent\n\nType: `function`<br>\nDefault: `() => true`\n\nCallback function that determines if consent is required before tracking can begin. Return `true` to show the consent banner and wait for consent (if no consent has been given yet). Return `false` to not show the consent banner and start tracking immediately (unless the user has opted out). The function can return a `Promise` that resolves to a boolean.\n\n##### closeBehavior\n\nType: `enum|string` or `function`<br>\nDefault: `dismiss`\n\nAn option to determine what should be the default behavior for the `x` button on the consent manager banner.\n\nOptions:\n\n- `dismiss` (default) - Dismisses the banner, but don't save or change any preferences. Analytics.js won't be loaded until explicit consent is given.\n- `accept` - Assume consent across every category.\n- `deny` - Denies consent across every category.\n\n`closeBehavior` can also be customized - i.e. don't load some categories, but load everything else. For example, if you wanted to load everything _except_ advertising, you could pass the following as `closeBehavior`:\n\n```\ncloseBehavior={\n  (categories) => ({\n    ...categories,\n    advertising: false\n  })\n}\n```\n\n##### implyConsentOnInteraction\n\n**_Breaking Change_** (versions < 3.0.0 will default this option `true`)\n\nType: `boolean`<br>\nDefault: `false` (as of 3.0.0)\n\nWhether or not consent should be implied if the user interacts with the website (clicks anywhere outside the consent manager banner or dialogs).\n\n##### defaultDestinationBehavior\n\nType: `string`<br>\nDefault: 'disable'\n\nDetermines how newly detected destinations are treated when the user already has a cookie set on their browser. This will be relevent when you've added a connected a new destination to any of the sources managed by Consent Manager.\n\nOptions:\n\n- `disable` (default) - Newly detected destinations are by default, disabled.\n- `enable` - Newly detected destinations are by default, enabled.\n- `imply` - Newly detected destinations are by default, enabled or disabled, depending on the user's consent to the consent group that the new destination belongs to.\n  - For example, if a user has already consented to the \"marketingAndAnalytics\" category, and we detect a new destination with category \"Analytics\", that destination will be enabled.\n- `ask` - If we detect new destinations upon initializing the Consent Manager, the preferences dialog will automatically open, asking the user for their consent again.\n\n##### cookieDomain\n\nType: `string`<br>\nDefault: the [top most domain][top-domain] and all sub domains\n\nThe domain the `tracking-preferences` cookie should be scoped to.\n\n##### cookieExpires\n\nType: `number`<br>\nDefault: 365\n\nThe number of dates until the `tracking-preferences` cookie should expire.\n\n##### bannerContent\n\nType: `PropTypes.node`\n\nThe consent of the consent banner.\n\n##### bannerSubContent\n\nType: `PropTypes.node`\n\nThe call to action under the content in the consent banner.\n\n##### bannerActionsBlock\n\nType: `function(object) | boolean`\n\nThe flag or function to render the actions block. If `true` value is passed - will render the default buttons block with `Accept all` and `Deny all` (required for the GDPR compliance). if the function is passed - will render the passed function into a actions block placeholder.\n\nFunction props:\n\n- `acceptAll: () => void` - accept all cookies and close the banner\n- `denyAll: () => void` - deny all cookies and close the banner\n- `changePreferences: () => void` - open the dialog\n\n##### bannerTextColor\n\nType: `string`<br>\nDefault: `#fff`\n\nThe color of the consent banner text.\n\n##### bannerBackgroundColor\n\nType: `string`<br>\nDefault: `#1f4160`\n\nThe color of the consent banner background.\n\n##### bannerHideCloseButton\n\nType: `boolean`<br>\nDefault: `false`\n\nHide the close button of the consent banner.\n\n##### bannerAsModal\n\nType: `boolean`<br>\nDefault: `false`\n\nShow the consent banner as a modal, blocking the interaction while it is not accepted/rejected.\n\n##### preferencesDialogTitle\n\nType: `PropTypes.node`<br>\nDefault: `Website Data Collection Preferences`\n\nThe title of the preferences dialog.\n\n##### preferencesDialogContent\n\nType: `PropTypes.node`\n\nThe top descriptive content of the preferences dialog.\n\n##### cancelDialogTitle\n\nType: `PropTypes.node`<br>\nDefault: `Are you sure you want to cancel?`\n\nThe title of the cancel dialog.\n\n##### cancelDialogContent\n\nType: `PropTypes.node`\n\nThe content of the cancel dialog.\n\n##### customCategories\n\nType: `PropTypes.object`<br>\nDefault: `undefined`\n\nAn object representing custom consent categories - mapping custom categories to Segment integrations, i.e:\n\n```javascript\nconst customCategories = {\n  'New Category': {\n    purpose: 'A new consent category to capture more granular consent groupings',\n    integrations: ['Google Adwords (Classic)', 'Amplitude', 'Slack']\n  }\n}\n```\n\nThe values for `integrations` should be an integration's creationName (`integration.creationName`). You can find examples of that by going to `https://cdn.segment.com/v1/projects/<writeKey>/integrations`\n\n#### Example\n\n```javascript\nimport React from 'react'\nimport { ConsentManager, openConsentManager } from '@segment/consent-manager'\nimport inEU from '@segment/in-eu'\n\nexport default function() {\n  const bannerContent = (\n    <span>\n      We use cookies (and other similar technologies) to collect data to improve your experience on\n      our site. By using our website, you’re agreeing to the collection of data as described in our{' '}\n      <a href=\"/docs/legal/website-data-collection-policy/\" target=\"_blank\">\n        Website Data Collection Policy\n      </a>\n      .\n    </span>\n  )\n  const bannerSubContent = 'You can change your preferences at any time.'\n  const preferencesDialogTitle = 'Website Data Collection Preferences'\n  const preferencesDialogContent =\n    'We use data collected by cookies and JavaScript libraries to improve your browsing experience, analyze site traffic, deliver personalized advertisements, and increase the overall performance of our site.'\n  const cancelDialogTitle = 'Are you sure you want to cancel?'\n  const cancelDialogContent =\n    'Your preferences have not been saved. By continuing to use our website, you՚re agreeing to our Website Data Collection Policy.'\n\n  return (\n    <div>\n      <ConsentManager\n        writeKey=\"<your-segment-write-key>\"\n        shouldRequireConsent={inEU}\n        bannerContent={bannerContent}\n        bannerSubContent={bannerSubContent}\n        preferencesDialogTitle={preferencesDialogTitle}\n        preferencesDialogContent={preferencesDialogContent}\n        cancelDialogTitle={cancelDialogTitle}\n        cancelDialogContent={cancelDialogContent}\n      />\n\n      <button type=\"button\" onClick={openConsentManager}>\n        Website Data Collection Preferences\n      </button>\n    </div>\n  )\n}\n```\n\n##### cdnHost\n\nType: `string`<br>\nDefault: `cdn.segment.com`\n\nThe CDN to fetch list of integrations from\n\n### ConsentManagerBuilder\n\nThe `ConsentManagerBuilder` React component is a low level render props component for building your own consent manager UI. It abstracts away all the logic for fetching destinations, checking/saving consent and loading analytics.js.\n\n#### Props\n\n##### children\n\nType: `function`\n\nThe render props function that returns your UI.\n\n##### writeKey\n\nType: `string`\n\nThe write key analytics.js should be loaded with.\n\n##### otherWriteKeys\n\nType: `array<string>`<br>\nDefault: `[]`\n\nOther write keys that you want to load destination information for. This is useful for including your server-side destinations in the consent manager, so that you can easily apply the user's tracking preferences to your server-side analytics too. _No data will be sent to these write keys._\n\n##### shouldRequireConsent\n\nType: `function`<br>\nDefault: `() => true`\n\nCallback function that determines if consent is required before tracking can begin. Return `true` to show the consent banner and wait for consent (if no consent has been given yet). Return `false` to not show the consent banner and start tracking immediately (unless the user has opted out). The function can return a `Promise` that resolves to a boolean.\n\n##### initialPreferences\n\nType: `object`<br>\nDefault: `{}`\n\nThe initial value of the preferences. By default it should be an object map of `{destinationId: true|false}`. If you're using [mapCustomPreferences][] it should be an object map of your custom preferences' default values.\n\n##### defaultDestinationBehavior\n\nType: `string`<br>\nDefault: 'disable'\n\nDetermines how newly detected destinations are treated when the user already has a cookie set on their browser. This will be relevent when you've added a connected a new destination to any of the sources managed by Consent Manager.\n\nOptions:\n\n- `disable` (default) - Newly detected destinations are by default, disabled.\n- `enable` - Newly detected destinations are by default, enabled.\n- `imply` - Newly detected destinations are by default, enabled or disabled, depending on the user's consent to the consent group that the new destination belongs to.\n  - For example, if a user has already consented to the \"marketingAndAnalytics\" category, and we detect a new destination with category \"Analytics\", that destination will be enabled.\n\nThis setting will also also affect replays to new destinations. Only `disable` and `enable` will apply to these replays. Setting `defaultDestinationBehavior` to `imply` here will be interpreted as `enable` during a replay.\n\n##### mapCustomPreferences\n\nType: `function`<br>\nDefault: `undefined`\n\nCallback function allows you to use a custom preferences format (e.g: categories) instead of the default destination based one. The function gets called during the consent saving process and gets passed `(destinations, preferences)`. The function should return `{destinationPreferences, customPreferences}` where `destinationPreferences` is your custom preferences mapped to the destinations format (`{destiantionId: true|false}`) and `customPreferences` is your custom preferences if you changed them in the callback (optional).\n\n##### cookieDomain\n\nType: `string`<br>\nDefault: the [top most domain][top-domain] and all sub domains\n\nThe domain the `tracking-preferences` cookie should be scoped to.\n\n##### cookieName\n\nType: `string`<br>\nDefault: `tracking-preferences`\n\nThe cookie name that should be used to store tracking preferences cookie\n\n#### cookieExpires\n\nType: `number`<br>\nDefault: 365\n\nThe number of dates until the `tracking-preferences` cookie should expire.\n\n#### Render Props\n\n##### destinations\n\nType: `array<object>`<br>\nDefault: `[]`\n\nDestinations enabled for the provided write keys. Each destination contains these properties:\n\n```\n{\n  id,\n  name,\n  description,\n  website,\n  category\n}\n```\n\n##### newDestinations\n\nType: `array<object>`<br>\nDefault: `[]`\n\nNew destinations that have been enabled since the user last gave consent.\n\n##### preferences\n\nType: `object`<br>\nDefault: `{}`\n\nThe current preferences in state. By default if should be in the format of `{destinationId: true|false}`, but if you're using [mapCustomPreferences][] the object map can be in any format you want. _Note: this isn't the saved preferences._\n\n##### destinationPreferences\n\nType: `object`<br>\nDefault: `{}`\n\nThe current _destination specific_ preferences, i.e. `{Amplitude: true}`.\n\n##### havePreferencesChanged\n\nType: `boolean`<br>\nDefault: `false`\n\nA boolean value representing whether or not the user has changed their preferences since opening the preferences modal. Will be set to `true` if the user interacts with the preferences modal by selecting \"Yes\" or \"No\" on any of the consent categories.\n\nThis is used to not reload the page if no preferences have changed, as to not create a disruptive user experience.\n\n##### isConsentRequired\n\nType: `boolean`<br>\nDefault: `true`\n\nThe result of [shouldRequireConsent][].\n\n##### workspaceAddedNewDestinations\n\nType: `boolean`<br>\nDefault: `false`\n\nA boolean value representing whether or not there have been new destinations connected to the source(s) managed by Consent Manager, compared to the destinations set on the existing cookie.\n\n##### setPreferences\n\nType: `function(object|boolean)`\n\nSets a preference to a new value in state. By default it takes an object map in the format of `{destinationId: true|false}`, but if you're using [mapCustomPreferences][] the object map can be in any format you want. It behaves like `setState()` in that you can set one or more preferences at a time and they get merged with what's currently in state. You can also pass a boolean to set all destination preferences to `true` or `false` (you shouldn't do this if you're using [mapCustomPreferences][]).\n\n##### resetPreferences\n\nType: `function`\n\nResets the [preferences][] state to the value saved in the cookie. Useful for resetting the state when the preferences dialog is closed without saving for example.\n\n##### saveConsent\n\nType: `function(object|boolean)`\n\nSaves the preferences currently in state to a cookie called `tracking-preferences`, triggers an identify call with `destinationTrackingPreferences` and `customTrackingPreferences` traits and then reloads analytics.js using the new preferences. It can also be passed preferences like [setPreferences][] to do a final update before saving.\n\n#### Example\n\nFor a more detailed/advanced example, checkout the [ConsentManager implementation][].\n\n```javascript\nimport React from 'react'\nimport { ConsentManagerBuilder } from '@segment/consent-manager'\n\nexport default function() {\n  return (\n    <ConsentManagerBuilder writeKey=\"<your-segment-write-key>\">\n      {({ destinations, preferences, setPreferences, saveConsent }) => (\n        <div>\n          <h2>Tracking tools</h2>\n          <ul>\n            {destinations.map(destination => (\n              <li key={destination.id}>\n                <label>\n                  <input\n                    type=\"checkbox\"\n                    checked={Boolean(preferences[destination.id])}\n                    onChange={() =>\n                      setPreferences({\n                        [destination.id]: !preferences[destination.id]\n                      })\n                    }\n                  />\n                  {destination.name}\n                </label>\n              </li>\n            ))}\n          </ul>\n\n          <button type=\"button\" onClick={() => saveConsent()}>\n            Save\n          </button>\n          <button type=\"button\" onClick={() => saveConsent(true)}>\n            Allow all\n          </button>\n          <button type=\"button\" onClick={() => saveConsent(false)}>\n            Deny all\n          </button>\n        </div>\n      )}\n    </ConsentManagerBuilder>\n  )\n}\n```\n\n##### cdnHost\n\nType: `string`<br>\nDefault: `cdn.segment.com`\n\nThe CDN to fetch list of integrations from\n\n### Utility functions\n\n- `openConsentManager()` - Opens the [ConsentManager][] preferences dialog.\n- `doNotTrack()` - Returns the user's Do Not Track preference (normalises the cross browser API differences). Returns `true`, `false` or `null` (no preference specified).\n\n## Development\n\nTo run our storybook locally, simply do:\n\n```\nyarn dev\n```\n\nand the storybook should be opened in your browser. We recommend adding a new story for new features, and testing against existing stories when making bug fixes.\n\n### Publishing New Version\n\nThis package follows semantic versioning. To publish a new version:\n\n```\nnpm version <new-version>\nnpm publish\n```\n\n## License\n\nconsent-manager is released under the MIT license.\n\nCopyright © 2018, Segment.io, Inc.\n\n[analytics.js snippet]: https://segment.com/docs/sources/website/analytics.js/quickstart/#step-1-copy-the-snippet\n[preact]: https://preactjs.com\n[currentscript]: https://caniuse.com/#feat=document-currentscript\n[ineu]: https://github.com/segmentio/in-eu\n[consentmanager]: #consentmanager\n[consentmanagerbuilder]: #consentmanagerbuilder\n[top-domain]: https://github.com/segmentio/top-domain\n[mapcustompreferences]: #mapcustompreferences\n[shouldrequireconsent]: #shouldrequireconsent-1\n[preferences]: #preferences\n[setpreferences]: #setpreferences\n[consentmanager implementation]: src/consent-manager\n[css selector]: https://developer.mozilla.org/en-US/docs/Web/API/Document/querySelector\n","readmeFilename":"README.md"}