{"_id":"@thirtymadison/quiz-ui","_rev":"45-b7d284e732858199386fd2a6e07d0cd6","name":"@thirtymadison/quiz-ui","dist-tags":{"latest":"1.2.3","next":"1.2.4-13"},"versions":{"0.1.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.1.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-actions":"^5.3.19","@storybook/addon-links":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/react":"^16.9.35","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","react-final-form":"^6.5.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"d604d51c26ec2411808a14f6f6b854489eed4d26","_id":"@thirtymadison/quiz-ui@0.1.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-+LEvxX/xo8ZM3wfeoblWuSlbjwhbFgD1aUB5hhDhJxZ1uQY+6HYDstQnFQ/B5UPV1wc3B5L45dC3L68fw9/zWA==","shasum":"2881e5e6fbea6e7c7f8c3e8549c4e7388f0659e5","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.1.0.tgz","fileCount":237,"unpackedSize":803769,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe9lSRCRA9TVsSAnZWagAALGkP/2w6wBWCKwWemLbMyRPp\nYCT87ecmf0LyV4o3oWVqUGF1QMblvaIMZvYXbmqSx7cbzAzIBRHnGh5JVZ9l\n3QhvmeeG9/Up4o+IIRGp7ckQvP6N6uPPxopgJN0Vbu2JYIdmoRsYV43t4dv8\n/1iv3HlcgG7YWoOPLMhIN2q2I2nGVnPBQhv8Zc9Bu/MMy5mCDUOG/6RSsxsh\nt2HuJ+07uahK0er3tpwAwS7hAMQmcJdXmqHQFHkPMLUW+84euhPx2sf69zad\nMABshOS3QizMQs3IUmG/5SBJwU/bzE+8IdTurAS0afLwMAvNizwV/qq/LlRv\nF989ulrJzh39UQb3QKySPBYsiZVcFH3ATa8oxulbqR2vpKCIxnIL+pJzZ93o\nkQPRtpn6XjPv+8MWtXv+dqJoWWY8bg5sDcsL7m1krDA7mj/rsZDuYIUs7LRw\nTrQdRKOl5uxCoPHEwfyS19sMzLZFKKUvcfVJM8fqk/WyohUOucUBbWvTyBhP\nK5450fomkC63AkGtu0a7Z2OQlWaPFjx10dGEROF5IF3iwlehet84uQqZDmhQ\nn+I8tLJEHhYGquFwTdO8HcIIUVCb+caxIsDdsOW0WnyvbiZLFdCaAiRW0FA9\nbiZ66Bmy/qMi6hN16hDR+CjUgaQfAL+ZWUWLwGcWPlULZENS8oD8Ue2HkLWh\n5K+9\r\n=5zVX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDvO3Ma05vgw1Bdc+xhc32FV9qybexsiWFFkWXyHMdxkgIhAJAF+bI7ibOkfvBVadpDHHA5mlA2alIKqFyxXxuoLez1"}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.1.0_1593201808681_0.9032955809019323"},"_hasShrinkwrap":false},"0.2.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.2.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-actions":"^5.3.19","@storybook/addon-links":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/react":"^16.9.35","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","react-final-form":"^6.5.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"57ef1b9aa187a56db6bfafe5073ed221f7fee173","_id":"@thirtymadison/quiz-ui@0.2.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-c5yHvILPUn/cwD/ATKIyBJWPRrPMd8gOAYYWRo303iXw5kCjwZR2xGwfhSPk8GQIJ1zQAW+G9AdoVuPnifBr2Q==","shasum":"50b687fbd048eb382f9c3ecc4aa8672eaae64c56","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.2.0.tgz","fileCount":232,"unpackedSize":785098,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe/L1nCRA9TVsSAnZWagAAnZoP/3UHkZHKzzcf6UNqpEmD\n/ldoCsuJ8t/0qpHEM1NMule/ooKmZhGcpwORx1nxLdh7IeGLRsRbMo5HCcOM\nY8bdnxG2lNw/9k2+zMn0alkPANSpL0e+XVkf1+g3ONnLLELSuC78s3rWtU88\nCm51lSou0kqmpQT0ZW5UA16Vfe9YuQtj09YknNA/UD+9mdFG0aIs/kEYcCYr\nnLNkXxSyJjJvyyXmnP5FyzP3UgK2I/EJ/I0l7lDsoBK2ovMvo6Yq7KFKBA9W\nueGdt1LtYxSjMlF6R8w8EOGC1MAA9afKT/mbDJYXZvukHcwWT36CAsXudGCA\nGYwfcap7Oprz7gVugRArzymWC7+hp1p/KvFzrh5FyCkl5IXYUae6aBwBM1ez\nBsIUJJx5jRFoOYwQwwgQjU3gwZlMUy6lsUbLIEOUVfbjt2c0brNhd8sMouas\n1HBWwiHSNO6szooTsJfZ6FLTd6h9BwcHSaLYrHGhw+nVbIotxTtvvFg1O/oV\n6UkxwTQcVBPE/yA7kCQZixN8YdoiNllrftb8DYI+6OZuCmbn94Zjd+i442Kd\nWOBBzkAWsCTa/eJkg7lE9/QrxBcfskByZJ1RNY45Vy8FqRmnexn8WoTDYjZf\nqh8XgOQ0mwcRukPK/aTY6zUYGuyKnPT7tDuXhTfV6PBop9sfCOonBSmWi7+Z\nV21A\r\n=YQ3I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID6TLeOwp+7vWu56S1AtI1aK+f3DpkOvNjRijlxCeYPPAiB40sozluelCC5zSUsIIi1jiUUt3n4zrLixl4jCmVJFJQ=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.2.0_1593621862688_0.4592432579357746"},"_hasShrinkwrap":false},"0.3.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.3.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-actions":"^5.3.19","@storybook/addon-links":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/react":"^16.9.35","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","react-final-form":"^6.5.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"8d23a032ca9bc0224f960dfef54489166323cba6","_id":"@thirtymadison/quiz-ui@0.3.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-7q948gUuKrVcsmrVpfWpkE66hDOrSM5UpNycoaAZec1L6aC/NQleoUeKFYeFfHz4m8M+/3R0ZsXxA3HbL58NnA==","shasum":"2f7f42c10a05b97d80773341fac403908327f51c","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.3.0.tgz","fileCount":232,"unpackedSize":787919,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfAyuXCRA9TVsSAnZWagAAVm4P/RpMGCoQ2wurbtqRad9d\nt8rs8JGfFl7v2NgHPF/ALBxU3SLdrDluv2cnXim7KWeDpUM1rt5GhKWuV2O/\nALOEEvrp1rvjMBlL3aMGZA3Xses/p9J+fybdeHTVEzzjrySglJ1ebEwPqWGc\nxWyGbxU9AS77I+opVl8xngc//nH45Q4gV3q+IAC0lcFCy75wvSHexegOlsI+\n8dveEVz0+YdabSGy5bHGB0ccKXM7HdXXYT2S8cesO1u1QpRSe3yod3uphCav\nz1Q2oOumrgQnvDzyNPgoVzhuj4eVQcNMCqL4sfOx1Cd8nZvjmQDkEty/jjXm\npcY3Zn8uLwSa55oiRU0Wa7g0rP5tQCZyq3AJyihUt2iHkMKc97X/Jck+8XT7\n4orXTvm/jill0h5yxCI6Kva59lSxBjbE6PK6f471YUx0h0XSeean85GHNrDS\neesJEzWa669J2VNooVslkQGpQpWvx+51Uyc8dEqdbVCMj+gNGyPInYLqK2O4\nsUx/YPd8rGbtU6Ta8rZfzcoD6rs34YnfVcSgCYlCRXFXwU1joroQxcOcXBfh\n8Xug9zzNV6u7+tvd84YEb2+qm6lEA6n0Ladq2NmuTnouy9H0se6cNsLhef8z\n7q0aq0738h5QAlETDNLPHNhJp3+TpHvZo/AN6tgfkUc9RdQPYmrnygz7Mz8n\nLaSb\r\n=tdxX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFWl8ueCYK54rEC+p7x7f54Qq9eRMNJWDqa0X7lxgcWuAiBDO+l0TcNGVgbu+Zlnvml2Y8SrfKtiPUft7UXJc/TCtA=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.3.0_1594043286871_0.3609672189456212"},"_hasShrinkwrap":false},"0.4.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.4.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-actions":"^5.3.19","@storybook/addon-links":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"90a1bc596c9a490db837005bfb30ce980a4b3957","_id":"@thirtymadison/quiz-ui@0.4.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-cD1M3kL8NuXierB9voN4LzCHRrxL1E1Bsrdi4jFYfbp46IwjnsTwkvj/VhdkpnioVnZbA3qpDUUnX/mIK8nkdg==","shasum":"b6551c57866fcb22b10ec6ca30e8935ea5082dd2","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.4.0.tgz","fileCount":252,"unpackedSize":811817,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfBhj0CRA9TVsSAnZWagAAtlcP/iZjgIe8Jb4CvgjawG1o\nt2n9dr9cBLenBki04OWecpbwS1wYvz0c9YZb1z5PXwlq4SgGEChLmMExnlnL\nagvsQg0IIny6AV4c54itNUiFoaIFfEL+qsbtkYwFyPRNeq6B4pYyHdb6eqvX\nSRnHYor0EOCkmlvOBeGzKyhPz/uh95Qbbk4XRfrrgVhsjrZH8AU775GoAbJy\n6U7qhRnCVIAg2/s7Sfnn1V31RObBJ8VwILER6Jq655/6FsYuJ10gqBmQ5/Sc\nFl6npTFpBRD4ZDCXvKeFW6gdRsdUPj7boRFh/mVccgd5h8/WiT1FKcuF/SzK\nO9GRJU/fm9GZfcM/uecZ6Q/WPUWN4GJ2AG8Q45wM4NlwNRjyfmdJsnqCWvVC\n0Rq3Jvftv0fdjEqHvhFea2iTJwJaqpv1BtXDh8PsVlJ37MkAkac1K/DhkeDN\nf9ldf59sGzb6M3gjV/bWxoX3zwTPRwfevvdRcV6OkoSHVERYsawDGC+D6EPm\nFh8/rwRH31uwkfPqZArnBrnVmmNdz2IGKlVC/S7qeLvIoE/Tc6FZF091VU3X\njUPV770UsUacfAdqH6g9oKWE/oz85yhrzp2oBezX5foe4BRs2cb6ve3x8T1T\nsNn63mAxIDriAv0LJqkPt03j2bX2c9olHDcaoXMeAo/U+MNBzKZvRV8AHpft\nRLfl\r\n=HfgU\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCLleX5bWV75xfpR6vYaw+2bBMlcCEEkaFg8pvHHo1z3QIhAIeZ+VB97hxtff38m1PvA1b7oI9pk8m0176Arnr7+Lq/"}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.4.0_1594235123479_0.8453323550587184"},"_hasShrinkwrap":false},"0.5.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.5.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/lodash.merge":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","lodash.merge":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"19e6d13e936638f8eb5344391aa7e490c65d2395","_id":"@thirtymadison/quiz-ui@0.5.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-DiimENTsU6shqTdvVSVL+bQnEg90yQMmOQEuoum/UG7XO5efumgZGr1ziA3DUiR1Je/BVfhYT4Cvp+/bfiLVIA==","shasum":"2d7dcec3ca9781e3b4ed7484194bf0588542acb5","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.5.0.tgz","fileCount":252,"unpackedSize":819106,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDbfPCRA9TVsSAnZWagAAaR0P/2git9Vnl2hHa2/XplnM\nkQ8OU0aSeY7wRbqM6WpofEuBOlPmOuyKTHFbkO89kk1BfWD++jBg7bNVy1La\n1dtDbe438kGt7Q3YRW1RB8bM46FWC1jgSiOMbXvJZs2OfATb8Sc97DhGs8HM\n3podOQJjeKofk6kCBjYxeh7yHfKRFdM5aYs5TIzJPCYwxZHIOoG3KJQ4fHpG\nSZk2MKmrK5Ia4ENkl0BaI70dnxfg6c8XWn9nnxfB6NEKg8wBUmK0g1MiSn6y\ngX9fdYsHjEqCz7EqsfiyoPaIoaHMNJkIjTD0sUilaE8MLpcWWE3ix80n61cV\n1yuLVapuBdvoYpxwhvXEbPFXrxtBJcyqLSWAzHmxq9kSbKG2vFa3Q8Q8QA0P\nGFurlJ8pUKVYbabDi/EYpHIOPtTPqRjZE87AKoHXNlO0/Msbs3xRQ+9tzM9M\nhtKl4UTXjROIuyljAApzXuh3Q6UX2g4Okj8K8TWTht36fvkE3jMpW7E71Idi\nEeoz/Ruh2L+VOrDlfOD2pI3ljQWfdFGyriNx3vdZBiNwu+qndkMa92eIyyTR\ngdgtgWnLvgJbPzPF1XjJLmH00cptoeCj/YECs91POVVZ9h5RMzjkec5QNz7J\nt7+yrOpdZcSdGx8YUKkmdbmDwcwco4QSQcrDFtwU51QtrOsxBmcFKchvuN7v\ned4n\r\n=35Sd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBzk5MHvLAOgGccqt96nszX6uyvQJ4DWlQ/w8I+3gFzgAiEAlt+LWPXtJD82aVZrFM3XVXz5daMWcEm6dJ2jxsTqzIk="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.5.0_1594734543350_0.24268065849977805"},"_hasShrinkwrap":false},"0.6.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.6.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/lodash.merge":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","lodash.merge":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"c43ccdedc96ca31f6c07a3d48873f9b8bfe8fa47","_id":"@thirtymadison/quiz-ui@0.6.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-xHOE2nBAAcKkTRsj2XaHifubSmCA6AMNWDrLrc5gw7P3ctTzZqnqVM0eMrRph9iv7SmOCAnNkUshYxC73T2hwg==","shasum":"c7310b5c189159a0a14a8e9314e8a5d0c3e7970a","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.6.0.tgz","fileCount":252,"unpackedSize":821193,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfDkIwCRA9TVsSAnZWagAACX8P/iiZMUFBjL3bBi1nG7k9\nKlr5hHsFdLFsOqF8Ad2VRnkZXHvYiVqH0Nc9ULtieDR3icJ1j6GZHfQHsgFc\nUw65EuMe17NZH5o7yhEnEKO1QYA4VxAYSZiL6tkxpmcGT61ZPyyPPtR5VOFg\nXBy2wVj1yG77p1Ey3h9/fYAHO/tvOH/zUZjmlHEja/O9mB0uCBzhWbLBqnpq\nSjEFLVrwQeKU6yxue4I5l25Fgn1MMtnXUfzH/8JzVSjsmvfuXcIakiC7+0El\n4C0Fq8tqxgpk2u6hYlp9EwptQDsIPXk65ZJzQcnDOGSgtp9Y+WCak20UfFXM\nnCMyEgshejKTHcAYxljJjeW9FO3eE8mqZsPVrsggeKOqRONi075mnsVFNhI2\nA8a5erbdUvAH4AxLene+tbN6BoUX8c5JJ6VQFfcjEk5q/M03M5uSjRO1SAg7\njjr0SsYb8W2Xqi6EHRxb827nJ7byaF9/O4kt9Grj46JKOJNjVlkQIvaTKfC8\nsGloR2y1T8OMyXuasob6h09/ccJrWQsV6hMYw/k5mB0P6ENDCr3ODf8sXzqf\n/H4ZL9acc8uSKvs9tD2cAxdtr1fX/wlXMDflVR6HitzK9hWHEAa1bLh2iaLf\n3uUQNx6NqN8KO2CJVsm6inUDJ3ToRQv8UX8jOChB1Xm7fuRil+mF+ewqo6VF\njMMk\r\n=xFNC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAmJLMJk8fikSD+icQlWKanuFKuYXXeIuVCjv50LplznAiAoJr0RMllMNgTLb35COLKbRKuWEDilA7nZUjbSmL41Tw=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.6.0_1594769967605_0.1346539282259751"},"_hasShrinkwrap":false},"0.7.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.7.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm --declaration","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"15a0c64638e3f89e4ba6b8f18ad404c965a84fd4","_id":"@thirtymadison/quiz-ui@0.7.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-8gtCcrOwwfxGa5ZOMzIHMP1fGr3mASTLjqyfH3P1XLTEjEdSf2EMmLW4zIhX8T2Mhw4NG9eeGwDNPoQYeR5i7w==","shasum":"451f22a174ac241808c7a7f97b9ece3aa4d0b0c7","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.7.0.tgz","fileCount":252,"unpackedSize":830267,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfEM/5CRA9TVsSAnZWagAAd7EP/25EGzZrlNqkaj/XWLod\nnPQmeiMhA/qq5J0izwctAo25y/wya7Ef/RF117+RgeayoISnKnGLX0NkZr4u\n0cyOeAOBsgSTI/H/pX8RRsSFp8uMZRDJ5oNbsdl32q4GVCNU33lLFfQSlVri\nMPbQadJdaE8W8RdELXYnuSqqgTKpSwrIoZnBFvfflS3ezhvfX5Do6z6ZuqqL\njBmn4J69RyHFEvOUr+KjIXxMr29rMHmsRIBiPZTIQW52WR5NLLuDEQOvKleX\nXksKgvFSYK+c+6bXVKaodVzEUtyWfVFzpvzM1tfeKHbkcUvtuD7pQI5IV1Cd\nuuzpzw6hKCbRtRPyF+tPboP7B5Lh1InG1DSrSnO42PbGaJVu/iWcpJxW+GA4\ny0+L2QYZ+hqNql3jGZG4z8GAYOaey1efzI0OhNpiBT/Wricd/dNCycTtqK+w\nf1GYarjJcZy8hWUyjNyO96r9c0qiG7XC1Sv2Y7S9ysGfDgKy+v/Y3vnSRmCV\n8pLjlid6yPgaR7aOQh9HZ/kpoZW+c6Zdvf8Aa+klPomfNDqcBY1gOu/NMkb9\nYIYkXRzJ1pWapUCnhrylJejyTWv4/HPaVI1EZfGtw+g9K0c0lyczAV37k23h\nDTMPVMd1Nq7vDpoFPiOQ47d6FFB4rgCcRbfGQtuVLJzfROvHrkdLEoPwAjox\nW0/o\r\n=1NuN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsW5R9JNORGxY+vYOegV1exnPLszzUrof390LC+JGu7wIgCbM0CCgrBGVNvbUIz1ue+SSWK+ofkpkBCxpUb9v8Ry4="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.7.0_1594937337349_0.6598052625765314"},"_hasShrinkwrap":false},"0.8.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.8.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"04a1a395af42e64a1a05c178e3fd52a174e56ad5","_id":"@thirtymadison/quiz-ui@0.8.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-OHDp8lPhVT8F9wsaxY8W5F/VJMz4GaiHRl9sYOVZ01WkS1M8Pw1xh3o7dVjdTCgOttOymQ8pQ+Z5XlMYr9zKeg==","shasum":"e39955f9d3287b2e6b3a75d82eec9512226678a4","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.8.0.tgz","fileCount":210,"unpackedSize":668243,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfGZQkCRA9TVsSAnZWagAADhwP/jIJKlxfMxfWelq6afqs\nsLPk34kXNXV1hNEYP0TlTASOKDbcTCao1UsL26fRGIqn9pST9nnVJHKFYMcT\nT8lgzFpd4lxQiNoi8xi0NFCbj7t4iMlPSKjBV/EtN0Y14N06BJkCWCNNxwcb\nJ64jlNXsseBq2PDLRP4TVS/RNhHo/hGFW3iAzermQnzAPP759vlviAX5x5ay\nx8IJdRq/gB5W1b1BdHSvRXrJuX3Ziaz7wNzfpESmAuhSsxAZppY/tOaYYJIV\n+r5ELVGfQ2AxlRw2UmK/PxHPvdKTGdoj3TeyAtcceMi6hCDGP9N/AX1/nsXY\nkHQtssKux3cRzXrmJrcVX1Ty3Qq/FkHOVW7uJmdLHxxRmv5NZnbvn3qtZbk/\nPQ3cpyTBhLQB1WoV6Y443MPUoK1AA6pjuJO1UP8bdeq9IGCPLYwOXw2ey4GC\nEMWK/28O59XkzpNDct1y6BN3CiXwX25vWGDFAl/M0pDVGL+lPNJSHp1XdXzG\nhjLUjhOG6/V9n8wJ64yvhpX5ABHLpWgWKG1JHi1j29bCw8rNapXJ0bVI56pG\nl8XPS+eZy53ojFr75aNrop9o1AtWBrhbbZshuCHnFWPEr8aO3oCkrDGYRGUA\nA7qvDTq24pzCnV+DeVDbRC/NxcOxDfF0EJ/HJsk5hwyzm/yS445KDX20oVTq\ngOGm\r\n=JhYh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHFHbAbRXIYU3nToETID0DXHZitXuY3bLzEaWvuXdN0MAiAb8YFoStrCiQxm5uXEOzTeFtvnCLP6rUmb/9qoXZ6Jpw=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.8.0_1595511844217_0.24721662495832764"},"_hasShrinkwrap":false},"0.9.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.9.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"b2c7b9a0395188345d340fe550ecae8e154b08e8","_id":"@thirtymadison/quiz-ui@0.9.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-sEbWIie7j/Bwg0QKZkCVlCGuUT+yKBX96Sg16T7tWPX+TyP8kswrLqINoR09OMq3rdMaRy0ImCoM76ag8Ft0/A==","shasum":"ccb049e30ab6c07bfe89c8cc27f22a855a7485b4","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.9.0.tgz","fileCount":210,"unpackedSize":670559,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIE2HCRA9TVsSAnZWagAABAsP/0CSw4v1omc36O0QLHbO\nPqO8yjYS8tJjpqkghqE8Aa1DzYxOA37qWqwr+bI/HTMq9HjVFdBmJ6D7fFxn\nIXSMNp34BN3ctjCfmAsJdbUmLHU/oV7muid0HooQ3MHi5fONxvQ55+5ImTSo\nz2ybIt9eWTBNKVMeAmvWX3h0d88mdkR/5G+RdnrjfXmrCvF7O68M7zOE8Bj0\nxf8F+sCmiU6EB4DzUnR5KAcb2hCY8NGyh04VktmByaPvATmVRPT41gY2NCIp\n/oHSRvGDcHn6Wn24rlrXlPbnhdfo0sNeaiE7w/qNpQ3RxWcwtbBFPZugvZiI\n6GHVyhB6Tpde+fAoqNjTEbSmseJCckpI2EpWJkuo5rTggLb5sJEoS5RioMjc\naKMWSnd9KOEqQNiEkakxBroLtmq68U3H80AOQPIRhGP98DZDULDpHt+z+HHE\nfbKEP8hsGjPV6ARpUYisy6+uqHP9H/vOhyiHDf/vxurWN3JR9GgTOz/VT6zT\n2M0dDVqw1FrbqDwusP5LEjtaW1UsSGGDWYTe/u4nW7f/gBhV14mzjGJ6ZCTt\nMB+ROGbel+COoU3KQBkFbtkZZnyGy+eeT/E5EJEudsHdtYBNB5T1UmTsfQRw\n+VQ+wFJ5NkNnUGjRM4dCubYxl2LkFNSXd9MZaNRVSkRtVQ7HfKQ5sCTA11xq\n15N0\r\n=tnRK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBS9siv4vgfNY2ve3MS08IJMVfDA8Ny+rtVTmnt/CQOeAiAlSb7aBrYjC/7FTEe+6vymb7fw3uPk0sd493iItfrq/Q=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.9.0_1595952518401_0.8251727934334743"},"_hasShrinkwrap":false},"0.10.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.10.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"384ad0fb5fe57b6c2815ddd88eed1d29b8eb5871","_id":"@thirtymadison/quiz-ui@0.10.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-mJfg1y0//Bq3wSHcrjOvRBDmsvric1xJJqYjSpLT3mGc6V7e2xKsYZ8rXWBqHAlGtu7EM+h1vjQ7KVVUWIDzTg==","shasum":"53727bdf06de676cc5d16a222f40c5d3b8b6dab7","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.10.0.tgz","fileCount":210,"unpackedSize":671449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfRv/uCRA9TVsSAnZWagAAORoP/jIWATIWbqOZYYWC2Ghn\nF/GqobyitfEQJQaCpn5wvA6dRKo3WOiArbGj2yHU0exru4Gr/WuKBpAoCpRd\nFr9NFJ8ZHSV/Ta319RC8utM2P18H27KqqGSvhZAOQbuv3VjFHdW0EG9Zpg6y\nZudnGSUcYlg7ANPBfhN/VBlUvvHlIbCgYTTROokXyjqq0QjRUtuVzcBzQpgK\nxGggs2dOfyIbVFMFNP5pv48j8KEgpsCzMmSrif3d8ckck5aql+ZhvAvj36oy\nrZAqkim8e/KNheR/aSWwpYDw0v8FMDO9qtvTK1j5d5Ywemf8Bi3QZBhTuCox\nyUWHkXpe1pKBYophBZpeu3iyxBqjKgDCTABIMPaniH/qP58A0qdbWIkr4UJr\nxMStaKyeyxdJ1eoo7PjkgiqqUZ+Wnyldnkk6R5Q4VKRYJ/7bi5Agn/zir9jF\n5D+ODvk4O5LXjm5R8rSd1oeT/PCnq7UHhvhfRztaYg2iYZ8Ul27Cr4U+RjuG\nU6D96grQaiDKwI0nos+5wXfXJNdD4ogJGpEEXNeY5UuSh/0bJMonqWowTj/I\nvaZYXLdhw2flRmqAecCgkfX8Fd5+emOiCSq3kuXm0FC58DLsk0lsVxzUWPkz\nw1dvyUZSDc1CaZK1ar7kCDopCxJqKrK2xakvIkLO41HRQdgEKvUVo3WdCWbh\nTevJ\r\n=0swh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFuIng2uKhSH3e4nJD1gc9y73HZVLSXgc/YmONmJEuY2AiAGJkjGuHeQRRj2cRDk7VcMlyzqgZk88kMNK5BU6iLv+Q=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.10.0_1598488557743_0.326967095421292"},"_hasShrinkwrap":false},"0.10.1":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.10.1","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"2c542fffb81d95ec9c62af31f920fbf75c758279","_id":"@thirtymadison/quiz-ui@0.10.1","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-HAK8xQYn1Qtm9v5v4pIjong13XrS74SW08RZia8wR0sgVQg0z6uS9Bjv7eKUyaToO3qe2RVr4QuaKMNBfC/5yQ==","shasum":"cc91e169008ca92dda5706146ff818de319268b3","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.10.1.tgz","fileCount":210,"unpackedSize":672597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfT/N+CRA9TVsSAnZWagAAc6QP/ipuLJ60t6MmcMfLn0T3\n0zddFe2fvU7gQ9JMLva+zaJe8AEfhukmQhUClGesBZq0ySCLjyRKjhe4cXhP\ny8Yrq1wAZ1Bqycuy6Qiprcqp876sgT3g2Tn8HHmLq/mDsR5r679yMZdXMpsp\n4Qt0ZbifbJWIwbcZvGqgW5WdN8ovPy/4XLSlTOqBzUp5F+9QSIXicHh2dmyb\n1yoM+quj9VuLOMuqEl4FcOYsY1eVgpPpKAq0iG5VqrPGnO1AuSSGKm9ycc5R\n5ySERUvK2vM0VEKVnTNObjN0rms6FGdFNOSCT0HYK92qi/wAEpRJS1tUqVYq\nT+y4FG2W8WzBKYmnMP0InM8fnegSJtrk37JCpznU2MbdRsuZLd0fiPZub6yV\nmQDAYHraTjbdnIYkyZ8F1kJRDFNj0K7STqH3tksc0NypWV6aPos5bE5pto+r\nMvu+t8wBC0xy+JPZN/OTfQEqFHQ+rQM8OIlugn1CMQeR8Z61OJv6H+h/5S7F\nrewnnhKOeTi0ajdBGY4D6MC7he07Ui73aVTsDwj2WTergJcE0n70FE4RRwTI\nGTw0FU5I12IyHoV58dYrBAXPUSsrowx1d63JM58tw/LiFDi+njk7kdo1TOpa\nUn1T9laflwpElSzn74pjJBhev1B3b504JRKi09HHZuNQ/RLvSCoroIJkd1VD\n0IvV\r\n=BrCb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIAXhqaX4Bg58FLiSo6Th0yyPxXZCWQp2INrfWEWN9hzdAiARG/wJhH2a8A+hP6Mc37yUTiQud0XVvxngaGEIbYPKZg=="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.10.1_1599075197543_0.1342320335568874"},"_hasShrinkwrap":false},"0.10.2":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"0.10.2","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"1698a796ad2625c4fde305675cce6a627e998b45","_id":"@thirtymadison/quiz-ui@0.10.2","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-X4Ply0Uv1WdI9XnKBreRCPhAGZXYtFN+pljngA9H6M7f9QHvm5AIhspVt/9+Ab1WLdEyEhw+W7OztVxe036reA==","shasum":"b203e3ec008bbc2a8b2ab8893b24e68f4154ef99","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-0.10.2.tgz","fileCount":210,"unpackedSize":671591,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc6CTCRA9TVsSAnZWagAASVQP/RuuFa23uoPyWV1BHiic\natfXQcSdlxRKKLO41vT5KHS6cdUE3Cv+rEvI9yHb0OjhWwBWpJhQ3PrxeDl3\ngPlqkIwpcJ8rYG6senMltgAxtoIuZU6dpry656y+Pc3VkZGMkvXfYB6yIdWZ\nYLYa9mwcE9ErZPnoeIYzM81cGS+c3X28/6fjcW3Ql0/ftoSNOe2ZupSzsYnP\nYQUZjSHhl789st2xeZ2OxgDHZQ7LQfH9F1ggZ5NSaY24RDirWBsGsu08w50J\nmnI0Y7041B2cirAqxVznDLRltBY2DWQHQsuIGcgRVQSaJfd2iJmXgDqzgvhU\nFlImT5/HwHdRa1YjJ4vIvC6eAsjD91cidsMt2wK1Gmfvw1tIhskWbnOwTEbs\nH3Rtc78KVtENxZyed/JJMKhELPHfcDKJI/bRNLlWHNAWH3Q8GOrfkECKOXg3\niI959SV0gQdBj1gPTaqNgk8uPwWULEn56BOMZiDad76FZNGQYQaluYatkEE9\n7c+bCz1kypLcacg5hbOUuRAQ+LlLUipQ96i8xpK/XwQFN7k8X9fvDMSsXjAf\nqHkSSCgWnGBj1idgJHbSi7TExiQBIeq3T1osnHfUN7/JqX2S70g66zQbDGuy\nEzZFLa0MUAjlNSVmJv9jTyAj5x+DbmGwHRIY+vd5Kt0Zv6lcLOo2PKR/mWiH\nUDtg\r\n=icq9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCt6hgIf/hbdS0vP8YWWJazmnNFxKCrWZCm6Bw6cb1ltwIge34thWlchSjH4kfo8DrGcJr5R0pyzMfYYUF3Q/vmMxE="}]},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_0.10.2_1601413266479_0.8167968968292088"},"_hasShrinkwrap":false},"1.0.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.0.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n","readmeFilename":"README.md","gitHead":"7de9b72aadb3c90d974c2ddcaf0abef7db036657","_id":"@thirtymadison/quiz-ui@1.0.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-Oy64Fq2NSvSO4OjSwjXIC7d/99dvrP9uO560mGc6Nrnpb71E8Y6WMhar+9iLbLCO854Q50jPXTiPP9ZGMiL1fA==","shasum":"52b308af8b96eabbb65f0e7524f639a0a3a98443","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.0.0.tgz","fileCount":243,"unpackedSize":732088,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfyS88CRA9TVsSAnZWagAA/I8QAJ9E+kRFdHMWDkp/2GjP\nbWSWwxeVw0NIColDFhitmzwuaQfn0hFaw+e599rj2VR/J7Lk0gGxp5507oUD\ny+lIOrFKZG5yfT48eBt1u9K/25V91liVsU/S8A15p+OSps9FV/tCGfIHYNMK\n11HGoWpQ++yX4tU/bVPQ7WAsrPBM1pHMraY3oqlYrNv28xMSqb6KNR2iSUR5\nu8iGXmlGgJOUT2hj/60eI97SvlTVu4+JblMr8xTBh4jop9vXoDrZP8UJFLfS\nVt1Z7xI+obECqTKX/p22hM0xA9fN87lFqVJHXHrEU2CBXRJ5T4EnEjUcbiEl\nlKjtT7pVyC7qblLi0v7XctloSUvJXQ6vSgKj5O9p0t1yxgNy60IdA4zv2/k9\n1PXFdPuZ+hGiKPAhH4p6LBTwlaY2XmEgc3O/Zn7Qig5/BrUzYQjhhA40HXzh\nUN7v45mKvx87dLrnQ42G+sqb2WPVcbKzKji3zfWkGtmh1uUB3ScrBdhSLoRa\nfRgfrRSLSOaD4ggLS7QkBSw6tNj8nTut5E1FjHDsyRVOoIpUbv93xTOsJDMK\n9WjGTxaQ8XXnWh2ZYzdTA54q4wSVcU55i57YZnh2VUaYo2u7Vj35v/5prGHN\ncXBvf+OYyPWWKrptttNNQ/BiUDsRpWLKm/AxStd2lCNvVyf5VJbdgYtIs0Tl\njXWy\r\n=wYVg\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHO1buG6+W0bFxrzVF5Mg46dm/7UV5FGiVn76BohHVe9AiAUzZSQ5N6rinw7e+YJatlouxzBeQlZcSorIAJCDXlDKQ=="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.0.0_1607020348316_0.5903667958654462"},"_hasShrinkwrap":false},"1.0.1":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.0.1","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"f00d0da4a06090993583afb4236f2a4e0068a654","_id":"@thirtymadison/quiz-ui@1.0.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-73g2biNcCtFCiF2525nkpuKIx2uvV/j4oo9iQW8DeuK9bZMHwgZ5p1C4k0zXked3JChDrg0qujdrHWTvPlkBLQ==","shasum":"34d520720f397f615f20cbe70f494ade7c8c53cf","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.0.1.tgz","fileCount":243,"unpackedSize":732399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf0iIGCRA9TVsSAnZWagAAAlkP/34WHZUJp+I0/Gxtx6Zx\nIVB6M8Blru1+fiWS2x7+XihO78nhi5ffTarIG+lNR31V4gqo18MbIEyJJ22P\n+2MnWi3B2OMZg7ST1NIyiClPwm2uHen9HCkb7baTPOLEvWwwPdenYO8vZ0QH\nSHu8zq4R01pSuJmZuOWrg+F4XUerelBNeGJ+zKh1ov1ORL9xWiw4B13RShDJ\niBwwGAMSi+F3aWmXJ6em+ENGwD/LM4B2RFvFM42dW9M31kobDDWMpAPVPJZO\nw42iOB4kIcwF001vnPUQYY1ReSFd1m8zJyOmQJisbbSPm1t3RConf103WA4v\nCh+Wvjnc7vNmedXOKIK4LHksWm6MFxbufOapy7g3oi1RMVONeB5QuV71oIO4\nhUeg3Fcde9lbJia5n1oUZLKrwD7b66KvnjMlHpnijtirzsBT5rX0FoEr88mM\nfHNu3Asvuer7pqQIWvohY2rS43RsG1efiR/QchCYTigW4PdSiaWe+xN2lxZX\nShk1xgE65IDZz+swOamB2okcJssxkWzTf6qw1URs8Q7KSSe1qplsHfISXQnA\n7TXAgiCFanAV+yt6b3hfyNLcdbiCMcS/qt1SuAnXbxa8x8Ay/0P9tsNmcYCv\nzsbk8c496TTyAJ1zlPpsNJUpjqAv+2rViTr2iKhnxcqR9ZvAOllZvrnOYWhu\ngdeN\r\n=hF3j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICII/SPQhtvZ9ywxHKkQBwD4PTT2HeaVCgV9FFIY3PhoAiEAmD2hUeA9LwrBBChAPsGqJX1ciuZRuP+BWeSgS0/uMTk="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.0.1_1607606789898_0.7340461473188853"},"_hasShrinkwrap":false},"1.0.2":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.0.2","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"79640817c4b3969c526d37e0952181df1926c1a8","_id":"@thirtymadison/quiz-ui@1.0.2","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-Bi+dfy0jGWucAdjZqTWakuoQ1a7jdRQuSneflU/2gX26A1ZK1nQI0ndWFfAaJj25AdE1ls/hRVtxHyeOz+rXMg==","shasum":"921e53c6a76abf5540c45932acb2128c37b08fbf","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.0.2.tgz","fileCount":243,"unpackedSize":734776,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf83lmCRA9TVsSAnZWagAAIP4QAIfUbUs1kUglIpfh1uGN\nkxZ5D15qwQTjFe+x0f35ikpLh+94z+pQ+RWw+5JLqc3BF4/dJ3IyCtwmPkO2\nYziMQlbZNLBVWuyHefXsYorb+75t9JGBa1sLyIuYOjLt8pB+YkcymX1a8DlG\ncAAg2O87Jdr/K2GIP1LsAlul5YA0aWX8cwmeiYjIs0D6UYV+WNjvNKbRpyzl\nK1MWNeTByXZd9trW1cuiVsTcCe611Xb2LNgF3XMc0oG5Ltet6zNKFjW6llRz\naQEBnvcU+GFTF1+rnNURaQeKv5HyLT/QFrPvj6DBoDm8lbb9t++MNLS55VmY\nAtZf2201X3QhpNXBY14hirz9ON75EfboQp7DNohPZ0Mdfrl4eyySCLXj3Abn\nIUvcqnoadI2w0OYD/Gi6y2HWbmkWL/J2fqA4w7H7uQf0H9RMNhp9dwXCMBBj\nVxPVnRXVwgd0EwsGVbMWLFKeouhT+Pz0uorAFx6slOjJYbFiT6k1J9lYbWqM\n4EyPMQJwVS1IiA4nngJfvU0oWTE5uDf9lW6khY/V47jtoKyyxlQUVWE1dKIy\ncEpJbO74GyYWB+wBTQ8r7MPAIRIcUtz46EET7RuGBnBn74VR0XsTRTJVlCxS\n+o42Cwu9XwShB6fTQEoeKhsFHE4bRbdj2+P5zjrH2JkHVouUPR5drueNoX/R\nB++O\r\n=fVQF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAq0bL+8+2hOHzzMoQHvNb2ajWDQT2BTlmv9sxcV4YsNAiEA2NN08xk0g7BVKe0K/5jT3vEsRks+L5/bnBIP6a+YvA0="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.0.2_1609791845764_0.38542344706659315"},"_hasShrinkwrap":false},"1.1.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.1.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"f015b24ee2aa77747567caedaba345280df2334f","_id":"@thirtymadison/quiz-ui@1.1.0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-cHyAp9UVUo6rV2KdOuCu/9Fbu6mD+/+LsV1MmJ1obbP/Pos4IwVtSQYHgaAmtQPg62jep+0TUD5W1NSSXOeNlw==","shasum":"b8cbde0973b3d5205bbc3b837bb3da1822ee1a6d","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.1.0.tgz","fileCount":243,"unpackedSize":735659,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJf9PdgCRA9TVsSAnZWagAAkuEP/iKe2WGc8Z/IvWdk4BT4\ntAvl4/Vw1RmBqSfJ6ufBEkshLM60V4KibqcD5rqBaDXmjzaesk6EYIoSQYJ+\nSRCM/gU4PxMwOHDFIWHK1UKLSyxBJC72HSHABEOit9l8PVG7gaRzGLT6Omc1\nTOEK7CHjE1MC1/jthYh/pzcDLXQ/P/NhDpCPQ6s096pmZQUyo6hBbyIH+HVw\nSlAjAFyThhTA243taY440RFFyYH3lVna6mhMlcBICxnLybP5OPWtVfzUkLY5\nvhBDeLr06riSHxK7CP/CBhGCxggfagH39LtXSJwdM6wUuE8L+ZrNhl4Ui23c\n7SbqTIEzI8SQfzMNgi7F3gU+ETbI/wV6hypL5uh58hpKu2Uue2AOVvMzRfJB\nYaTAuEcEYf3Yk0fixsxuI1FT2bottME482xcPVmwUsQsoiHOR1e8/8PEl0HS\nleWSd/dnzh/FRm3QpZSo3D40yV0PhhYUWF8HX8g6R/XvrGgmFUEvGg6zeJu1\nKx1LAgefUfOVIZk/Zu88/6X/d/72wWWQgLofxVr5pzeN4GA8eHgaSG5HbuW1\nPe5hZR7/fuMiigVCYTucLUcm3D5565YysQNcH2Yr/0g5IxLmwzr8E5OtM258\nK2Z1q8iIXyZC8fSr/C5PcP+i55f/g98r5d2jftcBLwMD+LuZfmxyeW56CMK4\n/fDG\r\n=cuxh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDUt2fhm6jmKiWLMIQERGdJubPwS03w4ifGJTNQcQ25PwIhAOFzEcia4XzB88Rkyxq6iLyYV6Yo6u5Yjzwyz457tVM4"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.1.0_1609889631833_0.9454202649691683"},"_hasShrinkwrap":false},"1.2.0-0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.0-0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n","readmeFilename":"README.md","gitHead":"1826ce03bd18d057d9f142d16f0a4733273a22c4","_id":"@thirtymadison/quiz-ui@1.2.0-0","_nodeVersion":"13.8.0","_npmVersion":"6.13.6","dist":{"integrity":"sha512-e3lCweOruEeaPjITFPykMfEziqeLUwFeH5MdIjT/1HutqqnMWHT6Iyjb+jR6lH5DP3B/Hbp4jszz5ewsbTZWzA==","shasum":"90b56370bafc2864a719f2192359686e38f77572","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.0-0.tgz","fileCount":243,"unpackedSize":738509,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgDkffCRA9TVsSAnZWagAAB50P/3EXW1t/ay/6IM0tyNTV\nsYbf7CO6yNZ3WwZgbbmAlKdY/gDJzdG9Xw+9yXjZyinzRTzM20P67m2Rd+Nq\n1sVGSyOwJ+CchRlrEReN/O4HzjdqpwBoZyb16HjEUgGFdklpD+MXOdJEjKwi\n1wec5gXus7NuQgJnu3Qqg0wmMAYh44kMBvniv1BzDogKTsVUYrQGro1bvS0i\ngvvYo3L6JBMkF6BR3o1zwWFkwGDnCpX1w+37qBDy3oESm2rLFyCUy6mhHoSh\nZaJKKJoF9blxW/sLTBSRxYkp0RIveUM8k8c16IjkBq0dE9wXCGKP0kN3RPFx\n/8EN0zN+MA1EwSqqoD9fXwX21DV/dNlNDWH3xLOiNDPXOpqFQdvDDCBwxDN6\nYd0YFNb6GuNiIl4KvCd2QKlMvI5CZQTV695UQdb+GoRjXVdbe5ieNiKIpw0J\n6BsTchrRp89Uq4BWDEprAcYavWlSiD0459VuYFEYrJ3MW1+aUKbrL3kJ58VO\nDUihdN/vQPBNUElFomO74ufvL6Vr4IRe69VxuHYgOuzNDi8nmfCBoC74GKiI\nkYHolRULyF+ySdKXa9htdmu/7BUetP9yG+7UDdH4YV6FsigfBlxOogmbEyKF\nbjdjyOTSGgGsWzhLu00iUiLxUHmyExnynyD02rDGkG9YN12zk8wk31TVAlbt\nmNBR\r\n=g1Rd\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDPFRIzYGq7s4gp0b0wuhC/RVcUe+MwXwhfLViQsHynJAiEA4mCC4KruNKM73w9e2hpUNoqQofHpTAajp7DfMdMczoA="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.0-0_1611548639482_0.7474530296384141"},"_hasShrinkwrap":false},"1.2.0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"gitHead":"9d4b4e42cfafd43bf27e9e7a36226860417f2cba","_id":"@thirtymadison/quiz-ui@1.2.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-o1OQGtABlB9Y9hstxls8+U9xAPxhVTNRbN/I2TIKNIPD1cQKE8oTE5PREo6jgFL1JpR+XIyRWw0AwmyItOnM8w==","shasum":"dd8dec535bfd9e8ffa277f893110e30c4e32356b","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.0.tgz","fileCount":242,"unpackedSize":739854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgEzaiCRA9TVsSAnZWagAAtYkQAKFI2IP+647c7eyagfw5\nY6f4GXLkmkeSg1oQ1r48HLPjRVbnPSUUPpEACl6XC6EIMYIW2F97k8U0uGlv\nsd/8Pqw31MxONrCSLFiblva2euWk1q+yv0I5/rtKvcEqJJKsPBQ7JA5JPW5u\nQ1OqumKn7oTlcuA0Na+8jSANLLKq+akYHC+rp84GT2X/qHedf6BJ30RfiNCO\nKuHkQngftnjtv2yVxptVHHN0JXtegJqv6RK12YDGP4oq4c+5pxYob5KDyHd1\nNGcviHQS/94QxQPiNp7jYF4I59zJrtnrrPKFcIzljQKh5HFwiS2aUJXjFmkz\nStKi+NX0XW66YkPji1miQzRxzG8Km7Oe6vUyD6CJLp1p8BjuPimhzk7bia2f\n2+cVI7ShlFVsakLp/wR45Nqs0K+8BrIPspHyOM1uIwunnxUxj96SDfDWWprq\nSWeQbr7epvB69Lf7MBVjSsXFOgeK+B9oYkueyTr4fx8rwA2U53wkLnJW6YDK\nX/0Ziq+5gDyL9wXcXMViovDR/Xpp/8L+i0AtBviIH0vPFFLBsb3QsqwdWBjr\nHlIbNX2YP/21pTWgSpXnKRVSZ5Txh5G49sjoz760sBG7WioY7VSX/8g5SJXa\nsyb91rDVuiDvHv/dfNqpcwd4FruPzNoJLiqzjIr+mbmqCKrX17wroS1dM0BO\ncozs\r\n=0rOB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDt0IbHoRzqV0yjGeH8qHvoTn4o5CH3wsba0JqS2VKh1AIgYt8H9N/rrz28Q1atTeCqEiP8drxcyRZzzAQNBSttKLw="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.0_1611871905439_0.6514421998146203"},"_hasShrinkwrap":false},"1.2.1-0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.1-0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n","readmeFilename":"README.md","gitHead":"273d029b75248e03129e31b75cbe160d7f9d5d42","_id":"@thirtymadison/quiz-ui@1.2.1-0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+LShqNW337p9AEqYLoRSxzwCIpC32XLX71q4wJbwo8saf8Up/LbzubpiuW07IUifYZIX5gQarhB0KiqfCzBUIQ==","shasum":"58ce26138a4fe863244ef6a9cb3c525a633d3a51","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.1-0.tgz","fileCount":242,"unpackedSize":740859,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFAKTCRA9TVsSAnZWagAAD4UP/0CumOptRpSxzPpYv0f5\nZ8/Brop8rl8Fh8bQLSmcGMBGallF7XDBOKlMxlMNRLTWV8RTkGCIRWXCAx/y\nDF6PrScC9AhBYU52woByzfWnsxDco87Wt37dTamweKWghceD239CjE5IN9zl\ntgBobMMsN1aws6hjXe72AypTc9sGuoDDtc/JcTqrE2DiFGo8QMgl3zcamizI\nFAChayTmZDiAsHoNbVfUJwS09rRSyTTk7svJxdmserYldUuiSUSAY7+toXmo\ncLX4tad2MiOyY3HrKZZ+XNdWHfFJEq8HWorQNUyn6XWzHUFtLJ/rzQMTU8xT\nu9Ro7s16ny/nuHLAolQp7gliQd3H4QYo2REpvtvFdJKmHvGC5/Ec2FoDKxz0\ndxf+9iAb6blOpBQHmF7gYROc8c+3pZHST20m4tpH3DEU9gqY9ytJV665eVzD\n/Imelvtr5/08+guXgU+3bgQUF3g6vqgajMbislODgfmqxWZTY46bKEKincRH\nbHfJyPCoYqRg3owXq7q8cnh/4eYRqEMFpO3wP3QACzC0W+IhZkiwZQL3Mgs9\nSo7zt/YE4+cxxB8l3+RTwUCF8pFvYDJ9CQpQpCxq6bUnPzk6i+GbS5KBsw5V\nM2KUoy7iX5l8S1ydf5VRyWf8Uy8/54Hb4GZDFGYzOG4MQDvqHS2H7AviPF20\nUe+v\r\n=ftrN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCa//itVpiVDb8XRnEsLnsSkDD6XBKPWBpVDaclIJqprQIgTjntgR+hVeQVNuZhxCF5UBMbb6XYgI22oWNMoxFFg5U="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.1-0_1611924115424_0.7862668278302622"},"_hasShrinkwrap":false},"1.2.1-1":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.1-1","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n","_id":"@thirtymadison/quiz-ui@1.2.1-1","dist":{"shasum":"c1dea859333df0bc3f9b70348a094cc8d3030f95","integrity":"sha512-/Gl5YDbKICwat5QD9STPEI01XkWttcqFHOEacXpx2GnUdcBpqBJzB80EK50dCH2sBbUxJPLq3ytbSuZLVyHvyw==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.1-1.tgz","fileCount":274,"unpackedSize":741206,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgFBLQCRA9TVsSAnZWagAAlZ0QAI3zSRXf52pvN4Xr/r6B\nFx7b45tL7IuecbsAryY6mVhPI/2RZa53FVCvBW+NgcFClf1o4FY6Ppgi5r6F\ng64zJNumvPbD7KWW52df7lbVv2d60vKXGWq651+NcTKtctqrFKniJgiizMIO\nU+Jlj0+EIy9aUaUooAcWTgQz8d4A74rHyCwTBgC3MKJPDz6JEo9VYIq43h7P\npCH4YnI79OI6nLX9QFEMpmz+JnrWjrzF+6A6Nl2i/Lm27QMObFPe+mb3+E0G\nCHO1oYgWD96lTUoc9NxNzDuWmj3TIFkcT4YuMXqJI2HAx8vyU50sWiIzxhMe\nYyCUstHkwtopxc365jH0QADWJD+kgUQCTbK7qw3g8df0Olk4bve1uUb7LLGB\n17KKk+uL3j4FzP6Z/NUigkc7xxkoX+Kl5tV50hoYbFL8W7jEYbltjZvdlqXg\n23fgHkCd7Ka49kDZtuuXxdgu6IB3VFvug4ssTraoYOTtdPeMsB1UkSQm0dD3\nJC3dlGymy9T1H44a9NefdETgjyIoPlAznib+AcOjffHoXq4/R6XrS7RuaDUm\nWy4Hrdw1x2MKsOsXYf4GqcAInjLMDrh4FzUHCvI6iZJGu5wdDsY6lOyzvTJf\nQLTT5lwwADDsfZJTLJxyTIA/oq8vhslys0jW4OAD/6ijYZbf9tQwzbTDFirA\nSAWN\r\n=e1Wb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIHWB/xtDetR8q9owYUTGkI8b7+v5rXscQeLlrkIl5OPxAiEAn6PEIz0a5dzk5oTuvpMyNUJ0Y+gPyeO0F0PnwS562RE="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.1-1_1611928272202_0.3886266701561649"},"_hasShrinkwrap":false},"1.2.1":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.1","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.1","dist":{"shasum":"3337bbe5809ab8a1ef5fb789d64f429b3e5fa4c2","integrity":"sha512-yynRg4r0p92PwGOm2+nuBBgAub24P8Kh0s1mSAzVA/c+G5hyGnrT0rFPws7PFGBnp5jD9LHQ9kJePoj/CGmsQg==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.1.tgz","fileCount":274,"unpackedSize":743855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIY7SCRA9TVsSAnZWagAAirQQAIqyEDkuCOtM0EhWO3eU\n2ODSHAjylYHqf5mnFImby8dq1u2jzB3x03LdOxRmKbgmfWQOPsLioyfpER7H\n920bWXnbfDFi+d0L+YS6D7uNIGZWvJwdf6kizBMlzo9Z8NYKHRk1f4nhNsjl\nsajQCdContlUqzpX/GsfZfcHtK9Wi8viSqvhMjnVFav7moMA9VHZjU8wubIq\nMXc4RgFZq7JnNNtSw0Xce8srIDXxp630HiX4ou49CCbYvrfruBElyIk3jQzz\nGHJkMz1tPi94S6yo3tXOwiaKL8XN1tjyN/FjSR0EbsNLVGXCXDORJAe0h9Cg\n+ZDaM7FYJU3Yuy6L0SxFQ+HNnCcfDSs/k9oEJBWvXVOXBmlNPCXl2nopbY5+\n+C6YuSj/3W162dp456MYSvspp/Wn+H0Y9Ir8KB0NDgFnbsKpnwC7kT9/FSw2\noCzPsg66IpW/tSxhWy90eRHUK90LFglfXj4SX0yEvRd2xkf8YCXbr4FDCaei\nigVL6hDsjnWwI6Sqr2trxyTmjsGEvaRhYWfxG/+tGFd5MhxgyF1P5O7dHoQJ\n9jhwvoB5KgLnPsKOgypn/2Pe7+vAX7uwaQA2ldMtk2tWQ/XaOsgBr9TTCkIt\nVO32Uc//EJ1AinGvUfM3YJGfK+TDwcgDC6ZkYFli/xShya/P26qoa58yNk80\nfSZV\r\n=GRL9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDQPBJen0bvb1gOrClRZgDehTeugiJEnQoBQoO7zc1lWAIhAMCwCwNMWqv37pVH8qHhH02YnZMf694hihuuv7gKsjKz"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.1_1612811985965_0.9579126816056012"},"_hasShrinkwrap":false},"1.2.2":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.2","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.2","dist":{"shasum":"6ce372a2acee69df40dd7ec00588af17414eba10","integrity":"sha512-+sAlAFdg/HmK87i3bNqn479Ez+suVwgAmwgtT+qbp20lonR4iK6RKu7iQbczDELDqBXmN4nwBq0OMisIM1NdKA==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.2.tgz","fileCount":274,"unpackedSize":743855,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIZCXCRA9TVsSAnZWagAAQ2cP/iDcGxxblO8eSwHZNa7b\nI/gFq9QDjqPXGNRE6Lia/KZpYtr6HFlEWnDnSClP0GJ/J9ICNcAd6ltB8c1s\nuB0dKFTDbrl311Eu7gAj1klt2F015BvWSKZ4eyTDByLEMTBncCgU4/F/2Z6m\npct1nJ5+OwPVgGBx075aNWgW1fBwfiEXoUut1EuZqdiiwIZ3qgowHpUYxjN0\nGdO6VMsB3mRyx+uvO4VdXqJGwA0YJWzB+/966z8XoASN5HSEnkegbzLRYD8b\nqGy8naQd7wd3Dzu0exU3ch4udFpk3Mny0VKmwY+doBGtYAeeFBqxbK3k/CFh\nPjjR5h1r+uKfpQLtUspMeI9wP89DkpDRzvqjFC5JKVZEUKuVYTlmohzln/+/\nOkKYKxyoLS/ufSTwRrFuFlmEJ/VUZynpKiqiHtRwpALxWOoOxF/uzHF5Tdyt\n7bl5T7+RwXhNcMI6+BKvjTacwPx6BLd1d8w//iVyZ1oin8Pao1PU71tn9cAX\nPe96fjb+00BgkmTAoxv8cdAJt2TYzojZHemiYEp+umQB3x5z96MSX7PsxAnC\nNZjIl1buuhCQ6E7UvlK5xGu/1DgcRzsVeKOfL7jDNKFUkeEY1hUYyL+hX4/m\nT/nb+ZsuhxbdhBATEnjc3pZ4W2fmrKsCOnNKvQ8GQU9CD1ve5GbXCCCtl1Mo\nqI7O\r\n=pmuh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCwShZ43rLk+kwlIXmgJm9RT+yWoHCox9QhPPS1uZVRcwIhANgoYLWs75XA9T5Db0ckqjkPgvt3JF4jZPfAlXpNyded"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.2_1612812439351_0.21418443306447887"},"_hasShrinkwrap":false},"1.2.3":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.3","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.3","dist":{"shasum":"9555b4636ee3dfaa4b37d79182bfcec43ba2d95a","integrity":"sha512-zRWLh40cAuiKTTALnGFvePq5//HZsIYiad+wHzL1QdroHV6DpdeQv8K+dGdMPX5dBRGF4gByiTPS80PLP8F3rg==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.3.tgz","fileCount":274,"unpackedSize":744010,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgIu6dCRA9TVsSAnZWagAAIggP+wXDuoVe8ESuZy1SYJY0\njkZu61qkYJzbsz6sSHuLzOY5RWh6I9ScsGmYS8UxkoHuXKUfMdEm2VYiKpAE\nRi+n3MrDpqPA306F8IchxWvqgkj6Cuof/EzYDPvmiZ6n29IuRE/jVwFY9FTQ\nsRdbRRgghiETGD4dqRBmq33WzzlYBf6NFkG+Rk62FMhfDe24BPqo1q9ElSWo\nWoOnSnEZvW1MD/UciBeE6eAGV6cDgm+d1NZWCg7HUCMdPJ0h7qJO897SW9FY\nuqdDKLwEuWg6WqFoo5yrTyCiy5DXZaulBV8yYR5F54AXZGaxtp7qQcctp8nh\nX2OGjS9XLl0dQmgZRTIHsWLA6GxMHtFsaGgidyrwLs+4YAyuFl3Ikd2wxtZ/\nj7t4SYbgAr3bR4MVTiUK7n9TX6d1ynBz282kQbWr8rBwfMfUWmWeuv6R7pia\n1K+NLwep5OcGYDJhKglEs1cawbF8mwboJLcahSb7ZTIN9brkIw8plR/tYxem\n0Yvyv4Yegknj3p0U/KlVfJe4NZumy/00AUy6A7ksqr/ZQo2iu/s7M8Dh5Iza\nORO5qnF0PfBldIL6PytLnSS/wYHR3co4FBLHhi6lXJIshvOmJXHYdlIB9l78\nUnhuAMUEhTXkmF/VuRTeaIOSr+NVvz+z/9GkoII9P69+cDS97+w+5v1wsTE1\nGhPM\r\n=WqlZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCKnzk+CnRId7AdKoNXrSpAe6YiTe7KI9j3BgU6T7R3mgIhAMJNwx8JceQVrbF6bVIs54jK3LRf7TZL1yEcv2LHI9yt"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.3_1612902045241_0.5173773959715295"},"_hasShrinkwrap":false},"1.2.4-0":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-0","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n","readmeFilename":"README.md","gitHead":"b6b640cdfef729a08d13a853c80ca4ef8783eac9","_id":"@thirtymadison/quiz-ui@1.2.4-0","_nodeVersion":"14.15.1","_npmVersion":"6.14.11","dist":{"integrity":"sha512-ZGKcGQHjdUtsi6v67DW4Xo4R0CFq3GUZ/Tw1NRzib8srZEYPJZ6ib7zKjUHiH6lt98vfVknssgPcg0ofUI2UyA==","shasum":"df923c431606e96bfd21c102f97d8233c21d5b4f","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-0.tgz","fileCount":242,"unpackedSize":743854,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJUTbCRA9TVsSAnZWagAAWFoQAJDtMb/PHO3TlIB9Xv+d\niftTWSp5ryLEMNWUz+WLsy/6E+E09IAA7PovM5pzx3FAGFYA2WF4qgg5iVED\n5cXn9TzSNFnVpTLrwjzb0gotYYN5q5rZ5G77/7gQLlyp6Eqyrm8h5hTlLBEi\nEurf83AhzBYUMiyKc3GtilqmO26QhJ5CvdUTaa5es9j2vyEzXSP6+n48EsWg\nlo7MnSarI8dhqjxbfFstuItgOmlVMnFwSKzwOcPPXpTm2pvo4Jh2z9G1JBvO\nxA9HnqeScAbOWIfbORLsqT0taZpba9NCZG9yJ3Qn89KrNTkHbxHZLZgvtBy3\ndcdoQ9RsXhmvagEbrOXcXlFWdYZlGKboxkNhmg8PghCHI90INf6eC+9Tag0P\nJFQWWYuaj/a4GEsNU9lrxI9weXs2kXMHgiSatjSB6pcb4zAVnY64C1hotBB/\nL4LIIoN2wDDtKzqQKVoR0iEROXo/CjGubQ8BP6DJA/R7EEncmtfRdpKU7q4B\nGJQp7WTPc3cc0AHzc5qg5+ZMmL+mwsxczKPH86g2+d+/VfBg5PbPuQUqVr51\n+v513iBda3rx4fbH4fGviqErtwHz20J5IY2pYNcS3hfl+/PyZlqvVWo41qyP\npBkdGxV5DmLF4LlttToZPmOrwzDZLIi/abXjWSE2IOUTcZsN4y/gJjdq6gcJ\nuryS\r\n=VCD1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFFZCBk/6D7eeisIQsT8xWjTc1P5PXZLzYRfAdfI4ql0AiAbXCFpWZArXd5qmU3fMkZf8WcNGu/D9K6WmWFuZ9/9UQ=="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-0_1613055195358_0.6524118485543473"},"_hasShrinkwrap":false},"1.2.4-1":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-1","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n","_id":"@thirtymadison/quiz-ui@1.2.4-1","dist":{"shasum":"ebb42a458323fcb01329bfc1065c99c07b3833d9","integrity":"sha512-tXxF/z0Hxfj2q47Dub7jP6hDQ1Qh3SDP2MoMZEw/fX/22GbHr8Sm2JpsjULvpFTnQ1OGBeiAlNuFO+A/GsNrpA==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-1.tgz","fileCount":274,"unpackedSize":744914,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNGXGCRA9TVsSAnZWagAA4vEP/3eidlfPq/OKM8XwEUfH\nT29nQjKfJwcir3J6DVGzykad/xC16OvR5C6badn32yd5XV6WPLxsUJRSHH5a\nKsZBoZxMvXeFgPZJMQFOIICUaEZ5iaP0WKEY0giNtHaZ7nOpu5xXrwS5bc8s\nUhzws4y90HpHTzTgIPPoDFwtLDDPZ/mqMeNIyzRIKWv14ln9FxE8nN/z5av9\nhunNdvBOUP9uWjClg9YoxiymBCRUDM11zNvWtW7u6GE2OswBcjWOHDngHBJs\nXXWxApRdl1xgQcggQZzRx9TSl0i+QeSW/GVw076UHUl/Nu9SByD8cF4h1r9a\nF6hf5oifmZWST/b+cGlwnePMuXV0B4HNI9eYwbj1zMU7KqYO53c/ekH2HgfI\nTQm6BkVaTc/jyLVagM+FXM34z214NEIu/HoUhuGpJO+hW9BYmxV3nsMrZl2U\nN6FTbr7PVyEErGlCKzdKAmlJjkPFtVqT+ibFpJDxgh27jRUOmxX0wgO5igN0\ncwF7ivKfL6hua4186HmPqLnxX83WZsTJood8UUBFqbwqYS4O7rxyVAtf2KKa\nr/2qX+hRNiAktlOPJHHeiKi/bXYaTqZI2HMbsOa+tgPU23wxMlvNDPZZHMFV\nT8DYsOVsdEaXG18Atev67bHTKMItzhv9Ulra4PUk0ptMaESTy9U1dfFzL8Xl\nxAjY\r\n=Tt3J\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDbN5QoN/HyW1+lMFnkdZ2v+JYaQjqnXAXEeB1T54IRUgIgDTvqZ+fZcsvBVRUpUORMxBAbtIUxKb5Fx3q2ziNqHek="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-1_1614046661832_0.2758882556518325"},"_hasShrinkwrap":false},"1.2.4-2":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-2","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.4-2","dist":{"shasum":"e3514cedb2af1f3fc2d174a90f7a686e1fee9a22","integrity":"sha512-pL67qmtkG5oSeqIj4++ZRCS4Nw/M+1hsvtp2gvEry+AX8SEW3PtAx1kdk7QeeGxuPk9OQ8Qblq26hb4gTm4Pzw==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-2.tgz","fileCount":274,"unpackedSize":745031,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgNQVVCRA9TVsSAnZWagAARIoP/05QQB5ebd93djvr7f6f\n7VCWL86vJj6C1MB76btCr1Rm4wxTo+wDI5OGQbkPIuhrXbDYtxU2823lVQRB\nnpnkFQ+zQcLDQyGmd26BAKODa6DLvxlw4i2RYabH+zUCEKs41waSlgVmMtWO\nAwoFKzoMJ1Cnxnqh1JFXscqnggyIwlcrcPvbtMeKjhN3M/RIlzMs8hfS1teM\n650ouGy8+wlT93848tNDtSSlmRcB3mz5VhJHy3/wxFk1WPHWEhzp5OvJbo3n\nQ1KTdxRojBJ3OjS1KPoMWc5TneiGMEMqZOiccZ+VB9oLJXPjdIhhjke7qtAl\n37CjTB6GGdmELgIWxuPlf6vgyIAOgE4XF5AVLEeGKE/92Ge+2zmccEWBZjhx\nPmjZREzYHmF8vOg0Na0ODMVu9K1+prIdJ3rDB4l8HSSdCFDaZxx8rx9xhedB\nC3aAIAk3sVEXacsTL7nHnFoCTTVh3sIo3fxCQr4CgBZQyvAgWPDI4fFdRVUD\n5hmElMdOvg5aQFtCs3nqKnnWbXDEU8DItsxg18Z7NX6i4tfIkyeFI8Rv1mtd\n2AFuNFFLBYAxr7gdO06Qmzq7lwC8IUcbdpfnfsMDmKANcLTWu+phH/N0FZ/V\nqNukYC/hQ3IZaxe4gGwcy7/FCxTptet6J5qTg9Q6cDx+Gdtzpw7LCWKfK33j\nQ4mc\r\n=mb4G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBxkvz5E+AlgMBLNMMbfcAk4xG3gXUWWip7bitUwPKbnAiEArreFTpnEZPAUvmkpF2yZFwk8K8lwlD5VOpIz65FNXuc="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-2_1614087508595_0.48461766081361235"},"_hasShrinkwrap":false},"1.2.4-3":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-3","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.4-3","dist":{"shasum":"11f58da0a3e25878e9f562c4be979c73ec8395bb","integrity":"sha512-4Vpgw6ECZ8oi2yqXzZv+/bE14yMqzPvXalUr6rU6C3PJRDCjZcQVNjCwr9Is4KJ+s+phavRAAdpyJPDnaqec7A==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-3.tgz","fileCount":274,"unpackedSize":745701,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZc3rCRA9TVsSAnZWagAAoMAP/RVXCOSIWL9XbHNMva71\nY+IpKiV54tfB1wXjXdcztCXdEaoBgY5Y+md0M6esRPMh1uUPHpEJlhOJyg7Y\nIki3v4q+BQdxkH8yD+kbTYwf5dA3hAr8Y9xxHdkD365jZqE7P/rDpAZfy+nK\n1V8HIai0P9JdSBXGkFCFEShs/L3eX2Y3P7cBvrYWLoRbOaumWuNLdm7HTmLS\nNzQjGl3EYLzDdetWJTNVM3vZw1ajDKs9WSuUmj4pQikUFVNZQg/15DDxQ5zS\n8kFfYNtvixCFbSGIyN5SasTu44bTexUVNREM1lcG2Zb5bPn0X2E67l3KE/RR\n1JmaHwMHOKKxxkeHDNfSUPlhMNsRktcZnFrta25vsnKq4hR8/0qH3HRZkAU5\noTjwnsqcwjgZOngR2rhfZ07ufMQIWNCUbWej+qf1NbJEdHBXmJdFDug/uVck\nzg/05/NhHHUiMFMUjrb2iuh6n9xNdbuMueMriz8MaQuyuEIOZXdy4T5E/8Kb\nx3dLzOTE2V4500+k+3eBB7aSUE9hIdpZIiw/bW2B40O/KOlhv6DpvfkTY2Kr\ntkRdQfLYo3KfO6zXnRKHtUeWzb+8GqfQZi9hwBjGsqrl+KCY6RRd3qWQPLPa\nXcc3VXwu7IqvTCVECXOSo2+9LafESHZAlEOb+cxzuEQX7Kc0JsIJtowWkwwO\nRYRV\r\n=+ARp\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDWDCR6OchSv6fQp6zRfl0PvDtZbFRIB9eL1LjhFZEfxAIhAI3LoXnsMGQ4Ytom5pj2fB4mReIiywX5eNOGXkXL4Od2"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-3_1617284586571_0.030508701357268242"},"_hasShrinkwrap":false},"1.2.4-4":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-4","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","_id":"@thirtymadison/quiz-ui@1.2.4-4","dist":{"shasum":"ba9994a8e22b3641347144d6e7e536fc4a843a16","integrity":"sha512-Jj0iRjbqRq9+/z4PBLwXdl9RBd46OYEPA+jWsxPrwQsD+LfeDFauOe8sRjGxdpfJtc2LP/es6mlP467UwdDg0Q==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-4.tgz","fileCount":274,"unpackedSize":745700,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZoKXCRA9TVsSAnZWagAA6ewP/2E+rCVCjmAYs/6MhD9v\nVmsKpE9kTVAYurNIwogJH2b/jVaNc/rrxmAwYUNgP/6cbxJgZUy9BmoSW32y\nT5RUOojQVt14IH8jwfxpGESHBnw9RJ2KH4pWs9vX7haqVVHpTp2zSibiw1qd\nG11o6DzTsBdjNE8VcSNkAC3jos5nlf2Dn5Ci40I/CSXf1MTKKfzfO5x72y5Y\nkW6Y9Y0dfZF6uL2kAiO9jNonZ6zlWbIOcEhA25H5EJEwCb0YXF7aDrgqbGPA\n0IQ0GeMcsjWCcbhrWtwGgk4RxsGtYM9fjDjkpmqmya5NS7mTAtoVNJWiHtY9\n9uvBlmSRMPfRC1zm84au/n99H/29R5x6WKwkymdhBJZvb8h8lfiqyoxH/BXI\nTPPvY3uMo0h89M4R7B+sJIxBBhSAVruGdSimjHsJ5iRMEGLHXNl57OaORMK/\nAZ37dXP3Z3oVrUrj6EBEE7OFCA1F6svOcF+16wTMvpz3Y7bxj1h9JwVSbuec\ncslUnBK268T7cYxlKdYVvhshlqcnrldB2YO9PyrQQdnc7T2uioVRtMds25Kk\nzRGANnQ1+AVXYwNRS3QkjA6zgFnqaOLnOe9dO13og0f5+BQe6EjPa5AZddTw\nqgq7oa6tc1HzyNnalCA6fho2xYUZKjHFDP8uJ27Xwn8m/gRcaKxYWnV9DSjI\nZ7Yw\r\n=XLq9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCx6CSmx01zSwcBg7YK8/v20q0VUZjNoRwJx+Kx/xnDGwIgKXbESIxjAs6A1rDAZy+JrYktiJY5P2wYmxFX3lghr5o="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-4_1617330839011_0.37981102067677064"},"_hasShrinkwrap":false},"1.2.4-5":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-5","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","_id":"@thirtymadison/quiz-ui@1.2.4-5","dist":{"shasum":"1e753a267394e28264949b5f3181f1d91d3f46cb","integrity":"sha512-Nd2iLOhY9n1Rpw6Y8FDD/hrP9vRdlytzl6niwbdzNMuXfuJmCsfYTV4yDonokeOZi/T7Nis6e+M2zvs/N6/RoA==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-5.tgz","fileCount":274,"unpackedSize":745857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZo9CCRA9TVsSAnZWagAA5ncQAJy5n+LvzArSmUkkPeHX\nSzZVJ90lPLx5d2fPxOTf4DLYDS5OOhSmMoJTg1tmsfnFO5KuMeNy292ALNIY\naeQzXj4vsyykDBlMJBSWtzLOn9Hl6nUgY36SpFKNlHjzxMdyIP5kYLH9iSYL\nv+W0uRdQ/dvMgfpL4ZRKY1pEdGz5Wlm0qxM3ZTPZHth9lcA0/yRRfDbMBbC2\nyWG5Pt5xSDJOgTM3a3HhTm0oXzp5IwPeo9J9nt7BOkLe7xoOq+uE8p+OU0t5\nAUqEY98k7tgCkinYQy0zg+iadYqL4OxG9QcRL8zoSIDnC5vAQ70tCHTQ50b8\nhsH1JrnyVbv/DJi65hHOjJfB74vIK97ELBki1SRmhuHe9CcqBQVUiwSvrQCt\n3FvkqGOD/7IxttYfy14grSZoTZrPZyYhx9iAfVCo6PUit7868ip29wDa31q7\nJPCnE0pK9sZMUvrWLlbqAGQ87P9vfYy3Kskp+afOd7OlR0GgUVyilLR4BiFp\nlq9QZ5kJoVPJiee0+k9/CYpnc9o3qfkIJkYMG6f1hjcFN7VlhqZbuwF0+ESg\njdT0+JCpCXn5SDN3zcPzcr/4zpBJxtD8RKyEflLjttYZCpPy/K0KfngsPjJX\nzIlOfMN0wPfEbKUQUiT0q4FYf4UQaQyDi28XvtxnOD7uALZgNYqLfX0SDfEM\nA6xx\r\n=7VyJ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDoijJQOj8cXc86669vNuqOzj1nOeL/HkeolkQvlZp1TAIhALOkejHVnVezDNWe9Lwj5Pj0KghCDjw30ctMPqzQSkVZ"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-5_1617334082060_0.48442592339384505"},"_hasShrinkwrap":false},"1.2.4-6":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-6","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","_id":"@thirtymadison/quiz-ui@1.2.4-6","dist":{"shasum":"2a145a3149dd4735f53c15a8635830d06415d2ec","integrity":"sha512-0CGsp2ye6F6c+xhCCS+G/9uFmzgasCqjiY/fDjLcoKq6cw81r3b0hG0owjQkRbnIX2+Q81nT8IUtv+K2tazT3A==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-6.tgz","fileCount":274,"unpackedSize":746598,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgeYFHCRA9TVsSAnZWagAAv7IQAI+ULmFEsed1L1lDa9kR\n4eIfpNBlQfvKypA1i6Ib4/D/s4XRzNBNH3I7xFl8pgaihiDmkvm8NsXGb+Nt\nHj0R1oa+BgmdP1+7ZyRVN9PDjGsTCdtIWZ4InAdcUHeWenhko6U01lagkEkD\nMcg3Dm6pH7b3sOXKPb3jcFb+KVmIj6kJPPBAHkn1Bk6wI5rRtjtU++7szU45\nKJjg3UMdf0TM79PPlrlN1BPl6b/RBD9p0WBBUrRJxbN0gIL/iaG8bT94tPpF\nvQYwvrLli4QNLK2fcm/SXbxFoMrNizbU7O0nEs0W7Ttt8tfDmUZ+qe94ZsGK\nhiiKlr1JBAehAdt92sGfKJQcZLC4Ntdp7TBj1wOb+7/nevFTBupDcQFK0YEw\nWxjk1KAmdVUkvbAvwEhJWbQq1yDAnvvzOduhSTtrVLr68jN2J40W7XpStKK9\nGSTxiJXkGrTyrfD5lajjw27A468vplJs29GgsPCtKaLgh8o6S6zjxnv4jmER\nJKRn3cPrtIqBpU9hIyGN+yWn21PWIgPBi5UPikJGCO8A6pBDb6H4xejb6zFm\n5PHzUDyH782QwrgYqhNg3TOh9b0h9wM+pPIEu92y/thXL46YmZVCfDGY5DQQ\naPyKc/0sEXJyQhlh034bz8iWYlXTAGVPEp5sNf3KH1U9uUef+OUPTWQxIiQ7\nPJRh\r\n=Ow4W\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCscq7MvPLm6vd9PRCtoeHFGK43wlAEbOxLxt51nGx3XQIgW2FJMa5XjNf2j+Aebhlkb0Tq6H5LORX9cjPV4gnwfjc="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-6_1618575686772_0.8947191900337363"},"_hasShrinkwrap":false},"1.2.4-7":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-7","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/lodash.pick":"^4.4.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","lodash.pick":"^4.4.0","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.4-7","dist":{"shasum":"9c3eefd797e1a82442c5b2d1ddb6fce5cb1b2a7a","integrity":"sha512-Hl5k+KI46ggoyY/R8tjgkpGQFxcfuL1MeVyzfgzxe03GSQakjn3vrSkWiLPUWsN95KGovwtip1Kd3wiIExFOGA==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-7.tgz","fileCount":274,"unpackedSize":747924,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgixCFCRA9TVsSAnZWagAA0G8P/ifd7uru9gQMZcjxFMQF\ni4caFkyNmwKfr1ZlBC78TTFK3Q1LIiwIK++4OkZfZCsz119JW7x+xZqGBTGw\nH6R+xLaG332pDSAqVssb8+AyAg+rfUEp66+y3GCnCK3LLy6rGqhtF5lqkWkX\nATa2SMb+OP+uulS5EW6MBJYjki3rDDq6CWVdzzQ6UjOig/b29uqNTAmPm+y6\nLXpiJ0xmprhU0uRV8I/q3fWvn7OrNirOL8lCMWrrutBuzSbCJ4oEtvqDFI9o\nUXTxq8TMD4+7ZO0NO/xYxtPPOeDJIbF3a3MhlhQMvxnnfaoUjG3bWCZhHNmd\nstOqOcWN4rdXbSPrxk5OXcuDwEsZheDtCtpeuRi6BnaesXwko/U/FoU18stg\n/NS9NxMC5XHnzrzvmbpdFAdtMCisskt/XtHkz/xRK5hNus5s+Vh1lGxejPDz\n+A3ZqnZYv+QnDQAA/Ulbi/Ta2lxxRxBJ1HBAFJWrswyxBxDLbXbtYTGtVS0l\nC5Vs3Z6nXitIZrPm3wOaC31QyNY/Tr/vxBspGf2MDQQSeA/oIalrwVUJcd49\nLyCTW9vObN/RNV1hbMawfr3eMFMbizsTTPP7Cq29S7wVx8y5sDjCkO+KQEu0\nzSYYNgGmEAH4RmVywa/86NA2wbzfgyF5t7+lutuQJTZoUpxaQXi9MEo2ccjq\nHpwS\r\n=pF6l\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCkuF8NDByvNCuRKSEFUxRyjF4ushursY/e+7WNGaKm9QIhAKXn1FqmKIbbWskdZI0f+6XDE9nuDWcyKJxBjOG+A1u5"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-7_1619726468920_0.38935560311778095"},"_hasShrinkwrap":false},"1.2.4-8":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-8","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/lodash.pick":"^4.4.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","lodash.pick":"^4.4.0","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","_id":"@thirtymadison/quiz-ui@1.2.4-8","dist":{"shasum":"5b6ee894a78e4516ba76bc9f112da19e81dcd437","integrity":"sha512-ueKl+iNa5W3t9Pinj/PSMo90SmkEJwiHp+rhG4Az5wS+uy/92apXTjii1e8IZQVa723G0Gf87+6ua1fBgrOxsw==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-8.tgz","fileCount":274,"unpackedSize":747930,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkFi9CRA9TVsSAnZWagAAKjUP/2+6hOsKipA7C9jL46uK\nEPXfODnMEZqntcOL2cmaoswbIcgSd+P+uRMmV/9u2UkySxFxtaGXpUUXA5j+\nfTtkYL8IJUvwkXoxNVvRrS22MSusTipr1G05gOEHSd4ifjWPCwjrBO9yQ7oR\nIFWBHIRA7LhRyNDkkiSKFd4RWvXnUIlWcfy2ycnd9CHDdjSZ/SxQouQ4rJmC\n44mSPLEde8Pf3gxR8Ijxeroeq9KSc5UofM8ZpNpqdzgztc5KqB/Ew8aGUuEB\nQrzCkJ5VBamyLaPIQvCsvW3SWGwhvS01uA/adC3Cp8ftH5BB6PKrk8DpY7wF\nHZx/0cz3fi9qsNM8CiOLLeRxdwCv8laeeApuI1TlrgXU/fapviQnUwk1nn2p\nC3BBu7WDcVs081dqqmGgVJWsEZpEjtQWl7qc+imuDkjPOkfZWKvTp5Qjikru\nrxNhnY4fmOE5ZfF5m/Yhxq+CfXpf/kPnsIJymfS7xv19vOlOoIsy7fUY4RRX\n2C/HyJZL0ZaDCZ4kuZqxfM4XGkJ/DJT0zlsEMRKVg61bPUNExS77r/VFuvwJ\nRmjGjfMLoQT9eGYpB3lNnvwQ2Qy+oLu1IJob0dMlLxpWsUWsiVSAY2RVDaMv\nxcEQw9EU31J8SsSsRuE4BbF6Yv7PT33XTc29Bksx2yi+FuinsIQM/pbufMih\nsSyn\r\n=OeQ4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCkazOJJbhScNnq16poXKF7nqlPOAWzNPJO3RETOLFYGwIgPgmhYFeP2mnP4quo7PF1id3XnFoQoiXHw5I+Wo1eQuY="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-8_1620072636776_0.7032246106060716"},"_hasShrinkwrap":false},"1.2.4-9":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-9","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/lodash.pick":"^4.4.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@formatjs/intl-getcanonicallocales":"^1.5.9","@formatjs/intl-locale":"^2.4.23","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","lodash.pick":"^4.4.0","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readmeFilename":"README.md","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","_id":"@thirtymadison/quiz-ui@1.2.4-9","dist":{"shasum":"da77fc32e8b5af9325af7b23cf580d6e9759a389","integrity":"sha512-9UJj6O1s942HRwQV1ubR9LsiQdUH4JBD/ZiuVE+oAhJzpOYlEkOnTkI0PCMcoLSbspYxEjL7CSdMs3nQM5gRug==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-9.tgz","fileCount":274,"unpackedSize":748304,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgkLXWCRA9TVsSAnZWagAAjUoP/ROIx9FcWO7wW4lVUSUj\njv0tcaK61eSucchxPZbpOG0Hn+8qS3OwsUxfnP4HP25EV4VW4908ahqibkDM\noDR3D8THexNoAxzXz0z1X4qLm+b9LIgRk7XuFttBfmR76VdIfPHavNXDMQFL\nYcK9T2DYAtuhgv45H0NjKTe4np+p55lHy4H4B6zrd/g1olhcvhC/bRWtE3/U\nDO1zk+E2LkSw2AuqtmxWqhgCVfXvoNzLbBC07RlGp5BYrYkM02sAuJvkASYr\nkoGlf2aVIw9d9YpAVm2e/tCpPzSylVxkXv0aovrPl1eS+8bg26UGui3kzzbf\n0G730tOr70wlm7wjkUAMQ3Ez7/DCwLxsI3dj+dcPJiyNVPcJSjneMeGqbk7r\nbEDmzmi1g751veVMoNQ3593JlMm3PnJ2vWypKLaRIpcRjs1fKOd779YsgrPI\nyuBdPOUY41wPT6CE+lTdR5TCSlUa+lyBEFUG38bEiMKAM/8s9+zGMp+fzd86\nEZd4Sb09slvb6FUhYH4jMlvN9C8ziliF16cswzVm+h3a2INR6EKi+QnG+1LW\nc3OGap5gmob7fT+k4rUCLzouDpTqHMbHo5crNPyCWjtMevVZBilbyl/h4Ppb\nE3XGheykq8N5rzwDMzn+DC0L6Zm8p3eRdXJuEaCdkNvROxxaFPKeKiIo/xeI\nukTg\r\n=t366\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFdPhuOWI1zCxpoPVBZCcQCu2MPexdp4yjPETHe8/YlqAiA8yjMF5bUEudacUPyENPVhC9QW6gZeORMFh3apw3FI4A=="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-9_1620096469870_0.9251807947304811"},"_hasShrinkwrap":false},"1.2.4-11":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-11","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/lodash.pick":"^4.4.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@formatjs/intl-getcanonicallocales":"^1.5.9","@formatjs/intl-locale":"^2.4.23","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","lodash.pick":"^4.4.0","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","readmeFilename":"README.md","gitHead":"3427c938d0d2ae8f73e301b0e1fa2fa6ecb66330","_id":"@thirtymadison/quiz-ui@1.2.4-11","_nodeVersion":"14.15.1","_npmVersion":"6.14.11","dist":{"integrity":"sha512-XCSDjE4GQ1HTObAZCVkSbpRG3eSZBsX1zedU6igOOD5P4sP9CHPKQrtgiRZvCGcD7rDf5zFUWPKc6TjbkBji1w==","shasum":"ac438d86ea5543e655c8338b1d40e0aa20c42e13","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-11.tgz","fileCount":242,"unpackedSize":748969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgp7t9CRA9TVsSAnZWagAAj8EP/i9ZI+H4oWqyXzMNZjrm\nXeyyjREBzXEgWSDF4eaFObdyG0BDNVtDMcmV2bEOTlOfk5fhCOHjNwLZWeXh\nR0Xz/1tP3+xrQBdxAMvHdr9WHxEUZHVvpihVu2tzVD2wYWV8oMRszJmK9Bva\nubOK2qOtO4TT+XhGHeGWNpuDuGN8tpGzIjo5CHcKZ89a0pclqrhGMU/FnHqW\nHi8Q+PtK5MQJ2UFgM7qr2cKXhV/cUtantIyKqcP+rVvSL2C83tr5keOmdFuZ\nh47a02br+qsI5tYRDg4S3AbKP/k1HMhza/fX/WgGxPkxPcNag5sh0hKrDYvp\nMsrHBUUPooJkVCxPOS6XQ11Rg0/wJSsJ8vu0+SLy09hE3gjWAm+SGadQVgiH\nmz9Zf8vRoQhZBiOo0e4XL5TYDMhK69necZn9oeCgPyPiDl7dmXVMpfpBQrKl\nJ175OvcY+ARVKYiNLcAXlCj3HG5ciRau/pP2yJYL9mObfLhpLUcaKbxFO97V\nSfCsCyqoMAKCMgY+EUplUEntZEy+RsETVeWUyUo3nl1suHGh7ao11ghYcidh\naPeWDH3vhNEghaVXJBzC6PWlTAUfrJNceQ01Gkg0sKjD/JPrUuydi9Qd8nqs\nyb66pf8kYAYDFz8m5sSa68b1wLEYbyeMGbuisqAzhB1jvCEgtwEd0xmkFLJn\nz8zG\r\n=77ER\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCvEMpKDPffYDqSxaAeeWdkwOzlaCKzF1EV9cY4FeQq7QIhAI175jn4djyHK32fsz0UpkwRKxKUziRpxqnWIRzDjicX"}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-11_1621605245227_0.6618544433318168"},"_hasShrinkwrap":false},"1.2.4-13":{"author":{"name":"ThirtyMadison"},"name":"@thirtymadison/quiz-ui","version":"1.2.4-13","description":"Tools and React components for rendering 30 Madison quizzes","module":"build/esm/index.js","types":"build/types/index.d.ts","license":"UNLICENSED","scripts":{"test":"jest src","clean":"rm -rf build","build":"yarn build:esm && yarn build:types","build:esm":"tsc --module esnext --outDir build/esm","build:types":"tsc --emitDeclarationOnly --declaration --declarationMap --declarationDir build/types","start-storybook":"start-storybook -p 6006","build-storybook":"build-storybook","types_generation":"graphql-codegen --config codegen.yml"},"publishConfig":{"access":"public"},"peerDependencies":{"react":"^16.8.0","react-dom":"^16.8.0","styled-components":">= 3"},"devDependencies":{"@babel/core":"^7.10.2","@graphql-codegen/cli":"1.15.3","@graphql-codegen/typescript":"1.15.3","@graphql-codegen/typescript-operations":"1.15.3","@storybook/addon-contexts":"^5.3.19","@storybook/addon-viewport":"^5.3.19","@storybook/addons":"^5.3.19","@storybook/preset-typescript":"^3.0.0","@storybook/react":"^5.3.19","@types/jest":"^25.2.3","@types/lodash.clonedeepwith":"^4.5.6","@types/lodash.isplainobject":"^4.0.6","@types/lodash.isstring":"^4.0.6","@types/lodash.mergewith":"^4.6.6","@types/lodash.pick":"^4.4.6","@types/react":"^16.9.35","@types/react-select":"^3.0.14","@types/react-text-mask":"^5.4.6","@types/rebass":"^4.0.6","@types/rebass__forms":"^4.0.2","babel-loader":"^8.1.0","dotenv":"^8.2.0","fork-ts-checker-webpack-plugin":"^4.1.6","jest":"^26.0.1","prettier":"^2.0.5","react":"^16.13.1","styled-components":"^5.1.1","ts-jest":"^26.0.0","ts-loader":"^7.0.5","typescript":"^3.9.3"},"dependencies":{"@apollo/react-hooks":"^3.1.5","@babel/plugin-proposal-decorators":"^7.12.12","@formatjs/intl":"^1.4.6","@formatjs/intl-getcanonicallocales":"^1.5.9","@formatjs/intl-locale":"^2.4.23","@reach/slider":"^0.10.5","@rebass/forms":"^4.0.6","@rebass/preset":"^4.0.5","@styled-system/css":"^5.1.5","ajv":"^6.12.2","apollo-boost":"^0.4.9","final-form":"^4.20.0","graphql":"^15.1.0","just-compare":"^1.3.0","lodash.clonedeepwith":"^4.5.0","lodash.isplainobject":"^4.0.6","lodash.isstring":"^4.0.1","lodash.mergewith":"^4.6.2","lodash.pick":"^4.4.0","react-final-form":"^6.5.0","react-select":"^3.1.0","react-text-mask":"^5.4.3","rebass":"^4.0.7"},"_id":"@thirtymadison/quiz-ui@1.2.4-13","dist":{"shasum":"0e8096cdaf73803f15a137a50a9f1e34d722baef","integrity":"sha512-iDW3b3yBkGtxkhlmJkmGOchZHU60VxJZv9QvivGuliMy7nPXyoX+4wtzhZ2aVy3uMt3tUntlIhlxPFD+2xr0hg==","tarball":"https://registry.npmjs.org/@thirtymadison/quiz-ui/-/quiz-ui-1.2.4-13.tgz","fileCount":278,"unpackedSize":750539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgtqeqCRA9TVsSAnZWagAAHcMP/ixaLNB2uUo0uM88pD0J\nGvgk7BXJUQ9JbcUYyjYNvHJWI26mKwoVHE5naWALYhfqH5H1iQzVmmhEInDH\niTQ1yfFwQhe5uiEUtzey7rv03cMeIM1xESTW+x0LL+/t5ycLqNSePNvlOUIo\nrHpxg5hYlAeBpbqNiBAvQXz6HRJkNnM0+5OJhexeZyVt6yzp/O2RXsH6x5rA\ndsmhyDnpiinC6shGa3BOHCB8HjpEmszPgwn4YcSdzvHkZpp0alfnDHU+hfr8\nhy9gYgqBAhwzImykWUcyzy6gopalIxrURnF7hi6AkjLla/EC2J80L5mB2RRB\n2+Dcb3wmHdvHkG/TER+VTXobh6pRLOmbkrPu9Ohzl0eLTTx58NEed4hGIkrU\nDzHiEFlTu31HHHJJafLVldO1hcGI7dskb47WpoRVJhKKnQQPBMYHpY2S7EDX\nTeuiXkvXWexT6lsznMX35MPyXxEuNeymXc5b9YltP4Yv95qxBB5MKK6F0Cbl\nrwJ8Bi2+//+6/B45X2c2Ul0NEJ4f/3iPltyc61jdRyWF+C1i51L4mxamHLjc\nGRE+avECbNgse0U48rAnduvpEjsqr0Y5Wx7yugKm5RdcOp+7zCHK15aP/4kU\nnJMG5sX+BoAJ3xrYoQvBKdKDKQvEyzrfiZnb51/b00CzaCZvdl1RVaX4LnsV\nCgVO\r\n=KArc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDe6o5a9lRWQs+zXe5nSTs2v1KFvGe6VOqrsBDQiLN3bAIgH0016GnzbpoPTNcjJDtglshQpJO8pi7hFzTnTZ4ha7o="}]},"_npmUser":{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"},"directories":{},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/quiz-ui_1.2.4-13_1622583209991_0.37558047285955154"},"_hasShrinkwrap":false}},"time":{"created":"2020-06-26T20:03:28.418Z","0.1.0":"2020-06-26T20:03:28.795Z","modified":"2022-04-07T06:05:46.966Z","0.2.0":"2020-07-01T16:44:22.838Z","0.3.0":"2020-07-06T13:48:07.035Z","0.4.0":"2020-07-08T19:05:23.705Z","0.5.0":"2020-07-14T13:49:03.476Z","0.6.0":"2020-07-14T23:39:27.762Z","0.7.0":"2020-07-16T22:08:57.497Z","0.8.0":"2020-07-23T13:44:04.331Z","0.9.0":"2020-07-28T16:08:38.610Z","0.10.0":"2020-08-27T00:35:57.974Z","0.10.1":"2020-09-02T19:33:17.673Z","0.10.2":"2020-09-29T21:01:06.646Z","1.0.0":"2020-12-03T18:32:28.509Z","1.0.1":"2020-12-10T13:26:30.134Z","1.0.2":"2021-01-04T20:24:05.925Z","1.1.0":"2021-01-05T23:33:52.012Z","1.2.0-0":"2021-01-25T04:23:59.625Z","1.2.0":"2021-01-28T22:11:45.706Z","1.2.1-0":"2021-01-29T12:41:55.527Z","1.2.1-1":"2021-01-29T13:51:12.509Z","1.2.1":"2021-02-08T19:19:46.193Z","1.2.2":"2021-02-08T19:27:19.510Z","1.2.3":"2021-02-09T20:20:45.608Z","1.2.4-0":"2021-02-11T14:53:15.542Z","1.2.4-1":"2021-02-23T02:17:42.189Z","1.2.4-2":"2021-02-23T13:38:28.768Z","1.2.4-3":"2021-04-01T13:43:06.975Z","1.2.4-4":"2021-04-02T02:33:59.196Z","1.2.4-5":"2021-04-02T03:28:02.245Z","1.2.4-6":"2021-04-16T12:21:26.949Z","1.2.4-7":"2021-04-29T20:01:09.090Z","1.2.4-8":"2021-05-03T20:10:36.953Z","1.2.4-9":"2021-05-04T02:47:50.175Z","1.2.4-11":"2021-05-21T13:54:05.477Z","1.2.4-13":"2021-06-01T21:33:30.163Z"},"maintainers":[{"name":"akonwi30mad","email":"akonwi@thirtymadison.com"}],"description":"Tools and React components for rendering 30 Madison quizzes","author":{"name":"ThirtyMadison"},"license":"UNLICENSED","readme":"# Quiz UI\n\nThis is the UI library for rendering ThirtyMadison quizzes\n \n**Note** - This library has a dependency on the `react-intl` package which does not work out of the box with iOS 13.X. Polyfills are needed, see [Polyfills](#polyfills) section below\n\n\n## Installing\n\n```\nyarn add @thirtymadison/quiz-ui\n```\n\n## Usage\n\n```typescript\nimport { QuizRoot, TakeQuiz, createQuizTheme } from \"@thirtymadison/quiz-ui\"\n\nexport const SomeComponent = () => (\n  <QuizRoot apiUrl=\"graph/api/url\" bucketUrl=\"bucket/url\" theme={createQuizTheme(...)}>\n    <TakeQuiz scope=\"evens\" name=\"sample\" onError={(error) => {}} onDidComplete={(quizResponse) => {}} />\n  </QuizRoot>\n)\n```\n\n### \\<QuizRoot/> props\n\n| name      | required | description                                                                                                                                                   |\n| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| apiUrl    | true     | url of the graph api                                                                                                                                          |\n| bucketUrl | true     | url of the s3 bucket containing quizzes.                                                                                                                      |\n| theme     | true     | a theme object. use the `createQuizTheme` function to create this. The argument types define what is supported. all values should be styled-system compatible |\n\n### \\<TakeQuiz/> props\n\n| name             | type                                                                                | required | description                                                                                                                                                                                                                                                                                                                                                                                                                     |\n| ---------------- | ----------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| scope            | string                                                                              | true     | The brand scope (keeps/cove/evens/picnic)                                                                                                                                                                                                                                                                                                                                                                                       |\n| name             | string                                                                              | true     | The identifier of the quiz to take                                                                                                                                                                                                                                                                                                                                                                                              |\n| version          | number \\| \"latest\"                                                                  | false    | The quiz version to take. Defaults to the latest version                                                                                                                                                                                                                                                                                                                                                                        |\n| persist          | boolean                                                                             | false    | Determines whether or not to persist answers as the quiz progresses. Defaults to `true`                                                                                                                                                                                                                                                                                                                                         |\n| context          | `AnyObject`                                                                         | false    | An object of arbitrary data to use in quiz config Conditions                                                                                                                                                                                                                                                                                                                                                                    |\n| onError          | `(error) => void`                                                                   | true     | A callback to be notified of errors                                                                                                                                                                                                                                                                                                                                                                                             |\n| onDidComplete    | `(response: QuizResponse \\| CompleteQuizResponseParams) => Promise<string \\| void>` | true     | This will be invoked once the user reaches the end of the quiz. Receives the quizResponse object. If the user session is anonymous, this object won't have an `id` as it won't be saved to the db. If `persist` is `false`, this prop can be used to persist the completed payload to the database                                                                                                                              |\n| onDidLoad        | `(data: { quizResponse?: QuizResponse; meta: QuizMeta }) => void`                   | false    | A callback that will be invoked once the quiz has been bootstrapped and is ready for user interaction. If the user is resuming a draft quiz response, that quizResponse will be accessible `data`. `meta` has configName, configVersion, and the current progress of the quiz response                                                                                                                                          |\n| onDidCaptureLead | `(data: DidAnswerData) => Promise<number \\| string \\| void>`                        | false    | If the quiz can be started by an anonymous user and has lead capture steps, this callback will be invoked anytime lead information is completed successfully. If the callback returns a promise resolving to a user id (number), the quiz will begin to persist the quizResponse for the provided userId to the database. If the callback returns a promise resolving to a string, the string will be used as an error message. |\n| onDidAnswer      | `(data: DidAnswerData) => Promise<string \\| void> \\| void`                          | false    | Invoked after each step the user completes. If `persist` is `false`, this prop can be used to persist quiz questions to the database. If the callback returns a promise resolving to a string, that string will be used as an error message.                                                                                                                                                                                    |\n| onDidSave        | `(quizResponse: QuizResponse) => void`                                              | false    | Invoked with the updated quizResponse after answers are persisted                                                                                                                                                                                                                                                                                                                                                               |\n\n## Recipes\n\nThe \\<QuizRoot/> and some required props are left out of these examples for brevity.\n\n### Kick off other actions such as journey transitions when the user starts the quiz\n\nBecause each answer will be persisted to the db, `onDidSave` will be called first when a record has been created\n\n```typescript\nconst SomeComponent = () => {\n  const doOtherThing = (quizResponse) => {\n    // start journey transition, etc.\n  }\n\n  return <TakeQuiz onDidSave={doOtherThing} />\n}\n```\n\n### Lead capture when quiz can be initiated anonymously\n\n```typescript\nconst SomeComponent = () => {\n  const leadRef = useRef({})\n\n  return (\n    <TakeQuiz\n      onDidCaptureLead={async (field, value) => {\n        leadRef.current[field] = value\n\n        if (leadRef.current.email && leadRef.current.firstName && leadRef.current.lastName) {\n          const { data } = await createUser({ variables: { user: { ...leadRef.current, eCommerceUser: true } } })\n          return data?.createUser.id\n        }\n        return\n      }}\n    />\n  )\n}\n```\n\n### Hide until ready\n\n```typescript\nconst SomeComponent = () => {\n  const [quizReady, setQuizReady] = useState(false)\n\n  return (\n    <>\n      {!quizReady && <CoolLoadingScreen />}\n      <Box hidden={!quizReady}>\n        <TakeQuiz onDidLoad={() => setQuizReady(true)} />\n      </Box>\n    </>\n  )\n}\n```\n\n## Polyfills \n\nSee the docs [here](https://formatjs.io/docs/polyfills/intl-getcanonicallocales/) and [here](https://formatjs.io/docs/polyfills/intl-locale/)\n\nInstall the polyfills needed:\n\n```\nyarn add @formatjs/intl-getcanonicallocales @formatjs/intl-locale\n```\n\nImport the polyfills somewhere at the root of your application, such as `index.tsx` or `app.tsx`\n\n```\nimport \"@formatjs/intl-locale/polyfill\"\nimport \"@formatjs/intl-getcanonicallocales/polyfill\"\n```\n","readmeFilename":"README.md"}