{"_id":"addon-redux","_rev":"30-9d53ff3db309a3a455a7b0c42f8655c7","name":"addon-redux","dist-tags":{"latest":"2.0.11","next":"2.0.10-rc1"},"versions":{"0.1.0":{"name":"addon-redux","version":"0.1.0","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","react-redux":"^5.0.7","recompose":"^0.26.0","redux":"^4.0.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.8.0","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*"},"gitHead":"c8f6eece493e21ea637f1d27b63397777fc224f8","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@0.1.0","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"dist":{"integrity":"sha512-6ttgBfcyrdPSeFiDfENWsir7bL6WMa78Q29BZNcOF7QMOsyvOAFi4wAqLiBxNNLSsLuRVdT2zB/HPpwTWONapA==","shasum":"ec112ccffcb24fd89410127c85ad9bc4d2a71efe","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-0.1.0.tgz","fileCount":15,"unpackedSize":31991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbBcuNCRA9TVsSAnZWagAAQAIP/i0wH0kNjV4Fwruwm4q7\n3Od/iqM1P97x2ikEOVk//r2dEnDjZKD2Six1Iw/jVQCacsICFPjMzsIYYuNT\nw49tLrURiX5yOWMCB3CpLtXEKfxHkoU0XsxLIRC5aYqo5TwGIhXBJmg+IlVm\ndV7MKePe/hevl91DMlYa+gtoE/gGLyC1tAr04dkajWVowVdDtP08YidexNTu\nQHX3KHtfc68xKreEdgD9rDB5A90CqfGUQPlSY6RU4n3AYLAk3icLbxaBWT2i\nYPffwAaL81gG4KwcDABJ2gJgivFFtCuGu8mYlfvp4Q0SQ+Pc+dR06TEaT7Nf\nyENeXvR6QNTRnjxQ0ViebJVCG525VhVpLvdOxA0pUIo7ha1XJJ+E/oP3T48c\nXK3V7Vl+dT7Pc4Hg/p24YNSxmjmBB0kXuDf35p9NOMeBemafC0txwG/RRATi\n5hSxn2+wCPKKBuuE72M2L482pBsq8LKZA9on0GzAGKuglrcjUYzxrHdanqEd\nkSZASP17GsJioh/ThMHrtkLWmy0HBAVl63ne+pVDHvqHpZzaPb7b7RpAvEbE\n5t/czxnVskv0Yu3/QKMtb4f1uDWLtoryxXcLb4lhJG4czcrWk+q982cdiFJ+\nQANHTD0HB170tLEFkCRRtId2KSlIHlU8QihyjTPIi1W6/qS+CvRrs/j2Dldn\nLSjD\r\n=2P8q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIG7+xqq20AX1q50tMp9uZ8NwLl98NsypU/zuqJUqIMhYAiEAlfh3gERV+zYhXk3r8lRclXjwgnDADsJ/2tREtgKh7VI="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_0.1.0_1527106444978_0.2691212198032271"},"_hasShrinkwrap":false},"0.1.1":{"name":"addon-redux","version":"0.1.1","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","react-redux":"^5.0.7","recompose":"^0.26.0","redux":"^4.0.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.8.0","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*"},"gitHead":"1b1defd3fc6a53e608718512bdc26de796471f21","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@0.1.1","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"dist":{"integrity":"sha512-SOV62o990Rnd15WTSU9SjW+eJgMvtQCUBLFbBg3xqIoodxWbQYEGuHqfkCoQz68m5tkYFRB+6hmv9mS2k5/sIQ==","shasum":"067552a384a662df4607e84662cfdcbd102f2c1a","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-0.1.1.tgz","fileCount":15,"unpackedSize":36982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbBepVCRA9TVsSAnZWagAAHgkP/RcAGStRhL+YEoJy1tiS\nRakE/iQSUjtfgl/q3XVnPwx7B/VYODow7tzoLhnHmO7fWZ5ThQElqi1wGSm8\nBl1jloCjT6YvtCcpTFhTNO22OBQI191WC2kAP9bCauAgFXbixwZL6Wn+8TFi\nkpKjPHjRdCdQAQfo1jgtNBgWapeBIOG0S/rr0Cm+YOW/xKFi/aNERvveylsK\n6/dsJRnAZZe97vuQHAginiO9qs+rPAiVSLB8UB4mTcDm1TA4LnV0SGUJh8Yd\n76ud6SODF/fGXO4T1jdMJcBsuHwsLkCCvscs4eDU56kqPRLWKB36eXG2Kd/O\nPXg53pbX34iaTaQv39DhfL7dJGtuf72jZz2S1GDutNtzPuEW/WbMyVwsAYw6\nh74jgS9yBgoayMg9gU2yJXje2pguIDf0DiAPAQnjcxDFyHFYl7xe7cn1SFTB\ni/ZdoSr1iPjMfVq0xxxI/Uf1A0hTh2Wi6fvN7Dhwq3ZR57PRMtirNVq8L+cf\nzf/yWwP0kJvO0FOXr6Ra+4bOGpCsA37Isq7PcHS2p+4eudRu8OR3gVLd4bKB\nIX2bHJt2xZnIUTRGb5hOrEWMch6SjFBb4l2gFwns87LwgiNv6Wd5kPIAqw66\nKKLGFxMYGAVKSLyoai/PPYiIEPCpFNHDRBeJN5phjaSk0ZvkE+0NKCX0RQrU\noNFM\r\n=DmLA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCcNXujtAiyNnM5amC+oTucRz/FTpaIEmJ9CAV7Kwe45QIgDlLinPGWoUoRxFocJk18XrBZouV5Ak4WSVvIZBywgP0="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_0.1.1_1527114324028_0.5213682580971346"},"_hasShrinkwrap":false},"0.1.2":{"name":"addon-redux","version":"0.1.2","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","react-redux":"^5.0.7","recompose":"^0.26.0","redux":"^4.0.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.8.0","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*"},"gitHead":"3717cb206a3b2108365fa5dcbbceb18064f63e0a","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@0.1.2","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"dist":{"integrity":"sha512-j0mYY890WiEmTVBT1Wki5L9ifYisuDBxd5OD7+xJ+zB51WegZGWRIQtRf2e2NQmAmMqEx9sXYagszrpkQd9kEA==","shasum":"d86941c73e1ee68c63220dc24ebd180e2b33b85f","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-0.1.2.tgz","fileCount":17,"unpackedSize":196650,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbB39ACRA9TVsSAnZWagAABQsP/13JWsMMcdm19QaXs9QW\nHHgyJNBoYcQ/uhApvDPHlJeEt7fFkj/t3n2u0wKe/501YbQivNuMH5Ftrx+u\nta7UGJE22VcYPDiqrE3xyBmh1eJvYsQNmchb68SFG2uG6M5kjqmBw6I/bQp3\n2JGHnf/urnT9MC7cVLoCWOiMXdd7x5RoCSW78+N8tOy03UjwnbB87wJhFjDq\nqJCvr7jDO3V6jPiqtI4p70vd2l1qyLYt4Wqbo25gO3C+TqihC2XywKxFpL1c\n8MvCMHpF3OK8kXqZNyMMQgoOF8gC2a/SECDnEcwLEVzMyziGk5MjKf+b+C6U\nLeyspPWcMv/fNkbE7RuK2yfHWI1uL5skAMzgkFXFG9+k/o9cSafArfsvn0i0\n5/h6AFkL6+cOncA5ro1BE3JfvBM3pMCkx26iPtkBmkj2nOOMab35hizgyDI3\nmQK/fPHe2WMyczfzGEgc/ziYNdyZdochEV0+UoikuqsBQoG4oAU45dMsuCZv\n0rSmI8NOez8eGwoapAJxqvx3eJ5KUdQdgVScTP3Cyz2zHxoc1smWpH4g7x6u\nwzg5kMQ7KEcn50WqKn57IHCiOuvzQy2VLvnGdB3lWsyzT19V/Ui2vrRsl4+C\na47ZkSD/Kd1WJLV8DvteqlULfn6i3PAJ0k91cwT0yQt0k1UQP0yOYT/y/75M\nC5NH\r\n=igDm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICtvRPhxHkkgPsOTmSChKyYpF9H0CUxbPdMT57hpGqXZAiBuZQbaY6AaiyxGaa7vIvLjL8e5knajigPAjCxqP2XVqw=="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_0.1.2_1527217984037_0.9084538189625966"},"_hasShrinkwrap":false},"0.1.3":{"name":"addon-redux","version":"0.1.3","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","react-redux":"^5.0.7","recompose":"^0.26.0","redux":"^4.0.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.8.0","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*"},"gitHead":"d365dee6ac42c4b4eb449ed6abd56b28d3c4efc9","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@0.1.3","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"dist":{"integrity":"sha512-Vi80ph3Emm1Dr4SauBgGtkC5izDqvBhEoJYHmFClvK14fHTLkoXD/W4B12hoGOyzFW3SwI60oEdzCHcO9EQl5g==","shasum":"3138d3d578015d95a9ffd73b094db614b3f32c3f","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-0.1.3.tgz","fileCount":17,"unpackedSize":197800,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGXSSCRA9TVsSAnZWagAAYxMP/Ry0Z1TMRncpaN0gm8xi\n94ilc8J4oP0x+ruXywRnWQVllIfelk24m4DAZ5vY3gctYppICZOjdxnX6r2H\ncgK+8AdaphMPE3Ie2YiWerTdghSISFF5ZILW/CgopqDjVczd7ba5qvGiDWi+\n64Hkalrb6ut9RGiylBhcpBirhc6DS8P/M4yaEQIUPo7ZcV3tYAElkXJejjJ6\neIbaPnecrRNvDeIULELMQfZ6TL44MIWLw72me8/xeeyzIXUXj6dIK04vdip5\ndiHz8/7ivXXfJ4uB1b4hitHsIOHZ6Vr1iELVjc5oB+VqsPyGGGUCz3enk61t\n2lApCNGNOp0JjXlNK2ITuY2Oi0Hvjc+bHWjPm6JIibKwKlPrFYJlpVKmcUhG\nkJRaXdW40z1aPDAX16z+dzv4GVAXkxYoK00CGVZrJb/DL0+8AsBX4/RxgM3Q\nuofWKpZ5KuLJiyc/gm+dnxOoRtFe6ZS0/eBwjKzfu1C6wNdwQ4jagez+2GkO\nuHuek/pL8CZ1NjaqEwTNP2Pgg4WgCnrYeHm8Diy88TZpENJi2z+qAOvUJZFp\nv/rueSUjFnhrga+GpN+KnfyfeJ83asj1iKk/d+N2XExMU0Ux/Hq441zirujF\nnWFEhUko3OKTETsvdf9NApl8s7FeDnmkK1jjutiUmz1ucq7GxIXxc6Cq8NQs\niZtz\r\n=t/V+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICsUUWHq7a4gq9sMLkef15nwI9/9puHVgHh/QjtRn2pNAiEAmXoPbdPnqHpm1CyYKiAi+KTyfepDR7I66s6YTU8MIv8="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_0.1.3_1545172113208_0.5256972263642394"},"_hasShrinkwrap":false},"0.1.4":{"name":"addon-redux","version":"0.1.4","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"prepublishOnly":"npm run build","build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","react-redux":"^5.0.7","recompose":"^0.26.0","redux":"^4.0.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.8.0","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*"},"gitHead":"b5d61031b4d0a4eada67f4610579dfcba8618bb5","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@0.1.4","_npmVersion":"5.6.0","_nodeVersion":"9.7.1","_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"dist":{"integrity":"sha512-1reNC4oK87IFAXBJbPFxu3wWzjNwKOF7TXwoHdyLlf76Oa3j/hfVvq3LtC+JRJ9M43Kt5T8Vic2P+17hCaFEuQ==","shasum":"8ca2abc985489dc98ec2b6d45a36e425f4f6fd66","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-0.1.4.tgz","fileCount":17,"unpackedSize":198428,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcGZbHCRA9TVsSAnZWagAAPvYQAI56vOWTwqY6Aohss6gj\nyuQqkM5p7cTUUyPt/qRcFnVsCVDU9Y2v8f9F7xnU+xe1hrRPgMKbvDPpu+Oq\nM96FvDOahzwnX9CEk2INpEbgsw/ULEcErpOJBrm6Iu2DjTdUnNijap3lVnpi\n621jaqRCmhEexyCZVYpPOjhd/MYafLcK6OMv01PajHPPHOLJKUsQxJT9bLvq\nGetl/JhKFT6XqTm0kX7S/rPXqzxIR5PTNr39XqRGHWk53KtqRBatFb5MPLZx\neO8lcpJRVrjae+9jYFCgc8VKjxXrET6KquG5ylTVZ8hYLVDG9i/SUMJ6FGWl\nEpBPvD0sXg2bClF9H6LXrvI+HH4NjH94ne6fh+Fqac276ZYdTmp6AviIlMem\nezSi0geWOK1AbRX9qe+CAfgLQtJlnyAIrdjVP2ods9C0+tPTvnU0V5rB6qyi\nEe97+yP1CYT0cuhkh9Hvqcu8ziKs+d7CxqJi7mtsH5Nk/BOPjGHWnXKCFvy1\nRZMcg5IPw7ynCzcrg/axNM21hnCghoeG1eLxnwBNJeMZDELUmIltLMa+qHrb\n1Ti0+uxhKNyP1S2/nPRKkKKpo3UTJyfnPs5cItoHMIRN7nKM1jZGyRJRH5u3\nzmDdh4TzwuQnN8ArZwQRyMa7xBRJ+2QZWEp63ss7Tv04tiFBaLlTwPZZIxmn\nVLWD\r\n=LE2y\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEEz5LBHDw4Bn4uphwRrqHDVwtuq64qSehFHy1j4VLqfAiEA5tKqxcrz55KR/VGMI9PbfYsTXKfMRSwhmTjzllmEQbs="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_0.1.4_1545180870428_0.5408786896827862"},"_hasShrinkwrap":false},"1.0.0":{"name":"addon-redux","version":"1.0.0","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"prepublishOnly":"npm run build","build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","recompose":"^0.26.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.8.0","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*","react-redux":"^6.0.0","redux":"^4.0.0"},"gitHead":"f3cc4bccab8a1ee8b5e59fc92a8e1b7fc6f4026a","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@1.0.0","_npmVersion":"6.4.1","_nodeVersion":"10.12.0","_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"dist":{"integrity":"sha512-wBtM7waNH2j1T/hajO22bC9FYdrmv5RKywn4xbj8xSJtiBoU5uw8PPu3B7FCtS9qubus+HonLxwhXBFMUhTEjA==","shasum":"02fbb310c12f1e587b9ea7dcd8bb90411472ade6","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-1.0.0.tgz","fileCount":17,"unpackedSize":198763,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJcQKPyCRA9TVsSAnZWagAAcjQQAIliY9wH2eVVBq/zUF53\ne1lbhRum8aiN/kW6p4oqxPtkSF9XxKXNi+hIDUS5R8L1PYuF2Cx/rdR2FJ6T\nmM18i1WXd20EC52SmXdu/EmDkxxBPDQjPmDTFDZ8yJNFBYh4/G2DCIfMcKgG\nkSSbjUcW03odXbDaobg7AF2JjEPFq7T4GczJ7+0DzmKzFEKfs+B27YGTe4Qn\n/IbRETcdE8PSiarYuOwCjdAs/P1Oc0fgui52hsyqnrTcLkCU3TtXZV+l2DDK\nSpJohkaS+MracphJvrMCT5ZJVwu/CAnpwiMPmkMNLJr2IVTY2z8Lidcsjx50\niLDJB8NMC6TGcH+PwEJdPTlNfDuRa0zV8yxENPgNy8sOH/+v9Q1qYFAcw4xj\nzDhbQT4mw9YefI7nuQrClsWel74zGuixbkiMHjmBiiyGEjJF5mvUYYJkFmGm\npLVzF382YzJwutb5XDdwDpUjB439c85DBQ3vgvLSwueQOOAkmVy3KQIcXZis\nE3naKtQwnjttsd8UcWxoIfBtj25zhpFKgfEA3/0xgCy0nkRjXZvBX9vDtjfY\n8iRYvpsunlIcTaUiOO0KvJVBXsoi/LmTKt68jon0qLQ56EhQEb85WBO3J9XH\nJjCxqMufxWEagOrt5H8iuih1wk7vGEM30ChUb4MgegqovkaqfCug4pl4OOGz\nwuM2\r\n=fyse\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQColmBsNJIUUgusNTODY1TzDqMrkSAItwFA3knNEpuKBQIgL8bIsS3GpiE9WQbXndVNbB58xWz0kl5mhmeKIVCEWx4="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_1.0.0_1547740145584_0.7530755580367872"},"_hasShrinkwrap":false},"1.1.0":{"name":"addon-redux","version":"1.1.0","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["addon","redux","react","storybook"],"repository":{"type":"git","url":"git+https://github.com/frodare/addon-redux.git"},"scripts":{"prepublishOnly":"npm run build","build":"babel ./src -d ./","dev":"babel ./src -d ./ -w"},"license":"MIT","main":"dist/index.js","dependencies":{"date-fns":"^1.29.0","jsondiffpatch":"^0.3.10","react-json-tree":"^0.11.0","recompose":"^0.26.0"},"devDependencies":{"babel-cli":"^6.24.1","babel-core":"6.26.0","babel-eslint":"^6.0.2","babel-loader":"^6.2.5","babel-plugin-lodash":"^3.2.11","babel-plugin-transform-object-rest-spread":"^6.26.0","babel-plugin-transform-runtime":"^6.23.0","babel-plugin-webpack-alias":"^2.1.2","babel-polyfill":"^6.26.0","babel-preset-env":"^1.6.0","babel-preset-es2015":"^6.24.0","babel-preset-react":"^6.16.0","babel-preset-stage-0":"^6.22.0","babel-regenerator-runtime":"^6.5.0","babel-runtime":"^6.26.0","prop-types":"^15.5.8","react":"^15.6.2","react-dom":"^15.6.2","standard":"^11.0.1","eslint":"4.18.2","eslint-config-standard":"10.2.1","eslint-config-standard-react":"5.0.0","eslint-plugin-import":"2.7.0","eslint-plugin-node":"5.2.0","eslint-plugin-promise":"3.5.0","eslint-plugin-react":"7.4.0","eslint-plugin-standard":"3.0.1"},"peerDependencies":{"react":"*","prop-types":"*","react-redux":"^6.0.0","redux":"^4.0.0"},"gitHead":"44cff31086767871a8b5440f25d73c237377e8f2","bugs":{"url":"https://github.com/frodare/addon-redux/issues"},"homepage":"https://github.com/frodare/addon-redux#readme","_id":"addon-redux@1.1.0","_nodeVersion":"11.13.0","_npmVersion":"6.7.0","dist":{"integrity":"sha512-948TRqmbhFUmmKbC7p0xtNEQpGHUS0u0YzhM6SRZS/hSgL/LV2T/RuVacLcw8O9vUPFc4ros6eq52Y2EbM8Qgw==","shasum":"c07fa56946e1fa8914b8bb1eaf44f2c58b62de93","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-1.1.0.tgz","fileCount":17,"unpackedSize":199143,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeLGpXCRA9TVsSAnZWagAAl3MQAKEXJ8L12vV5vcU/9Qy+\n9sm34fg6SkQflcERXlEMYF3epod2QDnhzYYcA/3IDnVTd/TXiVu5I4d8l14K\nGtJpEFcbhLX2PeEE3SwC+X21F/9B6uIfUCzLMLS7yB30RbieRNQLupfDum5E\nEond5O96XjyEtHmjgx7ZRfkcBe2xIN/5OsIsmfvvIGQo3onrOJcmKc3Wot2I\newGKzfUWbe6hR4+W6qtavYcOWAXLWZes3NUInkSfIOaKkD52iV7Y5fW83EGq\nsuqcyfoNXak1aETx6hNzYpJXda7LFodbOdTFPtS+OGfKJU8johXe89uBltdB\nJ7a0X28U8BrZDCe+y3y8g0o/sa+vl2US4noaslVPSBs+dBgZr2x4IlAgxLXE\nQSyIWYtOsr2bO2xs3SkevCvEJQ1JlqqmbTDXPGaKs065aXNAvdJmmn+eQtRk\nOoDzxbxLbWPuZqagXyCg1oyFgV4COqARW8CbJlv2plxtKfKZj/F0jtoCDpWh\ndWFUkjxKSFJFmpfPVoapGD9JJoaUD06bvuDg2xgyuUgI9tcWSPYYVte6q4pG\ngidOoFtyFxa6NUA5OBX5DV6nG9EaK7bEtJWvS+Bo9kRPfl8cHkqrHREd327h\nw9+3fXBJXxA+LTMCbCiCKyo27z/Etef36Grg8lntLMdmat7KgXm0aEDEAfrn\noJ5S\r\n=+5d8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIBddD3uIREHufeXRRtvsbRjNEnaZBJ70oPuUWPea6fHLAiEAwMtBxu7Jr7M2RPeOIkSSWC8iEZlJPcAnLaw8pYSqL8Y="}]},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_1.1.0_1579969111292_0.6874383316911254"},"_hasShrinkwrap":false},"2.0.0-1":{"name":"addon-redux","version":"2.0.0-1","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^8.6.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0","jsoneditor-react":"^3.1.1","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","redux":"^4.1.0","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-1","dist":{"shasum":"e77e74b76f758a6e41898d83b21fb6c1f88eb2f6","integrity":"sha512-ReZDgJF7PeJ5XjrRq1vZA+SXkJTuX7TWqrg2+HXqC+R+jaybccvJjt+bbQN0s6PnoE5y17yZ0lehBImR3PvbLQ==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-1.tgz","fileCount":53,"unpackedSize":64210,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2OpjCRA9TVsSAnZWagAAMiIP/j2go4+UjqvI0Z8S+rFu\nxoj+00i6Y4+Fc/VuVBNQAyZOGbi8YHicPTtMdC6szGwCKaazZrDw4jZobSY8\nTzsR0DfCVQ8WfYDKkngFBBMrzj7zOvJl6xXJ9orDi0i6kxy10W/8U2MqyBVL\nEJfFYZYeByWpSKW9+ywrQL4nHii0/ZuprjWY+kdO5gddy1w4ncT2/Rbe78ef\nPqcWsSaE32NUplSsO8qK6V6/35aPa/BUuMrAJay0EDKHURScZE2m+vLoOR/T\nZN/vtjz1FnUTurSnnQNulrfsgZeGPJ+76vpIILYnTjARy3GFrvde0E4oxYL3\nOB04vEfOvvnVYBE+1fyfgsjhupGtFetX79JarKh/3A+6u/LDzRhPSsPZel4C\nOJp99Dy1kNO4pI//HKNFmwEEuzi12e27LMCxgaEbaCi/FEASGikwhdWadAdT\nhQ/Cu51gJosYoMLG7fNr0AJX4te40/y4Pm4N/ADGk8wpRTII3DwZVrBO1WY7\n3M+0joWwnFlm0aewGzEG3+4FsPvKqXafxQOsXwGgiSQuEtyk1QAQSlwIlBuQ\n03P3HVFGiumhShSQN/qp0ATIIXo28duLNv3t1c6HyS5XnIGtis4QxOwF3RHE\n7pJK5w/j4qOAJiL+caZ+bOmAh/fsx0WvqETcMg+1YTtF0kr0N6FIE68Elzud\nHkGw\r\n=Y7Jc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDOCcdFyJDdFRTfLjZeGupGBPaSNaGoVP3NHrGyDaDL0wIgB3SxVv+2N7OZFVCPgNmBJu6B7qnFd/UhCpNAerCUBhg="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-1_1624828514479_0.45034386955414707"},"_hasShrinkwrap":false,"deprecated":"this is an alpha test release"},"2.0.0-2":{"name":"addon-redux","version":"2.0.0-2","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^8.6.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jsondiffpatch":"^0.4.1","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{"jsoneditor":"^9.5.0","jsoneditor-react":"^3.1.1"},"readmeFilename":"README.md","readme":"# Storybook Redux Addon\n\nStorybook Redux Addon aids in using redux backed components in your stories in [Storybook](https://storybook.js.org).\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where the Redux Addon helps out by providing a decorator and helpful panels to support container components.\n\n---\n\n![Redux Addon History Panel](docs/addon-redux-history-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides Canned Action buttons which can dispatch predefined actions\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n- Filter actions entries by action and state diff\n\n# Install\n\n```\nnpm install --save-dev addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the provided store\n- the [withRedux](#decorator-withredux) decorator must be used in the story\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\nHowever, the Redux Addon also requires the `addons` module as shown below.\n\n```js\n// .storybook/addons.js\nimport addons from '@storybook/addons'\nimport registerRedux from 'addon-redux/register'\nregisterRedux(addons)\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\n\nconst store = createStore(reducer, withReduxEnhancer)\n\nexport default store\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\nimport { applyMiddleware } from 'redux'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Decorator (withRedux)\n\nThe Redux Addon provides a decorator that wraps stories with a react redux provider component.\nThe provided `withRedux` method is a factory that requires storybook's `addons` module.\nThe result then needs to be invoked with the redux addon settings for the story.\nThere are currently three supported settings: __store__, __state__, and __actions__.\n\n```js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport { storiesOf } from '@storybook/react'\nimport addons from '@storybook/addons'\nimport withRedux from 'addon-redux/withRedux'\nimport store from './your/store'\nimport Container from './your/container'\n\nconst withReduxSettings = {\n  Provider,\n  store,\n  state: {optional: 'state to merge on start'},\n  actions: [{name: 'Demo Action', action: {type: 'test'}}]\n}\n\nconst withReduxDecorator = withRedux(addons)(withReduxSettings)\n\nconst stories = storiesOf('Demo', module)\nstories.addDecorator(withReduxDecorator)\nstories.add('default', () => <Container />\n```\n\n### Store Setting\nThe __store__ setting is required and should be set with the store of your application.\nTo function properly, the store must be built including the [enhancer](#enhancer) provided with the Redux Addon.\n\n### State Setting\nThe __state__ setting is optional. Use it if the default state returned from the store's reducers is not ideal or can be improved for the story.\nThe object set to the __store__ setting will be merged on top of the default store's state when the story loads.\n\n### Canned Actions Setting\nThe __actions__ setting is optional. Use it to set canned (predefined) actions that are useful to test the story's component.\nThe setting takes an array of canned action objects which contain a name and action key.\nA button will be appended to the Redux State Panel for each canned action object in the array.\nThe name key is used as the label of a button.\nThe action key holds the action object that will be dispatched when the canned action button is clicked.\n\n```js\n// Canned Action Object\n{\n  name: 'Test Action',\n  action: {\n    type: 'test_action_type',\n    date: 'action data'\n  }\n}\n\n```\n\n![Redux Addon State Panel](docs/addon-redux-state-panel.png?v=1)\n\n## Custom Decorator\n\nHaving to import the `store`, `Provider`, `addons` module, and the `withRedux` decorator in every story file is not ideal for larger applications.  Instead, it is recomended to create a custom decorator in the storybook configuration folder that includes the `withRedux` setup.\n\n```js\n// .storybook/decorators.js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport addons from '@storybook/addons'\nimport withReduxCore from 'addon-redux/withRedux'\nimport { store } from './your/store'\n\nexport const withRedux = (state, actions) => withReduxCore(addons)({\n  Provider, store, state, actions\n})\n```\n\n```js\n//custom decorator use in story\nimport { withRedux } from '../../.storybook/decorators'\n...\nstories.addDecorator(withRedux(initialState, cannedActions))\n```\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-2","dist":{"shasum":"df762db245d7581c22dbb1369883e1ce519685d9","integrity":"sha512-NNM/5Adef+kULng0SRxF6QjJMu+YW8acq9iWQ+MFzz94a1SFfaPaxo90QJtrtP38TOimqNwSUPdiljTO1001kA==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-2.tgz","fileCount":53,"unpackedSize":64212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2PABCRA9TVsSAnZWagAAtZwP/i7O8bfZD2E6h8ERdiun\nhgLkDbbzwtyMiAnU2tl3Bd0BnRTEZsTDsmvXeGUBEI/nj/NlXqeOcJ/g/09m\nHPpJnu6Mk+1/CeB6g1wg86BYINDr3OMxu+kqKn6WcQkte51/cvWBn7UE+ubL\n8t/kXygnW1TpoOHIgOMvOiU4EqArsWskpP8x9R0S8NFqLrWoJ+VjPQ8TGJuT\nEZc0cMc+zU1qEitCvCP/qQAZMjwlGFz+3njWzPmPDUKomqZ2f/wHCRWNeZv3\noiBi8S7rKH2LAJxWrhCspLh94yoo7zv2dKvu2IyeXGMqlbne72XUohohyMT4\n8KmUDPeP+0ukZ1vLd7ki7YAjw3wBW7dN6B7tRp/snrUf8V4Xtw+u7z3AqycQ\n2iqN1+kmb+vFFTS+DdzGGgEUEhyKCWntC9f3I4cJKmVsu48wgLhED5wCEiT8\nxUC9x+lz10S69oHCcYycZeON9kp4OVz54SDaGqsIaAL/ZGgod37wS3GUN/Us\noyLpskBU00COxsgcazvMYb0IXham+OTDc5TRk+2Y5ob9UnRwWB4tT9CtbQZK\nWyt3pNKJ26LGJj3edDKRD0kK43IGsLF8lSzPlGgDq0MIigsVADIFZ5BvB+jL\n9Y/TJHGRxWNX0zquJLizdalW34KCUsnjYa3ezBvon8hpWbNSs4Zt6SNJVFpY\nbuzz\r\n=uQ14\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCtIkkamRo4YCIRPKHtJFMvgK5h6OowAJxKXA/ZTZ75PAIgZDZrqXq4J/pOzPElN458ZC3X0uR6n2iFdm9IOSut4PY="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-2_1624829953405_0.4234828015242471"},"_hasShrinkwrap":false},"2.0.0-3":{"name":"addon-redux","version":"2.0.0-3","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^8.6.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jsondiffpatch":"^0.4.1","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{"jsoneditor":"^9.5.0","jsoneditor-react":"^3.1.1"},"readmeFilename":"README.md","readme":"# Storybook Redux Addon\n\nStorybook Redux Addon aids in using redux backed components in your stories in [Storybook](https://storybook.js.org).\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where the Redux Addon helps out by providing a decorator and helpful panels to support container components.\n\n---\n\n![Redux Addon History Panel](docs/addon-redux-history-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides Canned Action buttons which can dispatch predefined actions\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n- Filter actions entries by action and state diff\n\n# Install\n\n```\nnpm install --save-dev addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the provided store\n- the [withRedux](#decorator-withredux) decorator must be used in the story\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\nHowever, the Redux Addon also requires the `addons` module as shown below.\n\n```js\n// .storybook/addons.js\nimport addons from '@storybook/addons'\nimport registerRedux from 'addon-redux/register'\nregisterRedux(addons)\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\n\nconst store = createStore(reducer, withReduxEnhancer)\n\nexport default store\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\nimport { applyMiddleware } from 'redux'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Decorator (withRedux)\n\nThe Redux Addon provides a decorator that wraps stories with a react redux provider component.\nThe provided `withRedux` method is a factory that requires storybook's `addons` module.\nThe result then needs to be invoked with the redux addon settings for the story.\nThere are currently three supported settings: __store__, __state__, and __actions__.\n\n```js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport { storiesOf } from '@storybook/react'\nimport addons from '@storybook/addons'\nimport withRedux from 'addon-redux/withRedux'\nimport store from './your/store'\nimport Container from './your/container'\n\nconst withReduxSettings = {\n  Provider,\n  store,\n  state: {optional: 'state to merge on start'},\n  actions: [{name: 'Demo Action', action: {type: 'test'}}]\n}\n\nconst withReduxDecorator = withRedux(addons)(withReduxSettings)\n\nconst stories = storiesOf('Demo', module)\nstories.addDecorator(withReduxDecorator)\nstories.add('default', () => <Container />\n```\n\n### Store Setting\nThe __store__ setting is required and should be set with the store of your application.\nTo function properly, the store must be built including the [enhancer](#enhancer) provided with the Redux Addon.\n\n### State Setting\nThe __state__ setting is optional. Use it if the default state returned from the store's reducers is not ideal or can be improved for the story.\nThe object set to the __store__ setting will be merged on top of the default store's state when the story loads.\n\n### Canned Actions Setting\nThe __actions__ setting is optional. Use it to set canned (predefined) actions that are useful to test the story's component.\nThe setting takes an array of canned action objects which contain a name and action key.\nA button will be appended to the Redux State Panel for each canned action object in the array.\nThe name key is used as the label of a button.\nThe action key holds the action object that will be dispatched when the canned action button is clicked.\n\n```js\n// Canned Action Object\n{\n  name: 'Test Action',\n  action: {\n    type: 'test_action_type',\n    date: 'action data'\n  }\n}\n\n```\n\n![Redux Addon State Panel](docs/addon-redux-state-panel.png?v=1)\n\n## Custom Decorator\n\nHaving to import the `store`, `Provider`, `addons` module, and the `withRedux` decorator in every story file is not ideal for larger applications.  Instead, it is recomended to create a custom decorator in the storybook configuration folder that includes the `withRedux` setup.\n\n```js\n// .storybook/decorators.js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport addons from '@storybook/addons'\nimport withReduxCore from 'addon-redux/withRedux'\nimport { store } from './your/store'\n\nexport const withRedux = (state, actions) => withReduxCore(addons)({\n  Provider, store, state, actions\n})\n```\n\n```js\n//custom decorator use in story\nimport { withRedux } from '../../.storybook/decorators'\n...\nstories.addDecorator(withRedux(initialState, cannedActions))\n```\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-3","dist":{"shasum":"f3122720ebf4f14968d0b1349d9a1da23f1825e9","integrity":"sha512-tVIY/Tq2t/OUAzUIcTBapRAmonk2yRkpeSRzjR05azzqQGchjxznUqKn+IwlnQCNlsFGDqJEu83gQr/kb1WGfw==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-3.tgz","fileCount":53,"unpackedSize":64212,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2QSrCRA9TVsSAnZWagAAAo8P/1lTlJjyB2ZtmQQ1LhzX\nhSL0y58SK4wLHCw9DvJ7/td+3b0ib0MHHMmGg6mdvKggwJmlh7Meh3EClN/b\nkmVf2mzjqzOF5Mq+VIBAxUFNXgFbUHyDmzaFbhttMC0x/OEPn7PTlewB1kMk\ntxAskn79XTE0k1aANjx5usK4M6yGXDWeMYfWx4WjHd2byThfqdt7Ej4Jd0+Q\nr0bpF27969W8oF7Q58OUliM4N+QcdpuWpH8cb5EkUetZ7P3/9pe3oYWkRxCb\n1QzbVg6FOi1Y5TszD/o0JEJw20j126c6jmVdAbxKRGczVtB8xGcDw1/Zqoem\n6lCqqq1Ac1d1YlvE3HRz8k998bv8lSR2pX+gob1jEvZeRRlZzMe2hlmC++T0\n7aLeBHyNvSMuURnpCsRnNO8h1IsUdJ7ZRzyqn26gar0Ituboyr4VfLxu5qkQ\nJgYMPnHQP+Xw6pc2cEksc0CKZKaDcV6Rv98/3LoPPKCUgaUeBOrj5DSQ18bq\n/Q02OkePUBrD4Zx4cHivoTd2f4sFIDeU2u2r5VHW90AavgAQiU2Irnr1Efjt\nKxftQTrhSTkUpvkwmnPRRVdRq2PVc8hhcEey8YgafOrl0FLvcWy9LcqCcVV8\n10uotgVMmv3C8PvRTHsPnE95btB8gq8cLTmJ3Sgv4ffQ0OllbHcF5MtO3CWk\nl9Wf\r\n=CbsE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0rGCOcgmKY0aRbqFdo1O7aaxUHNvhKtqMHaIRTy3PFQIhAObdz2MBZAgNjt6Lvzx/mhtX6CHBjeMh3J9arG9Ys2r0"}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-3_1624835242916_0.1535775859849322"},"_hasShrinkwrap":false},"2.0.0-4":{"name":"addon-redux","version":"2.0.0-4","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^8.6.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{"jsoneditor":"^9.5.0","jsoneditor-react":"^3.1.1","jsondiffpatch":"^0.4.1"},"readmeFilename":"README.md","readme":"# Storybook Redux Addon\n\nStorybook Redux Addon aids in using redux backed components in your stories in [Storybook](https://storybook.js.org).\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where the Redux Addon helps out by providing a decorator and helpful panels to support container components.\n\n---\n\n![Redux Addon History Panel](docs/addon-redux-history-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides Canned Action buttons which can dispatch predefined actions\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n- Filter actions entries by action and state diff\n\n# Install\n\n```\nnpm install --save-dev addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the provided store\n- the [withRedux](#decorator-withredux) decorator must be used in the story\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\nHowever, the Redux Addon also requires the `addons` module as shown below.\n\n```js\n// .storybook/addons.js\nimport addons from '@storybook/addons'\nimport registerRedux from 'addon-redux/register'\nregisterRedux(addons)\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\n\nconst store = createStore(reducer, withReduxEnhancer)\n\nexport default store\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\nimport { applyMiddleware } from 'redux'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Decorator (withRedux)\n\nThe Redux Addon provides a decorator that wraps stories with a react redux provider component.\nThe provided `withRedux` method is a factory that requires storybook's `addons` module.\nThe result then needs to be invoked with the redux addon settings for the story.\nThere are currently three supported settings: __store__, __state__, and __actions__.\n\n```js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport { storiesOf } from '@storybook/react'\nimport addons from '@storybook/addons'\nimport withRedux from 'addon-redux/withRedux'\nimport store from './your/store'\nimport Container from './your/container'\n\nconst withReduxSettings = {\n  Provider,\n  store,\n  state: {optional: 'state to merge on start'},\n  actions: [{name: 'Demo Action', action: {type: 'test'}}]\n}\n\nconst withReduxDecorator = withRedux(addons)(withReduxSettings)\n\nconst stories = storiesOf('Demo', module)\nstories.addDecorator(withReduxDecorator)\nstories.add('default', () => <Container />\n```\n\n### Store Setting\nThe __store__ setting is required and should be set with the store of your application.\nTo function properly, the store must be built including the [enhancer](#enhancer) provided with the Redux Addon.\n\n### State Setting\nThe __state__ setting is optional. Use it if the default state returned from the store's reducers is not ideal or can be improved for the story.\nThe object set to the __store__ setting will be merged on top of the default store's state when the story loads.\n\n### Canned Actions Setting\nThe __actions__ setting is optional. Use it to set canned (predefined) actions that are useful to test the story's component.\nThe setting takes an array of canned action objects which contain a name and action key.\nA button will be appended to the Redux State Panel for each canned action object in the array.\nThe name key is used as the label of a button.\nThe action key holds the action object that will be dispatched when the canned action button is clicked.\n\n```js\n// Canned Action Object\n{\n  name: 'Test Action',\n  action: {\n    type: 'test_action_type',\n    date: 'action data'\n  }\n}\n\n```\n\n![Redux Addon State Panel](docs/addon-redux-state-panel.png?v=1)\n\n## Custom Decorator\n\nHaving to import the `store`, `Provider`, `addons` module, and the `withRedux` decorator in every story file is not ideal for larger applications.  Instead, it is recomended to create a custom decorator in the storybook configuration folder that includes the `withRedux` setup.\n\n```js\n// .storybook/decorators.js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport addons from '@storybook/addons'\nimport withReduxCore from 'addon-redux/withRedux'\nimport { store } from './your/store'\n\nexport const withRedux = (state, actions) => withReduxCore(addons)({\n  Provider, store, state, actions\n})\n```\n\n```js\n//custom decorator use in story\nimport { withRedux } from '../../.storybook/decorators'\n...\nstories.addDecorator(withRedux(initialState, cannedActions))\n```\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-4","dist":{"shasum":"02684f826a0c3471ff1d5474207d025bb98bb0d5","integrity":"sha512-Iwfd09AkxvTGUInxg/axbMDnvbcoTQmcEeSKj4t3D5ZM/aR9P2q9W92sjnu0OEX6uKhu/5e+SKUhDRiG0ViYrw==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-4.tgz","fileCount":53,"unpackedSize":64906,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2QfACRA9TVsSAnZWagAAFEkQAJAql048j1RNuIZ9pVq1\necM1QhnOm307YMdbN2rVm8S0FvnR4O/mPDgjqC5TBPXrNeeKFX6arNvlAccn\nVidC6iu4iFnDmnBfzRnQ7gSXBXFQQNFVpjNYpNBHLQ1qPTDLTxJdvYgeRIO6\nJtpn8Q3XoysL4qvKEEcO5WDef/kQ1PwQ0ROwYybsvfwu3J8c2qE1XJwGhEK4\nPatYy4WeAWEqD15fy0B+Isu5mVp6anKLx2+kzxC2DTPWmIkhmfU/arhshB/1\nfJrgFSyMdb4Fg/lBxoHZbIF4JVz+uk2JdQh5O2vyWBCj2aWi+/TPjuRYtAEG\niBZ8Dq0Ge9I7IRVsf++WLuCiFw7QR+x91Wtew8dpFCsvc8oQ4A1ovbUHscre\nLMn8lVJACkhiUYx+K7sxurBQqPpR+uk3CbO/MEvoKKM+MipXxJ32uopG6iDM\naIXuf6duPTAAOHkMHOoKWtWWY1gfT4A6mDuB/UxGSqwF4W+eOuPfb0JxS53r\nPqhOXOnP0pFQ6z9+T+EOxObWuTXo5XoOYMZABVNin+oWno52m44tnhFu8WJF\nmNwDKIvGqoBVwct6LcVT7TRIanJ9kdRI+sO6TijGw6eGmKXV5/CQTXyNpQ7M\nEPMi7AltdtBrm8vRnijdWUGu0zjxZ6Hzd+DpLiRU+eouLBWVMvKLIhGpUjB5\n9GRk\r\n=mJT8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCtUtYcxWl5JbA2W1LJKVpneeIzU3t+B9B27E/Ji+Ej9AIhAN2kGqwNjegz6SA3qeK/2aUwDxZ+XrKVbYny0sirfmg4"}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-4_1624836032367_0.5200572107080927"},"_hasShrinkwrap":false},"2.0.0-5":{"name":"addon-redux","version":"2.0.0-5","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^8.6.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"readmeFilename":"README.md","readme":"# Storybook Redux Addon\n\nStorybook Redux Addon aids in using redux backed components in your stories in [Storybook](https://storybook.js.org).\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where the Redux Addon helps out by providing a decorator and helpful panels to support container components.\n\n---\n\n![Redux Addon History Panel](docs/addon-redux-history-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides Canned Action buttons which can dispatch predefined actions\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n- Filter actions entries by action and state diff\n\n# Install\n\n```\nnpm install --save-dev addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the provided store\n- the [withRedux](#decorator-withredux) decorator must be used in the story\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\nHowever, the Redux Addon also requires the `addons` module as shown below.\n\n```js\n// .storybook/addons.js\nimport addons from '@storybook/addons'\nimport registerRedux from 'addon-redux/register'\nregisterRedux(addons)\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\n\nconst store = createStore(reducer, withReduxEnhancer)\n\nexport default store\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\nimport { applyMiddleware } from 'redux'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Decorator (withRedux)\n\nThe Redux Addon provides a decorator that wraps stories with a react redux provider component.\nThe provided `withRedux` method is a factory that requires storybook's `addons` module.\nThe result then needs to be invoked with the redux addon settings for the story.\nThere are currently three supported settings: __store__, __state__, and __actions__.\n\n```js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport { storiesOf } from '@storybook/react'\nimport addons from '@storybook/addons'\nimport withRedux from 'addon-redux/withRedux'\nimport store from './your/store'\nimport Container from './your/container'\n\nconst withReduxSettings = {\n  Provider,\n  store,\n  state: {optional: 'state to merge on start'},\n  actions: [{name: 'Demo Action', action: {type: 'test'}}]\n}\n\nconst withReduxDecorator = withRedux(addons)(withReduxSettings)\n\nconst stories = storiesOf('Demo', module)\nstories.addDecorator(withReduxDecorator)\nstories.add('default', () => <Container />\n```\n\n### Store Setting\nThe __store__ setting is required and should be set with the store of your application.\nTo function properly, the store must be built including the [enhancer](#enhancer) provided with the Redux Addon.\n\n### State Setting\nThe __state__ setting is optional. Use it if the default state returned from the store's reducers is not ideal or can be improved for the story.\nThe object set to the __store__ setting will be merged on top of the default store's state when the story loads.\n\n### Canned Actions Setting\nThe __actions__ setting is optional. Use it to set canned (predefined) actions that are useful to test the story's component.\nThe setting takes an array of canned action objects which contain a name and action key.\nA button will be appended to the Redux State Panel for each canned action object in the array.\nThe name key is used as the label of a button.\nThe action key holds the action object that will be dispatched when the canned action button is clicked.\n\n```js\n// Canned Action Object\n{\n  name: 'Test Action',\n  action: {\n    type: 'test_action_type',\n    date: 'action data'\n  }\n}\n\n```\n\n![Redux Addon State Panel](docs/addon-redux-state-panel.png?v=1)\n\n## Custom Decorator\n\nHaving to import the `store`, `Provider`, `addons` module, and the `withRedux` decorator in every story file is not ideal for larger applications.  Instead, it is recomended to create a custom decorator in the storybook configuration folder that includes the `withRedux` setup.\n\n```js\n// .storybook/decorators.js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport addons from '@storybook/addons'\nimport withReduxCore from 'addon-redux/withRedux'\nimport { store } from './your/store'\n\nexport const withRedux = (state, actions) => withReduxCore(addons)({\n  Provider, store, state, actions\n})\n```\n\n```js\n//custom decorator use in story\nimport { withRedux } from '../../.storybook/decorators'\n...\nstories.addDecorator(withRedux(initialState, cannedActions))\n```\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-5","dist":{"shasum":"2afec63ae039e0e5ccf0d2373de12fd53d5c6fb3","integrity":"sha512-vISTEtuwU9Qm+zykDS/zE9h3ZF6hg1SoaDWTJ9kK1bC5SL1OFx7Z+HOcCJOL4+KBLInmf9VVM7HIHN0HpobLzw==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-5.tgz","fileCount":53,"unpackedSize":65567,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg2SnwCRA9TVsSAnZWagAALoEP/3iaayhsdnegPgv2LA+o\ngOTM1EitbkXgCa3cppFVym7sZ1CSbIWF/4u9MsNvT9jWmKqEHAlS8EZ8j3jz\npoabtnod7yze7C0z1YFu9NaaZUvQrPA7I4Ak+mztEK1/Y0adnZjZgWV9Tyww\nS+8KQoMJ72/C3HZh1mbbTR6/fRGnFA70KYiBjgr+NTbYgaXQi6oG+eZUBBMx\nu1Fofp9HdOwPttlPwKuZTlRX0k2EUMdTGW6zzH66YFWHuPtUwL8EmGoVkRVA\n69sphTLpdt7ncyi//yGTim9LJ4gxr+Ann3F175+Rfi5XHexfaKMThFNLB0zA\nbiPsQIoIdXwzE7C+tWBaTNvm4UhEwiOnvi0ddQ7BzNsBZfiNaiS1AgMbHikO\n334tOSdQ4PIWCTwP+pmOcZHG8xgROcsU11K2Eo1O/YoTvgwpup++qyOU1bPL\no8yARpQqSkEMD3ZT6au738WGsByg3jk1uypqUDyocBxUpBbh9+YwIO7Ro7dQ\nuEGMnxMiWDCYyE16lhC4dCmBAVeMMjFWnnZnv3hG09cw1TXagjdbjT2vnt7P\n9DN2Ci/dxCHuxhCZVGjRGAx76KAZCndpzNHhDZJd1uFD51xHcwwKaGLiJ3cm\nGGCzJt/DBlhrMO2CldIyVx1uzAJBphb32ZIffLkCIaEHJX67kzoWLfJ2EJ01\nSEHW\r\n=oBRu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC8nEFWSIAuMY2oDwToIQiGkv9uYMDA4bblP342wLcWfwIgc6Rp95jTwocVT4D40YcqqQEJXwyK8cmbCA1+IYYSurg="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-5_1624844783541_0.33132253416480073"},"_hasShrinkwrap":false},"2.0.0-6":{"name":"addon-redux","version":"2.0.0-6","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"readmeFilename":"README.md","readme":"# Storybook Redux Addon\n\nStorybook Redux Addon aids in using redux backed components in your stories in [Storybook](https://storybook.js.org).\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where the Redux Addon helps out by providing a decorator and helpful panels to support container components.\n\n---\n\n![Redux Addon History Panel](docs/addon-redux-history-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides Canned Action buttons which can dispatch predefined actions\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n- Filter actions entries by action and state diff\n\n# Install\n\n```\nnpm install --save-dev addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the provided store\n- the [withRedux](#decorator-withredux) decorator must be used in the story\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\nHowever, the Redux Addon also requires the `addons` module as shown below.\n\n```js\n// .storybook/addons.js\nimport addons from '@storybook/addons'\nimport registerRedux from 'addon-redux/register'\nregisterRedux(addons)\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\n\nconst store = createStore(reducer, withReduxEnhancer)\n\nexport default store\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\nimport { applyMiddleware } from 'redux'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Decorator (withRedux)\n\nThe Redux Addon provides a decorator that wraps stories with a react redux provider component.\nThe provided `withRedux` method is a factory that requires storybook's `addons` module.\nThe result then needs to be invoked with the redux addon settings for the story.\nThere are currently three supported settings: __store__, __state__, and __actions__.\n\n```js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport { storiesOf } from '@storybook/react'\nimport addons from '@storybook/addons'\nimport withRedux from 'addon-redux/withRedux'\nimport store from './your/store'\nimport Container from './your/container'\n\nconst withReduxSettings = {\n  Provider,\n  store,\n  state: {optional: 'state to merge on start'},\n  actions: [{name: 'Demo Action', action: {type: 'test'}}]\n}\n\nconst withReduxDecorator = withRedux(addons)(withReduxSettings)\n\nconst stories = storiesOf('Demo', module)\nstories.addDecorator(withReduxDecorator)\nstories.add('default', () => <Container />\n```\n\n### Store Setting\nThe __store__ setting is required and should be set with the store of your application.\nTo function properly, the store must be built including the [enhancer](#enhancer) provided with the Redux Addon.\n\n### State Setting\nThe __state__ setting is optional. Use it if the default state returned from the store's reducers is not ideal or can be improved for the story.\nThe object set to the __store__ setting will be merged on top of the default store's state when the story loads.\n\n### Canned Actions Setting\nThe __actions__ setting is optional. Use it to set canned (predefined) actions that are useful to test the story's component.\nThe setting takes an array of canned action objects which contain a name and action key.\nA button will be appended to the Redux State Panel for each canned action object in the array.\nThe name key is used as the label of a button.\nThe action key holds the action object that will be dispatched when the canned action button is clicked.\n\n```js\n// Canned Action Object\n{\n  name: 'Test Action',\n  action: {\n    type: 'test_action_type',\n    date: 'action data'\n  }\n}\n\n```\n\n![Redux Addon State Panel](docs/addon-redux-state-panel.png?v=1)\n\n## Custom Decorator\n\nHaving to import the `store`, `Provider`, `addons` module, and the `withRedux` decorator in every story file is not ideal for larger applications.  Instead, it is recomended to create a custom decorator in the storybook configuration folder that includes the `withRedux` setup.\n\n```js\n// .storybook/decorators.js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport addons from '@storybook/addons'\nimport withReduxCore from 'addon-redux/withRedux'\nimport { store } from './your/store'\n\nexport const withRedux = (state, actions) => withReduxCore(addons)({\n  Provider, store, state, actions\n})\n```\n\n```js\n//custom decorator use in story\nimport { withRedux } from '../../.storybook/decorators'\n...\nstories.addDecorator(withRedux(initialState, cannedActions))\n```\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-6","dist":{"shasum":"21ae4dab86c2908e9bcddd65ec18a40488ab0e05","integrity":"sha512-UFI2QvlAKfa27UpG7XDOZ0zWupbQZ8tpSj586i729/HT/v2kRSPmxMNxj7ZanqqUzToV93AnIqRstBtT+8EQhw==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-6.tgz","fileCount":53,"unpackedSize":66717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg4wpnCRA9TVsSAnZWagAAiw8P/06ZWNe5vgn5IbHSavXU\nYSMd++aa5BS06zu5v46tP9vw3StveiUJPJRv3swKx6bn6ykLtrymIQJdTPfP\nEzB7B7AC134f3W297BbiGgO4rtu/8fo1zjalDsrqOUC45IzoFjrUb3McjxN+\nyEgs9K6Fp+1f7cfkPw4XfbbB1EgT2X9a3ZhltkcgNCeevm13oMKkX89EwBUC\nFSyx1S+uK8Okhhlkt0VEx1mB3RBg/rEevinh+c1DdfrToTBiOGnfbSIqmwcc\n+AzKr50M0kNLRtn8g2FytfgYT8a+HusiS9WkDPYjpW01x99zMPhFJS9DM//T\n1xEmsh+AGWIit8XirdQ0p31L/2+yWdtyvpYbsp2gxtdRtggX8MOqPj39OiF7\naiGhQI0349C7Vsihqgq2I8lUEDyWW0DfUOumy4RcWuIBchmULFstQDQUYaqm\n3XDs+IOTk7AHJJe94pLgJKdfLvF++LRx0FULE0C4waaHoSu39wUug4mLzaWn\nOBBm0qO+vvhM0ziN0/A18gAn1bWXZ44eUNvthwlR1y988UiiuKSRzVK1ipy3\naG55Up3Gm2cEn5wfaiet85JYkC36R12h8QfJVCQuPWdl9tOhrGnd0/ITJ1D1\nB8yrN7xkFAsM+z9h2XBkZ0HnDzQ22rCuuHVIqq+i7Lm4AXlovM4NKYvaNTjt\n+C9A\r\n=j95t\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCbg36DFac7SmutwFfSp2r4bzqufTaEkQNS/4qMltsUUgIhAK9LeimVCcvYE+4UCk45V/pwoLcZJ8Y0RfqzlrmjwXJN"}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-6_1625492070505_0.17281919181467487"},"_hasShrinkwrap":false},"2.0.0-7":{"name":"addon-redux","version":"2.0.0-7","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Kit","supportedFrameworks":["react","vue","angular"],"icon":"https://user-images.githubusercontent.com/321738/63501763-88dbf600-c4cc-11e9-96cd-94adadc2fd72.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"readmeFilename":"README.md","readme":"# Storybook Redux Addon\n\nStorybook Redux Addon aids in using redux backed components in your stories in [Storybook](https://storybook.js.org).\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where the Redux Addon helps out by providing a decorator and helpful panels to support container components.\n\n---\n\n![Redux Addon History Panel](docs/addon-redux-history-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides Canned Action buttons which can dispatch predefined actions\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n- Filter actions entries by action and state diff\n\n# Install\n\n```\nnpm install --save-dev addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the provided store\n- the [withRedux](#decorator-withredux) decorator must be used in the story\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\nHowever, the Redux Addon also requires the `addons` module as shown below.\n\n```js\n// .storybook/addons.js\nimport addons from '@storybook/addons'\nimport registerRedux from 'addon-redux/register'\nregisterRedux(addons)\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\n\nconst store = createStore(reducer, withReduxEnhancer)\n\nexport default store\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport withReduxEnhancer from 'addon-redux/enhancer'\nimport { applyMiddleware } from 'redux'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Decorator (withRedux)\n\nThe Redux Addon provides a decorator that wraps stories with a react redux provider component.\nThe provided `withRedux` method is a factory that requires storybook's `addons` module.\nThe result then needs to be invoked with the redux addon settings for the story.\nThere are currently three supported settings: __store__, __state__, and __actions__.\n\n```js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport { storiesOf } from '@storybook/react'\nimport addons from '@storybook/addons'\nimport withRedux from 'addon-redux/withRedux'\nimport store from './your/store'\nimport Container from './your/container'\n\nconst withReduxSettings = {\n  Provider,\n  store,\n  state: {optional: 'state to merge on start'},\n  actions: [{name: 'Demo Action', action: {type: 'test'}}]\n}\n\nconst withReduxDecorator = withRedux(addons)(withReduxSettings)\n\nconst stories = storiesOf('Demo', module)\nstories.addDecorator(withReduxDecorator)\nstories.add('default', () => <Container />\n```\n\n### Store Setting\nThe __store__ setting is required and should be set with the store of your application.\nTo function properly, the store must be built including the [enhancer](#enhancer) provided with the Redux Addon.\n\n### State Setting\nThe __state__ setting is optional. Use it if the default state returned from the store's reducers is not ideal or can be improved for the story.\nThe object set to the __store__ setting will be merged on top of the default store's state when the story loads.\n\n### Canned Actions Setting\nThe __actions__ setting is optional. Use it to set canned (predefined) actions that are useful to test the story's component.\nThe setting takes an array of canned action objects which contain a name and action key.\nA button will be appended to the Redux State Panel for each canned action object in the array.\nThe name key is used as the label of a button.\nThe action key holds the action object that will be dispatched when the canned action button is clicked.\n\n```js\n// Canned Action Object\n{\n  name: 'Test Action',\n  action: {\n    type: 'test_action_type',\n    date: 'action data'\n  }\n}\n\n```\n\n![Redux Addon State Panel](docs/addon-redux-state-panel.png?v=1)\n\n## Custom Decorator\n\nHaving to import the `store`, `Provider`, `addons` module, and the `withRedux` decorator in every story file is not ideal for larger applications.  Instead, it is recomended to create a custom decorator in the storybook configuration folder that includes the `withRedux` setup.\n\n```js\n// .storybook/decorators.js\nimport React from 'react'\nimport { Provider } from 'react-redux'\nimport addons from '@storybook/addons'\nimport withReduxCore from 'addon-redux/withRedux'\nimport { store } from './your/store'\n\nexport const withRedux = (state, actions) => withReduxCore(addons)({\n  Provider, store, state, actions\n})\n```\n\n```js\n//custom decorator use in story\nimport { withRedux } from '../../.storybook/decorators'\n...\nstories.addDecorator(withRedux(initialState, cannedActions))\n```\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0-7","dist":{"shasum":"3739f6e40f2a248e4a35fb4ad0c054f06fc5e758","integrity":"sha512-6iAacvYCq7o0BxqfO13i72evlZ6I6Oq1F1uevNSanJlr1qmtckoGeQbP012c3iAsz3L3zBa2WXJUZqSCbFofug==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0-7.tgz","fileCount":48,"unpackedSize":63420,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6RSXCRA9TVsSAnZWagAAg8IP/0u7og5RXbDiVyFxFfcc\n2tdI3g5FdKsAIKQHTr45ww83D3yeYq6R5ZturojczxMj1GSDT+nfhmlqB7y3\n7K4+s2saHDLXNOmK3+aO/6namRTv/E6PCUrZFI5YY1qrpHdqQPu3gEh+lECn\n+Jek2l2PgY5t7rEAs+BxvYTQbYsSdAGiaZteE1KG2Z4+NgbAiW8cG6ilQqPL\nJogDZPoVX4h2wQi5ciaXSEW8JfVOkHBXTToJ0o9KiamjOdOHLmkKvD9gVk3l\nNEKiHyDhvLfip2JT/yNM54WrHxqxvG2g3Z3ToSLjOgMS239oA51C7iWUfuAg\n1FStOMVArH85w627JRF3xAeTB40ZBGT5ta3zzYvAiOy8qYLRfdYsECeeSPMo\nxw5E6iAHe8bIRV6wke484eBUCE282eQKSYbTRfwXkHREOdaiUCYSAYsMx7GP\nngBla6y72uiHDcxMApbrN5ienFXJGsgZ1qlgKpuStOioYBb4RULI0TWxsog+\nnNhf7Eq+Wiv0hx53/5Vg4pjnUZke9DwKJL8hiYHkd/1UUc6aOJKQzW93pWhC\nZDij8+2wm5nXXPha95jZyAstMASvDxLE7FA0YwnCW8PC23BcObMTlAsytX22\nbwlX7Nbsu+Vt3RV+Nr350u53XxCt+DJICgbAvfTKQmkED2KtbQuXr+g+LDuN\nQ/3y\r\n=mBUA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDcxSfMTSMaw1UBeKrWPwQsD+A/BNGyRTBKIs3fs1InpgIgduJ6kCgZpFSu3QZhhrIquIjSEfOW3QXtc7Zepb26ElU="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0-7_1625887895120_0.08197647908131867"},"_hasShrinkwrap":false},"2.0.0":{"name":"addon-redux","version":"2.0.0","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.0","dist":{"shasum":"cb973e64d357efc773bebb76f137a0c0b3422dbe","integrity":"sha512-9ZQV5zgnoaojxDL+TBR1dRrIRGwTR3eGQ4DnY46mwvz7v9NYrdJRBDt/TnVwM75hddEEsP8lMHbfus7uq6p45Q==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.0.tgz","fileCount":48,"unpackedSize":60813,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6SGcCRA9TVsSAnZWagAAjcUQAImMIEmhf+ik78H8HBY0\nldGWLQ8NCpR5nudhAUpN6xEG2eq1eEpTkxKcXh1PUydBU5OYTykauB6ANqXP\nYa0I/6HJ3DbBVFEroC4Ny3GIaxkCiEfqND0Q3Nb/mGPKJXKJomYULBkONlAU\nilbfJ9cCg8vZoN5cHVFX0auqocLFSLL/uk07R333J5sEUbsERLKqM2oP/5lG\nMY1VaVZwP5YdrfBOwfWpCftdLfcwbZ9hT66vazr7YJs4zrUsbSFo4mERsrDH\nOWNgEpJNQgesL4zScePz8smgzFtqogc9BPtha6iLhUqcnHzI/BOj3ju8VAvo\n94lnTeuY75BmgNGhNVkfqUsTRfBKN7jwcgAg3SXHsfQxXck3Vz6A7C0IQvHh\nGpBhGqRRo72ftOpCbO4oGnwtbR+nnT4smMWZjgj1+EvcWZ28OlNptRbEs42K\nIjnvLgt3iZ5NOZCEgLe/gXU5c3mFBzDOv4vOpbJZAMdddJ5kJnbfI7wgEWiq\n6AcBoRJP5k8rL7kzZQnbIm0XR1hU+2a7J/qTWZ4CQv9wS/NS6t6WQX3r9DRQ\nTJJGuZLoefskFuihFqceK3Yl/yBSFzzEE9dDHE5iRc8cTp7uXNy4b4zoVQPK\nbwVCWGXx6YbL7mPfXEDeiZ1oBcroyrvlzOnrUVGRRSblXLxvxSuY3EUpT9UL\nywKs\r\n=tAlq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCB+WHTkF9nN6NtfZ/7/jtSJhzGIinV6T1o0/NM0kEOfAIgDb8XhmrsbUEUH6q8/wh1VBVDJVN0oxFa0CyoZ/rxodU="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.0_1625891227826_0.23980799186487034"},"_hasShrinkwrap":false},"2.0.1":{"name":"addon-redux","version":"2.0.1","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.1","dist":{"shasum":"1d463fada9de719dcd8bde0c599b146faad562db","integrity":"sha512-Q9GhZTjXuCnR0Ww9LJOwTN17R9EH3/JqHSjpH4T0O3A8VN0HtvCpo83OUxDORhulZtoZKGh4vB16o26seI8otg==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.1.tgz","fileCount":48,"unpackedSize":61695,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6aHbCRA9TVsSAnZWagAAacMP/jwkML88bi7MuWcNMKpa\nFNX3zFA25NpU/0qNY21bqDJNKMgZ4YApu2maki0I5H0Dvvc/5hrtVF0DqULk\nGfHPrlmWR9aBgQD7njPAMFlxwPF2HKkgKJ3x9deOnRU2B4eJP3x0o7dIs/Xc\npEVnDe3p//2KmLEYIw0ycAsJbDghydl2tJ3Axa8R863EK88gYQMQSkJOBA9E\nzxyR+pg+F7N6G+eSxvxm47OBu8GLQKFJV1Mfxpbf+3Td87fW9LCzclkCIK9G\nKzKLMpp4dn61p+nMhE6zy5OoDjYvDLY/HGjow99BOG66y99HLWVfgyyyIfmx\nld7IEQE2ZKXq5VWFQlyBEWT6Dw5/mbfWHeFPFljhrioX2Uc/08tfwJfV3vl5\nheIGeJ5YdHAlvTv3ZHyshm3EroYaVQxn+LdRQZ3efjLKhsdMrF/ReX0jR5kG\n+nu4Qko1r9IndVQGVIRpvU+gOQbGYeh6zpfffEDchr5lJACqeNulHgm/LJYW\n64NEtwSv07qkXb8oiYPvNa1eSILw664LFuZRoTyt8yTdsqo8TuGG4Pz29wRB\nhJxRLmzhB2TPr1LICPFKx4xXFCa7/NGef4mQkCToYmjrbeQz+vUxNdCP3Txq\nc0YX+uNo3uF6n17h2BdJTX4n7A4zpPV5Lw/tBFIc17nNHrfGrX0CWqlVvb8a\nGLHT\r\n=o2Ap\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIESmubbKRLeKul/Zly8IcuuCTU5JFloSlkjH5EtleACyAiBA3QEuNJycfPaxLTpnBOYUbwSfYEShNbp2D+1GtXw1UQ=="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.1_1625924058584_0.12499099894730037"},"_hasShrinkwrap":false},"2.0.2":{"name":"addon-redux","version":"2.0.2","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.2","dist":{"shasum":"f8d828e6a189c137b410208ccbdf0601f4e8c3bc","integrity":"sha512-EyTZ/OxHQC8puVVexABMbGGPa8TSbsenQSUHGq/UkTopbCS6c4yVrwp2unuV1m8/LGUDgJRlTqnvEYZN8x/f6g==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.2.tgz","fileCount":48,"unpackedSize":62173,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg6aNbCRA9TVsSAnZWagAAMK8QAIlhZuWCeUcaCgw+iJtY\nykPZ1eYJ4xDWpITqVUJgIlaBBTlIdwC7qZozRGf18Sgp/2OhC9XSlBTblluB\nLLzF9VSTWZks3LxdQxvp/A1hYNTNFIxXquRBy/Ms1HjBRX1JJyxPz6EgSqyq\nsrMWMQvlstx6/pTwv7byrGm+S2mxECWr4C8DsdCQN0OdCk9mCdul/NqsCgsw\nY5FbgURQRJX29i4MvuSMLbjxdEOnwrC+MZbfkYEXPeJbE68/RbnEQi2YaDJ3\nKfI4/joMrEiwHwRIQZgqE1YhhSjWB/b/X4VjzHIERDrunnokUr8ST3Bp/tRi\nXTFV9ydlQ5lmwW7jE0bqaL8/VmH6uGrYvanEBiY173M3rrtxMBDnCxMDapsg\nYyWfd0CNHIAqsRW0TcJna8logMbs/5FMpvwgMtfGhqyRj4WsKhFBR5Ls8xcI\no9j3MsCKXjX+Ldo8w8JEDQqCvzm+BiifzUTVaAWCV4jjH9l3nJui2epUXcG3\nsnbt/snyl4/OzTgawP9tnLI8VPg87MdP17b4E+doQqsSGv2rKHf8vQq6wGrJ\nI/WTQGA+birBvJu1J+3jzZHhJY+kCj4jEgEf7/BwyUPKK8EYDRUSe8ajPTL4\nXWxjdaH0s+7uMwzS5KaPOcwoXPN7apLyfimQeOT7/56V3+vX2eQZQo6VBZcf\n0VaX\r\n=GdD6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHmgFmm7zmBEUcqWzatlSPSNiP4+EoAOaFYDfU9jUbH4AiBEJUrcxJPAFwAHeH6eTcH73AVJqJrB3xw1aWxxPOLCsQ=="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.2_1625924443540_0.4991257682404373"},"_hasShrinkwrap":false},"2.0.3":{"name":"addon-redux","version":"2.0.3","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.3","dist":{"shasum":"ae2b36270842f9a8765f0ecb52febe1c35744b0c","integrity":"sha512-DVu32PZVrxZtpoahSWLfV1B1fWgF+4Vzz52In6O3qzEor9xUV4JJ5MdD0V3WwmyUG6UV1deaQIcsqypAtFbGEw==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.3.tgz","fileCount":48,"unpackedSize":62583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7PkMCRA9TVsSAnZWagAAAx8P/2G+7dXIZlgULi68aPta\nxjfG6CN0RZwfDe/kKk0QroNFgacepbD4fDzdQL0Zw2/Zn7begjBwEOrhR9Ht\niE+Kf736S3/mBrEUdAmzOxpACz/N2GjqaPgG5HBe3Z4q4OYKmRbRooKLfVTH\nzwjNBaSlijq9pR+JF2sUI5z8+snolZNqR/R3IGP2Ng0zs8HSIa1VoJyebAYV\ncZFxRVmT2r8vFKec5qVHx9TqUg3x5FE8yxwFoXbj51Mu7iL17FLcP7i+cvQx\nrE1YS9XykBGJ0b1FNTv+l3yaoB7cEi7L0j6d2TjlmWCrDlrczgjHvYWCNBg6\n2nSh/Ir4tTXrp9shP9YwZgAXfB0YORjuspyE/hVj5qYGVoLDdrhFpQF5zMvJ\n23NeWnwdqTwvRTC30zKVoJbvHN+Ez8pB5apD3ou+fiy10FzwfvyudI8hAPfn\nR35p25fTYY0qIPFsj61tzhFUjQZfubDCzYACkPbjwV5QM22AMReC/8S7MR75\nvPzIO/ODpz5zCzakXjivcREaBGHg3Q88lida63y1nOWnIgneXCf5qqISYMYL\n/ULGCMDfZKJRDF/gxU5UPmuayIDAs+Ejt8JkEwquvyASMXWve5g/z5UnU9P8\niawMszvfqlx2kodcjyp36MzFPpeBm1QmXxal6L/Q952rJAXOEVjom1POOk/e\nV+Qn\r\n=7z/G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIi2FZG8PTBo/bGa5FEPfuH24j8mwteOH8nWbSlIbtMAIgScJWqJt2ZxaTiAsYJynmA8EbKifG3gjO/0npefD5YKY="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.3_1626142988416_0.33986316255660465"},"_hasShrinkwrap":false},"2.0.4":{"name":"addon-redux","version":"2.0.4","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.4","dist":{"shasum":"7053106d11c72fcc9d4e2e6c62b6b8cec5657087","integrity":"sha512-6SIq2Ft3jxt162PNnhR7h6of6zZuTILha0shL0s4YEEIqAJ2iGWErghpenHnFPr3Re3CT8vjcaXo40TEnBGmwQ==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.4.tgz","fileCount":48,"unpackedSize":63133,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7QU+CRA9TVsSAnZWagAAJuwP/36BBAdoWitKI+oE2Oi5\n344vBYSEEW8XcOWMwvnwoot7sZloXM79yzqvmv6BhMuAgVM3hGSI70OzcMCN\nQhHfFvEsHjHGwHGxqTJyYpEkIdV1gVAKBoF2WmuYKfcR9Lg41TofVAVhFyK1\nQCVT1VxKt6weql2wMe1Gbb+BiAfND2egzbovD4Uah9m1MI48OpG5sK18RGD5\n+HUCwDhIF5wmmM80mL5x7q3nhSvqCIZFVYTlHf11kjjBj2vlI2L7Dp8+bTmY\nqYPRoLPdWbxeipmAdQFTRCnmrpsnRc5b534zZeFgUhH2hIWolf62UEpwuRWw\nKIqZmb+HxOHPhTAuLPy/TxxprymLPgnn53KgN/YhxgzNdfauZDu92U3A34LP\npwmaLgLyCFuNMTvNdKa8cr7Yw4RgBkknm5K2L92Sj+3cG1lF3c84NGWfcScX\n81tyB3KtAohXQFg1Lh/+3O5vsCZwdbZb3vPXQ1D7qzSpH9F35ZuLzookKUAU\nkw2fa+2AuZCrc1/XfqMUVk7XUnxGp515Nsak6z7h2GziEbX9cIEn+B1QBSQj\nA5jTV94vTuiM0UEkk5qcX1cjUqkeDKIhbEUTNgv110csj7WFZUxLmjCHDF3y\n9ic+qiSpid3NiGOrzNq/HMgK0gih66yacwyl5sEFN7VXob+itNpCF2VZ2HEb\nPRSR\r\n=+PpO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDVPNockAwOHcXSrLV70vlPcUov9O+85Lnuq+/NmhX4zQIhAOV/K4+q5d96meTmAtRFOREo508Kg2pZ82viAjO3w0Te"}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.4_1626146110192_0.2216488260582017"},"_hasShrinkwrap":false},"2.0.5":{"name":"addon-redux","version":"2.0.5","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.5","dist":{"shasum":"f690af34dc029f6963d1a5c136589f9f58127e8b","integrity":"sha512-p+4p+HCs16T7zF1Y+2smWn6EvA0iYs9n9yiQJQJ3+iTAeycWBZO8T+1BUSjLvsX1W2F2C0Mv3Mc8rRvDBmy3Fw==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.5.tgz","fileCount":48,"unpackedSize":62777,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7lwcCRA9TVsSAnZWagAALE4P/RJGnCl3lc9UFavuZI9d\nIKOyK1O6oI1Zj/jBm5EnGe5rltfWNbyGvJEtM0dA0iRagEPcxH+yUu1gJ3kQ\nK+rKAf0gm7S9S0YcByhY+tgwiAsHWfy+HdHLWXRidDj11MB1dcgsY3xCM0TB\nXxaDF2wp4CfjDf+IcAGlv3w9t6ou5WhQE4NPWL2fqLJgpLMeuwCFvL5CG2Ef\nZvNM7J0lSqZta4X6psT83qVl0Rq1ESKYMD4fiJu8+qZLP9b48CIu3WhiBc10\nHNWtg/9Ikc7pPO5WElgl6UqqQ8ioV19oAGQlFgh73A/AdbrE3peeMvgPZP0c\nEridG+Zmt2r+llS+fDzBtr7SoZrIaR/ylClrrnihWf6jbaQg40XETQIMpuKp\nQ7K8AVJ8D+jSF2JLyRE9R9MEvYLg7WGXMfDMSUJmdjpWAz69Zh1ayC6q0+wZ\neiFrJs2fF7yeMxdWNw/+HZL1WTIp1DaNRpfGl/sKcKVNkTMIg5dKVgdVZvgZ\n1At2c4EA1wJCiroEYOQKRoGrRGBQRCVOI+O5rqpcQq5T2yk5KmnRpMLETnQV\nsZCeu77SNwxvVpG26LMrlNoiECWa74nLvDRpK6X0VVUedyVK6/jcvvxHPvcs\n/7i6zywuH7z8c+S6LEJI68Hn8wk/JE/9ABWXghJ57YKHHDfmT9QE4q9oCG/i\nCh5K\r\n=jgy/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCoCaxHg7880rm9qwqMWjQWmf+LLNv1n8Si8817RAHIawIhAOVmz3I0h0z378y/1lgPG+8kx2AMUNnR86ykAactNnGw"}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.5_1626233884011_0.1103066524216818"},"_hasShrinkwrap":false},"2.0.6":{"name":"addon-redux","version":"2.0.6","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.6","dist":{"shasum":"e6af582b776d5921d1c2fa629b4fc53aea468881","integrity":"sha512-yl7LxchNiIqsPaXOUUdXU9vtUh6I79oRkNoR7wP5IKuherEfeGPSVgIKe/3HGwcijZUaR13nqaGxo+kDdFWKGQ==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.6.tgz","fileCount":54,"unpackedSize":64004,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg7657CRA9TVsSAnZWagAAe7EP/iB9o7WUTmBjLFE5QnDX\noY1LmWy3iSJPXFXNFMMzkHZMY8hQTSGaKrF8qH/mOYPiwNpi7aNnu8VOR5/m\nRSF48VZhg/HG6sqtkkKhuUnqwVnn3n9OSS4TvwWAtICr3LFrBLP9YH7c9xic\nnM0wvFeznRRSOVHdV7kYD/DRJyhV4BYfBk8fVtOrDtLri+KIOcch0mFQ7loJ\nSpdK2vLPrJhlzSYZi3v4w5OYwvIz53skr2H2Ek6W4qgr7x9vYyZqbn2Ufrk3\n6T4RGtctnj8yaGhl2ThxiHmST6c/uxO/bzbxVkHifTHYRjcrnPAh/WpfbCUc\npHWSvv4TKsd4krFKKRzbue08eByZ2Ykl9Ydt42ZGvgt/MqPlsYBziJOS4Zwd\nC+YtbPKeDy/0Q874gBbAz2SC8e0LHcHDqmyS3V5lckbNOQrh/WXkdIoepwtJ\nnTrmWyuXFu+nXq6zUoBNJH3PYh+QJDUipcokBLrphfPm78C/AhFAALDG6rEl\nJhQ09RN6SITN4OuLwJuCTHPh6CzZX4rNC40Y/4p7EvFyz9NQ5zgYEAcX/7n6\nVvOa6w+HXfSMWQ6fsxeKLx6AyOOR4qEkCR0X8CdtcAkFmOKs+CwgB9un1rBT\nsUTX2rgIxLTI4750M+QEKXSJ5aYnL0MaT3opXivbRNqdJc35vHar+TNkBmYS\nHtUx\r\n=jrC2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBVngAvkbqt8ixbdgoYC9cQ9TllCi/TqYMkw5wJpQQ7uAiBfQMq1TpsOhHKPuZBFGFOraUmFmUIaWDbTvvI8iEf2Bw=="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.6_1626320506353_0.9616763615372896"},"_hasShrinkwrap":false},"2.0.7-rc1":{"name":"addon-redux","version":"2.0.7-rc1","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"echo \"Error: no test specified\" && exit 1","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"readmeFilename":"README.md","readme":"![Redux Addon](docs/addon-redux-header.png)\n\n`addon-redux` is a [Storybook](https://storybook.js.org) addon that helps when building stories using components that use redux state.\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where `addon-redux` helps out by providing a decorator and helpful panels to support container components.\n\n\nThis documentation is for version 2, [click here](docs/v1/README.md) for information on setting up version 1.\n\n\n\n![Redux Addon State Panel](docs/v2/addon-redux-state-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides a story parameter to update the store on story load\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n\n# Install\n\n```\nnpm install addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the app's store\n- the store must be [imported](#import-the-store-previewjs) in preview.js\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\n\n```js\n// .storybook/main.js\nmodule.exports = {\n  stories: [\n    \"../src/**/*.stories.mdx\",\n    \"../src/**/*.stories.@(js|jsx|ts|tsx)\"\n  ],\n  addons: [\n    \"@storybook/addon-links\",\n    \"@storybook/addon-essentials\",\n    \"@storybook/preset-create-react-app\",\n    \"addon-redux\"\n  ]\n}\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport { enhancer } from 'addon-redux'\n\nexport const store = createStore(reducer, {}, enhancer)\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer with other store enhancers\nimport { createStore, compose, applyMiddleware } from 'redux'\nimport { enhancer as withReduxEnhancer } from 'addon-redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Import the Store (Preview.js)\n\nThe store must be imported in `./storybook/preivew.js` so that it will be setup and ready for the stories. \nThis addon will automatically wrap stories with the Redux provider as long as the enhancer has been setup as shown above.\n\n```js\n// .storybook/preview.js\nconst store = require('./your/store')\n\nmodule.exports = {\n  decorators: []\n}\n```\n\n![Redux Addon History Panel](docs/v2/addon-redux-history-panel.png?v=1)\n\n## Parameters\n\n`addon-redux` currently supports one [storybook parameter](https://storybook.js.org/docs/react/writing-stories/parameters) that can be used to change the redux state on story load, `PARAM_REDUX_MERGE_STATE`.  This parameter takes a JSON string that will be parsed and spread on top of the current store's state.\n\n```js\n// example story using PARAM_REDUX_MERGE_STATE\nimport React from 'react'\nimport MyComponent from './MyComponent'\nimport { PARAM_REDUX_MERGE_STATE } from 'addon-redux'\n\nexport default {\n  title: 'MyComponent',\n  component: MyComponent,\n  parameters: {\n    [PARAM_REDUX_MERGE_STATE]: '{\"foo\": {\"bar\": \"baz\"}}'\n  }\n};\n\nconst Template = (args) => <MyComponent {...args} />;\n\nexport const All = Template.bind({});\nAll.args = {};\n```\n\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.7-rc1","dist":{"shasum":"071b4f082d3a35b8771e536c58d1dbe604b067d4","integrity":"sha512-rDuVpsPgzxjKNGDoQO30x36HDoIegpfQKNw432pxtz6vlYkZuvipdBnK6KO/gB5siUQYca+ZadP9LPJGUO7UMQ==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.7-rc1.tgz","fileCount":69,"unpackedSize":77766,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg8PfrCRA9TVsSAnZWagAA4AoQAJQtRXqU4W1NyEUjASK/\nGTvwSEoHPcxiHJU16VmBIZ5cvgFTFX6628spQro+BIHyE/dM/lMxaNETsj/d\nGzv9pEd6Gi53fU4b1OUUPk8wf3QTUIBtXUo2xLUyfzo5W/D1tg72+3upi3CT\ncdG5XC5QkAIzgxE9Q2Vvti0QEFSCChgGFRKqdPDt6UTmtexlEDOUyxEUkUdS\n2ECuRV82Bpn/eqYEQMgmtIKFjRwRdRWEDGS6OTuRHEHQtrHDoawU2F4BT//f\nxCUGm/QCg095wWQjIvgYs/t0znfHhRvGbOm/IM+5QpKFoLKJY5HKFWMZgGrn\nVvvGwcizFcF+DjJ1iC7mDiPCrf4zA0yMYg0zEqXqUD/PQfqb8ce/NuUXj+Zo\nMHiy90gjLB2w1A8FYiSgfSpNulD35EYmln5UtI4TVeilmr5WSDL1EIk359KN\n5dl53EZBlH3YNNX2UE/YfpxYA9ackA2/UtUILk2zfSPVjkwFVuEajZDY4wUp\nx1P7viH6he72UY5i7FkV522xqa0sX4QZVEQiU0jllPUFuB33XLGae9ZbfQWa\nQ7IwkVXnzqLbYW9LkoNrdZRQ8dWowmXD/twlhIYXQX8xnANu96WeET1a31eR\nRjBY2+usvlws/8k8Ju/aEZqo9FkgWN9R/6WpZD5IlulDFKeKAI+cagEvhDa8\nuGEt\r\n=CEqh\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDc1in6G85AyHPPXXqFenWmZq0x1x17HCMLznqUyZ3QpAiBzgzwIniHoc51B21f+T2AaX+AUt6lXKz+VsHUo862NIA=="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.7-rc1_1626404843161_0.002798050741401159"},"_hasShrinkwrap":false},"2.0.7-rc2":{"name":"addon-redux","version":"2.0.7-rc2","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addons","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"jest --watch","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jest":"^26.0.24","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jest":"^27.0.6","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"readmeFilename":"README.md","readme":"![Redux Addon](docs/addon-redux-header.png)\n\n`addon-redux` is a [Storybook](https://storybook.js.org) addon that helps when building stories using components that use redux state.\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where `addon-redux` helps out by providing a decorator and helpful panels to support container components.\n\n\nThis documentation is for version 2, [click here](docs/v1/README.md) for information on setting up version 1.\n\n\n\n![Redux Addon State Panel](docs/v2/addon-redux-state-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Provides a story parameter to update the store on story load\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n\n# Install\n\n```\nnpm install addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the app's store\n- the store must be [imported](#import-the-store-previewjs) in preview.js\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\n\n```js\n// .storybook/main.js\nmodule.exports = {\n  stories: [\n    \"../src/**/*.stories.mdx\",\n    \"../src/**/*.stories.@(js|jsx|ts|tsx)\"\n  ],\n  addons: [\n    \"@storybook/addon-links\",\n    \"@storybook/addon-essentials\",\n    \"@storybook/preset-create-react-app\",\n    \"addon-redux\"\n  ]\n}\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport { enhancer } from 'addon-redux'\n\nexport const store = createStore(reducer, {}, enhancer)\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer with other store enhancers\nimport { createStore, compose, applyMiddleware } from 'redux'\nimport { enhancer as withReduxEnhancer } from 'addon-redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Import the Store (Preview.js)\n\nThe store must be imported in `./storybook/preivew.js` so that it will be setup and ready for the stories. \nThis addon will automatically wrap stories with the Redux provider as long as the enhancer has been setup as shown above.\n\n```js\n// .storybook/preview.js\nconst store = require('./your/store')\n\nmodule.exports = {\n  decorators: []\n}\n```\n\n![Redux Addon History Panel](docs/v2/addon-redux-history-panel.png?v=1)\n\n## Parameters\n\n`addon-redux` currently supports one [storybook parameter](https://storybook.js.org/docs/react/writing-stories/parameters) that can be used to change the redux state on story load, `PARAM_REDUX_MERGE_STATE`.  This parameter takes a JSON string that will be parsed and spread on top of the current store's state.\n\n```js\n// example story using PARAM_REDUX_MERGE_STATE\nimport React from 'react'\nimport MyComponent from './MyComponent'\nimport { PARAM_REDUX_MERGE_STATE } from 'addon-redux'\n\nexport default {\n  title: 'MyComponent',\n  component: MyComponent,\n  parameters: {\n    [PARAM_REDUX_MERGE_STATE]: '{\"foo\": {\"bar\": \"baz\"}}'\n  }\n};\n\nconst Template = (args) => <MyComponent {...args} />;\n\nexport const All = Template.bind({});\nAll.args = {};\n```\n\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.7-rc2","dist":{"shasum":"45c81d1b527fcd92efa9c9a888c895201092dfbc","integrity":"sha512-lv1qfdwzTh2k3p3ZpObqenINIbSZNj31f7HVx/J/VvfpgAbP6mUzlViIE7HB4jmI6ji9IRP2sif+Bq7mwcokow==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.7-rc2.tgz","fileCount":81,"unpackedSize":88636,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg82qKCRA9TVsSAnZWagAAbZ0QAJW4zVHS5hwI1PDolMAI\nCWoIrttmmR6cSsqidkl7vvOLAuZgRNGTm40ttVjs6+sAX0cGrd76XF0sxTea\nddPivIYz8fbq05jVPXRH+8Q3JCl/KvJUD+1Kem8VIag4z361INOtTXu0CenS\nojCOiOaZf/OAKahmqO59XS3dmUU1VOWHn+7T9B2yjFFgKSiQfwe8ba7xK6/X\n1ydP9aoI3eiDtcfSw3xVwx+x74Cl6jxcjrNjBf9GzAvwd/YCYqsHkxto1ACb\nyG1j1TycX1/ztJ7/j7HbiCu6lgwgX+aJp/Mef/iLRui3YhfY275jeTLGC2nL\nt22urxGgkxPEdBEX3SwMQr6kt+468vyqTCPpLWlaqGTVtrPF08xqr1S/yOA5\nqkXKLL5SNCKvyn3W0QJv1dhstH6hP3fX7h1S0IqVFOUFcxLPd6i114ksJ5Lt\nuQXX+gj5sxTrKkPjReSlSWqKOrbZZvuJ072ilAGMWEJzqiYC4yn+OswybH2w\n7Qc38XA6f6URx7mTLLFfm+gKhJcP7Q0v4eBM75rRSs8l9wASIM0+47z379fm\nkyTqF6+Fh6OzzNDoGcJcZNefaQxgsQPBxzWjXWvzgvnmkxmJ9LjI/5S8b5gd\nueebp0ltfj0/RSjUkAQWUWD57+dgJ1UhwPxeGCBENJeVBBLZVHFvS0AZQkTD\nniZ8\r\n=7Jn7\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDw5iYovQxEcjk1Pk8975MbvY35Rw4FWCobjdfgYwQ42gIhAPiUceLPgsqMKdA7q1C4g45GxkqqJblQXoZWaE7MYbdV"}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.7-rc2_1626565258478_0.5954924521554796"},"_hasShrinkwrap":false},"2.0.7":{"name":"addon-redux","version":"2.0.7","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook","storybook-addons","redux","react","data-state"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"jest --watch","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jest":"^26.0.24","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jest":"^27.0.6","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.7","dist":{"shasum":"3bfa73dcfa8231a39046455788ba0ca7e6839a39","integrity":"sha512-mu+S7cDgFIWVA2lcxyTe8TBsoicavIjWt3mZfEavMN8XF1xLptXS3Y7s1/wxLXpHsim+RQJsFShctkhBYvEeZA==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.7.tgz","fileCount":81,"unpackedSize":88667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg9iiKCRA9TVsSAnZWagAAQTsQAJG3JkRgJKPaov9w9Lzk\nzM18mkyO1aBhy7cNVQTo3KOVz47Mbi/0WYAvsBq/Kdkcm+u0FOzDpMEH30iF\n+ge2mSS47K+m0AWeiqQKfn6lxgwSSj87KwD0RGM0VysvmybUtJTMeTH4ByEN\nR+VW368B0DNwZ9UgulvToPLO+0aRMCwhRtW0SvOSMEkJWKQx4dBdCcAGx2OX\n67z2gUuz9o9GygN7PQC7aYu1zjTvx+lE6fXGs6Y8TZAlRMfKPr2OJAABiRMr\nC7jyITeqPEDOWOPvxIi8QCCKNSdjLk7YLMm8jDI1Pnq9F0j8gI1pm3yMNU+c\nZrdudWmKMP1hNAESi4ge8zOaA20cXrgQZJiG1+oJuabqwX1NFzm8jLPFXXaX\nOuq5tuq0VOrYLoJbQeM40IjOn0Pfv7CRwGd0AkQP/UvR7Dk5nn0UNQ3xP5jP\nbgjySTHm+IVmBKChnnIgFQUHU+rBggrc7Zv3m/Tj7+o6zRMmk8ZVrQQnTzX6\nH/IEcWmUmAFO0ob0YzhU3KP49FG08BQjbWRphbeS49JSNDGHWg2q5uaSLNJi\nMkShaNjvxKBzhHrv5PhiEK3QMy6BXCTvBKLn2+wFAb7lWUeYroiBtO2Yq5ai\nJzQnS/YQa1lNDdc4NSgj+hS5GcKPnlMmjRqxJul5CwJgr9namBor8h/ghl+c\nmR5H\r\n=/I6Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGKCzwI6Ty4vLydLbfDmcGDsoqObe6SAqDGRTWY01lHUAiAD3fTrrHvQlL4c/O0UBK3mlRdR5gffZRtreuZdPgvBKQ=="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.7_1626744969943_0.7264988064367401"},"_hasShrinkwrap":false},"2.0.8":{"name":"addon-redux","version":"2.0.8","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook","storybook-addons","redux","react","data-state"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"jest --watch","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jest":"^26.0.24","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jest":"^27.0.6","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.8","dist":{"shasum":"57654e6c05f9dfa3065acb5b3fde9a8530b7f151","integrity":"sha512-UMrVySudwiDAHx1t6uHQkOev9S/HvmmtvV21S5bBELVufNJm/fYP9L170yh3funjMLWE/bxLkP23AYcqvn3m4A==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.8.tgz","fileCount":81,"unpackedSize":89680,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg+vaqCRA9TVsSAnZWagAAqrkP/2aMHvnogk5FIOWEL164\nUlCjLhm3ydCR7bwhI2h3K8Sj05SqjbD7fJUx0O5Vh76IT8/SfpLpvoFWUX9g\nsFKz5bz9N+Z/cAYk2cgP2ujICe1W0g7Q2z6qHSXHCP/t1m59FDPD3AmJJ6gO\ni+4HCH+klU0Phed+tv5wbnamm+PbaXUQwzdAAS4BWpiXw9/FiytIe+SGRQi2\nBXbTDZYtEIebIKGEh9bHUNn8p5RMOvvhZG1UcDGjAobUaazhzYHM4iquO9y7\nPBfBgUF4kxE6bEJGjP8QH5NLp4PwDQmAgBiAyWCuRfQ70DACRhpWqtOzqk+k\ntG/Z56cZV3EqN1QgPYrjExMKFw4ATBMS/z69C7ZG9XHm+QOhhofGtTV2MQO/\nQ/DD4NJEzIkDYrFhGzjZgofCJC+8Qa7PGWeF5NIInlhYLtcPu/Mur6rWXcCa\nBvGS3K+hmRU0jBRlUTQQSl4gHKMU2zgFCyQmkHhUff8IHiTRGGiBOoAYj1iG\nZyRg/z9hE1RtUY1kT1ZCuoczMLCYFOJY+kNPIsAx3Hdd1p3QEvXIRqrCC7eW\njZOpeTX6sV5hpBC1h7gTb6lgInIzDOXzPSLyF2Y5LEpLu2lAmpVeSWG/sfyH\n1QYsp+ioV9tqCVckwr2/N481TuhvgpXi5+SIkewtHtAL90Fk+Zle5x7P1Npd\nGIUQ\r\n=Z8mQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDiyC9zfuHdjM1l4/yHjVNRFXJQ/1Ks4tx62IObkfkhIAiEA9Fy1y8A6yg2LI76a866agyTPXL+isySrDyVzoOTuKUk="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.8_1627059881789_0.670846534266385"},"_hasShrinkwrap":false},"2.0.9":{"name":"addon-redux","version":"2.0.9","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook","storybook-addons","redux","react","data-state"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"jest --watch","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jest":"^26.0.24","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jest":"^27.0.6","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.9","dist":{"shasum":"835e789a70584e7058dfbb0600fb1c3f1cb94283","integrity":"sha512-kFV9CoCBs72gJTezzQFmmvzkA91U8iQNNOifc4cy5cAzghgTpqxhd5PZ7D4WjToQMTU6pr+VIeY0lEyxSpQsIA==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.9.tgz","fileCount":81,"unpackedSize":90720,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhDfTGCRA9TVsSAnZWagAA6ZwQAIhkWfwmagGFYaJYOiQw\nntUx8dwZ/sQ7aIzjrrh5hgi9H/o401/U71lKF3NQ5VdGC44JkST/A4+9U1uj\nIn5P/p+h8/apMee5Tvy0vVhIt991rPfK6b5uqboo9K3Gp+stTKFej6FS16Tx\n94imiSnZwxLdFwWrxH6vNOzHfQka8AHLuwJWeIerIlSkY4rMLXGjMxkz6KSG\nZTG5iHVLR2RBY8dJcexBc0qPLRjUUBLSaWyDwWFlSTmDQbayUzvwKI8hMvAA\nZ83xzlF+dGddz7KjZq3xYbPddxepRPjGdaQuEH9Bfb7+N+IewRBR/I1cRvpS\nfnYFxQ2INfEhPMorWvdVJpmlXZHd0B2/6JpmlX9nEyBi6JlR1XUsUn/6H97i\nQhSTZRdZAXg81ryuJNDTNqKrLwYAGSHLTebAx6Sg+RfNcg2FaVJWqkFuH8By\nGA3yX2XX334Qz6DQKWY8sekgldVA4oLIgynNQqv2GxxzrCsU0Rm7koFJSCA5\nnGO8KQsEVNaGb1lP7URNX5N8dTyvxT01dRZlKx8xA+YSXAP4nLXD4kFipdRS\nAa2T04NmIcC93qyxuAPol1t7rQOHaJy8/R54UPHCW5fMMVOXltnvdVYUAJyQ\nZLAERbVxTlAQOPHGnv3L1b0ipQHE17Oce5Lwe82SCSw0rhwPlN2TKE/XXckm\nrnWD\r\n=EEDN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAggtpXAEKTA/2qDl0QIRsOolXPZvuEB+64KUvLGsPhXAiEA6uCfBJFV1dmk6c+MG07vEI0vJqG+Wid9Rsk5VrbStp8="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.9_1628304582582_0.36492882368168766"},"_hasShrinkwrap":false},"2.0.10-rc1":{"name":"addon-redux","version":"2.0.10-rc1","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook","storybook-addons","redux","react","data-state"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"jest --watch","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jest":"^26.0.24","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jest":"^27.0.6","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"readmeFilename":"README.md","readme":"![Redux Addon](docs/addon-redux-header.png)\n\n`addon-redux` is a [Storybook](https://storybook.js.org) addon that helps when building stories using components that use redux state.\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where `addon-redux` helps out by providing a decorator and helpful panels to support container components.\n\n\nThis documentation is for version 2, [click here](docs/v1/README.md) for information on setting up version 1.\n\n\n\n![Redux Addon State Panel](docs/v2/addon-redux-state-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Resets redux to initial state when switching stories\n- Provides a story parameter to update the store on story load\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n\n# Install\n\n```\nnpm install addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the app's store\n- the store must be [imported](#import-the-store-previewjs) in preview.js\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\n\n```js\n// .storybook/main.js\nmodule.exports = {\n  stories: [\n    \"../src/**/*.stories.mdx\",\n    \"../src/**/*.stories.@(js|jsx|ts|tsx)\"\n  ],\n  addons: [\n    \"@storybook/addon-links\",\n    \"@storybook/addon-essentials\",\n    \"@storybook/preset-create-react-app\",\n    \"addon-redux\"\n  ]\n}\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport { enhancer } from 'addon-redux'\n\nexport const store = createStore(reducer, {}, enhancer)\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer with other store enhancers\nimport { createStore, compose, applyMiddleware } from 'redux'\nimport { enhancer as withReduxEnhancer } from 'addon-redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Import the Store (Preview.js)\n\nThe store must be imported in `./storybook/preivew.js` so that it will be setup and ready for the stories. \nThis addon will automatically wrap stories with the Redux provider as long as the enhancer has been setup as shown above.\n\n```js\n// .storybook/preview.js\nconst store = require('./your/store')\n\nmodule.exports = {\n  decorators: []\n}\n```\n\n![Redux Addon History Panel](docs/v2/addon-redux-history-panel.png?v=1)\n\n## Args\n\nFurther control of the redux state is provided using [storybook args](https://storybook.js.org/docs/react/writing-stories/args). Args can be linked to the redux store using the `ARG_REDUX_PATH` key in the `argTypes` key of the default CSF export. The value of the `ARG_REDUX_PATH` is a dot delimited string representing the path that the arg corresponds to in the store. Integer segments are treated as array indices.\n\n```js\nimport React from 'react'\nimport App from './App'\nimport { ARG_REDUX_PATH } from 'addon-redux'\n\nexport default {\n  title: 'App',\n  component: App,\n  argTypes: {\n    name1: {\n      control: { type: 'text' },\n      [ARG_REDUX_PATH]: 'todos.0.text'\n    }\n  }\n};\n\nconst Template = (args) => <App />;\n\nexport const All = Template.bind({});\nAll.args = {\n  name1: 'First Value',\n  completed1: false\n};\n```\n\n## Parameters\n\n`addon-redux` currently supports one [storybook parameter](https://storybook.js.org/docs/react/writing-stories/parameters) that can be used to change the redux state on story load, `PARAM_REDUX_MERGE_STATE`.  This parameter takes a JSON string or object that will be parsed and spread on top of the current store's state.\n\n```js\n// example story using PARAM_REDUX_MERGE_STATE\nimport React from 'react'\nimport MyComponent from './MyComponent'\nimport { PARAM_REDUX_MERGE_STATE } from 'addon-redux'\n\nexport default {\n  title: 'MyComponent',\n  component: MyComponent,\n  parameters: {\n    [PARAM_REDUX_MERGE_STATE]: '{\"foo\": {\"bar\": \"baz\"}}'\n  }\n};\n\nconst Template = (args) => <MyComponent {...args} />;\n\nexport const All = Template.bind({});\nAll.args = {};\n```\n\n","licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.10-rc1","dist":{"shasum":"e39904497fa83a627cb936ee037354d46c844a91","integrity":"sha512-tFBE1H9Ulk+okNRGHW/KG1Qf+LQhhQjdc4WvxlPv/2BHXB0ncRrHsZGxVnbykooRzsm9f3BoKpzijcNmoiv42Q==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.10-rc1.tgz","fileCount":84,"unpackedSize":99045,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhOCSyCRA9TVsSAnZWagAAORoQAJk9LVIK0XCSLtZKej4J\ncghOcve/6nwyt9PyHT/7FxIyU679aY0IsVFutBOWLhw32L5xxDY017Pw/TYj\namgGgI+cDR40z2ge8PaDms6VyE4DjNBDxdLu8nQJbaFxBI4Sszt6RI1dZYMV\nyExBS5eIUjbMy1vMWkqnJJEJ7Fx1tNOca3Iu5gl4ZW96JapcocJzdgR/xXJV\nlVq4QKcbM7hC4+vLX7ED26/xw6N9MV/3NbmUPxAZe8fdONuD0JPqiDv5nYcY\nffoYlZ8HarSqLc9NZq0pITlt2XQLoHnXCdXiMihpg7rKGW36CSy6eHb9H6Jd\nr0KxhOvNf3pduIbDQjG0qKXW3s8bOqUIrKSjNrL7P1g0oD5vaowHJU4AyMId\nx7elqWmfGedjb9TXkK4gS4uoW8dtYuPXMbz9MOtl64eUL3UWglNxYcr2HKfl\nBKdvhBJogd7pNyKNKXWPg5lrkyCOqzcJh+w2lb28wuO5Jn5OZQSWRiCMl+Gj\nYaNZh2gqRGE1Yo56UtEY8oUql28pZfClrTelUulR7td9Klzo72aO+oUMTk4a\nWxjncTy80t0cd8mnmSJb/lIbPk7BPJozUnNoWGZgFngk1CHdmKr9XDD1Nb9a\nSYVOk+TIVI7UUV+vuPT8lY6yzkSajvyBIE7Y6MeKkT7HWufHWQ4Ca6qKvzLF\nooM6\r\n=RIPj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF2ChtZMq+sQnqFMSNwnGDjc2NZrkFQtaATYXF+3swPIAiEAklcynan/Cv6ZAFLlksQel8b3XHxPqPZf6c4Ys3qBibE="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.10-rc1_1631069362152_0.22066921180487076"},"_hasShrinkwrap":false},"2.0.11":{"name":"addon-redux","version":"2.0.11","description":"Storybook addon for Redux Components","author":{"name":"Charles Howard"},"keywords":["storybook-addon","data-state","storybook","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"license":"MIT","main":"dist/cjs/index.js","module":"dist/esm/index.js","types":"dist/ts/index.d.ts","scripts":{"clean":"rimraf ./dist","buildBabel":"concurrently \"yarn buildBabel:cjs\" \"yarn buildBabel:esm\"","buildBabel:cjs":"babel ./src -d ./dist/cjs --extensions \".js,.jsx,.ts,.tsx\"","buildBabel:esm":"babel ./src -d ./dist/esm --env-name esm --extensions \".js,.jsx,.ts,.tsx\"","buildTsc":"tsc --declaration --emitDeclarationOnly --outDir ./dist/ts","prebuild":"yarn clean","build":"concurrently \"yarn buildBabel\" \"yarn buildTsc\"","build:watch":"concurrently \"yarn buildBabel:esm -- --watch\" \"yarn buildTsc -- --watch\"","test":"jest --watch","storybook":"start-storybook -p 6006","start":"concurrently \"yarn build:watch\" \"yarn storybook -- --no-manager-cache --quiet\"","build-storybook":"build-storybook","prerelease":"zx scripts/prepublish-checks.mjs","release":"yarn build && auto shipit","eject-ts":"zx scripts/eject-typescript.mjs","lint":"ts-standard"},"devDependencies":{"@babel/cli":"^7.12.1","@babel/core":"^7.12.3","@babel/preset-env":"^7.12.1","@babel/preset-react":"^7.12.5","@babel/preset-typescript":"^7.13.0","@storybook/addon-essentials":"^6.2.9","@storybook/react":"^6.2.9","@types/jest":"^26.0.24","@types/jsoneditor":"^6.3.0","auto":"^10.3.0","babel-loader":"^8.1.0","boxen":"^5.0.1","concurrently":"^6.2.0","dedent":"^0.7.0","jest":"^27.0.6","prettier":"^2.3.1","prop-types":"^15.7.2","react":"^17.0.1","react-dom":"^17.0.1","react-redux":"^7.2.4","rimraf":"^3.0.2","ts-standard":"^10.0.0","typescript":"^4.2.4","zx":"^1.14.1"},"peerDependencies":{"@storybook/addons":"^6.2.9","@storybook/api":"^6.2.9","@storybook/components":"^6.2.9","@storybook/core-events":"^6.2.9","@storybook/theming":"^6.2.9","react":"^16.8.0 || ^17.0.0","react-dom":"^16.8.0 || ^17.0.0","redux":"^4.1.0"},"peerDependenciesMeta":{"react":{"optional":true},"react-dom":{"optional":true}},"publishConfig":{"access":"public"},"storybook":{"displayName":"Addon Redux","supportedFrameworks":["react"],"icon":"https://raw.githubusercontent.com/frodare/addon-redux/master/docs/addon-redux.png"},"dependencies":{"jsondiffpatch":"^0.4.1","jsoneditor":"^9.5.0"},"licenseText":"MIT License\n\nCopyright (c) 2021 Storybook contributors\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","_id":"addon-redux@2.0.11","dist":{"shasum":"9672675f06507b9d461430f77d5dcd7aca10cef3","integrity":"sha512-pTMHvRopNbjLTwCbLCqtix/g74ztKW9N8k9suKFfeGR5hfUTcdMB7BHQW91A1OLoxOJ4BJ+36vbE6vBblYuRAg==","tarball":"https://registry.npmjs.org/addon-redux/-/addon-redux-2.0.11.tgz","fileCount":84,"unpackedSize":100399,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhpaBqCRA9TVsSAnZWagAADp0QAKIndprw5e/0Q8odJj36\nl6s54iJHZ0GaMWTmaKKqvi4yNOVJSnH+CRlNt0DOi84XCBSiTbX5B1nAT94A\n/P+dd3A9hl6m5kcbrJhwCq24FodVAG1TnmVG5QMtDC/E+6OU4qxiHYmhKQb6\n16om2cQTiYfkP6iObHMusJ45JFS2gm/gITaMhzW0f6LHQjlIGVn9DVI6pJRG\nNmZGkyIp+NgOQ6dPfL9vopJUrQqpuWg6bt6auhclKve/JDxYPYuVcMd35Coy\nKa3UKBhZKPGJ76DAO6AUwFH39JtdtIetZ9SDu+HknaMDv0EOGUw/CfUgAVHc\nqPVC34wh1Ig2DVCJTpeEVpIVSGKXgK7/uofNNLXKqhQ1NUTjFOEdZOwQvxxb\naB9zV/OH2CYOp5GMcvvpgfsYMMBwZxNN7KdbjdBhkJNIdBmZUU4SjYnjDpRl\nqAXrze9xIYeEsz9ZTxssEYdQxaVhcYtib20cTAQ3KeX+FUuS+hR/l8JwB2WD\nW9LF1T50UXuv+6DuswkjqEBe50tfcD8jrqIQfi4rP5jxnXfIMfCgQCI7xFR1\nNZ77YQG5iARnA5RIiTynEBQ5D9EXeksX02M96w9z/8OEJ3drczQftwyckD8N\nKoQsWd0oyO2VHaFSfgudUY9B31qeZfBELs/23M8/D2H7X5VOdwN1JXFiZzAg\nx7nt\r\n=jInu\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID9c623hnUwQuCRGjvt1PURUi8irb5bjh3YTIKScw/8PAiBb5dgBdpNPB+Yw1qkc8N1nrAm7CnwBIJf3P+1tqGMVvQ=="}]},"_npmUser":{"name":"frodare","email":"frodare@gmail.com"},"directories":{},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/addon-redux_2.0.11_1638244458840_0.308590520149697"},"_hasShrinkwrap":false}},"time":{"created":"2018-05-23T20:14:04.976Z","0.1.0":"2018-05-23T20:14:05.056Z","modified":"2022-04-11T12:41:48.575Z","0.1.1":"2018-05-23T22:25:24.073Z","0.1.2":"2018-05-25T03:13:04.154Z","0.1.3":"2018-12-18T22:28:33.425Z","0.1.4":"2018-12-19T00:54:30.582Z","1.0.0":"2019-01-17T15:49:05.736Z","1.1.0":"2020-01-25T16:18:31.539Z","2.0.0-1":"2021-06-27T21:15:14.725Z","2.0.0-2":"2021-06-27T21:39:13.534Z","2.0.0-3":"2021-06-27T23:07:23.052Z","2.0.0-4":"2021-06-27T23:20:32.524Z","2.0.0-5":"2021-06-28T01:46:23.709Z","2.0.0-6":"2021-07-05T13:34:31.025Z","2.0.0-7":"2021-07-10T03:31:35.259Z","2.0.0":"2021-07-10T04:27:08.006Z","2.0.1":"2021-07-10T13:34:18.687Z","2.0.2":"2021-07-10T13:40:43.693Z","2.0.3":"2021-07-13T02:23:08.585Z","2.0.4":"2021-07-13T03:15:10.347Z","2.0.5":"2021-07-14T03:38:04.160Z","2.0.6":"2021-07-15T03:41:46.722Z","2.0.7-rc1":"2021-07-16T03:07:23.285Z","2.0.7-rc2":"2021-07-17T23:40:58.605Z","2.0.7":"2021-07-20T01:36:10.071Z","2.0.8":"2021-07-23T17:04:42.041Z","2.0.9":"2021-08-07T02:49:42.707Z","2.0.10-rc1":"2021-09-08T02:49:22.319Z","2.0.11":"2021-11-30T03:54:18.981Z"},"maintainers":[{"name":"frodare","email":"frodare@gmail.com"}],"description":"Storybook addon for Redux Components","keywords":["storybook-addon","data-state","storybook","redux","react"],"repository":{"type":"git","url":"https://github.com/frodare/addon-redux.git"},"author":{"name":"Charles Howard"},"license":"MIT","readme":"![Redux Addon](docs/addon-redux-header.png)\n\n`addon-redux` is a [Storybook](https://storybook.js.org) addon that helps when building stories using components that use redux state.\n\nIdeally stories are only needed for non-redux connected components, not containers.  However, when writing stories for components of a redux application, it is common for the components to have conatiners as children which causes problems.  This is where `addon-redux` helps out by providing a decorator and helpful panels to support container components.\n\n\nThis documentation is for version 2, [click here](docs/v1/README.md) for information on setting up version 1.\n\n\n\n![Redux Addon State Panel](docs/v2/addon-redux-state-panel.png?v=1)\n\n[__Demo__](https://github.com/frodare/addon-redux-example) project using the Redux Addon.\n\nThis addon is compatible with Storybook for React\n\n# Features\n\n- Add two panels to Storybook: Redux State and Redux History\n- Wraps stories with a React Redux Provider component\n- View and Edit the current state of the store\n- Resets redux to initial state when switching stories\n- Provides a story parameter to update the store on story load\n- Logs actions and maintains the time, action, previous state, next state and state diff\n- Supports time travel to previous states\n\n# Install\n\n```\nnpm install addon-redux\n```\n\n# Usage\n\nIn order for the React Redux addon to function correctly:\n- it must be [registered](#register) as a Storybook addon\n- its store [enhancer](#enhancer) must be used in the app's store\n- the store must be [imported](#import-the-store-previewjs) in preview.js\n\n## Register\n\nSimilar to other Storybook addons, the Redux Addon needs to be registered with storybook before use.\n\n```js\n// .storybook/main.js\nmodule.exports = {\n  stories: [\n    \"../src/**/*.stories.mdx\",\n    \"../src/**/*.stories.@(js|jsx|ts|tsx)\"\n  ],\n  addons: [\n    \"@storybook/addon-links\",\n    \"@storybook/addon-essentials\",\n    \"@storybook/preset-create-react-app\",\n    \"addon-redux\"\n  ]\n}\n```\n\n## Enhancer\n\nTo give the Redux Addon the ability to listen to and alter the store, its enhancer must be used when creating the store as shown below.\n\n```js\n// Simplest use of the Redux Addon Enhancer\nimport { createStore, compose } from 'redux'\nimport reducer from './your/reducer'\nimport { enhancer } from 'addon-redux'\n\nexport const store = createStore(reducer, {}, enhancer)\n```\n\nUsually the store of an application will already be using enhancers. A more realistic store setup for the Redux Addon is shown below.\nIt includes the commonly used middleware enhancer along with some middlewares for demonstration.\nThis example shows how the Redux enhancer can be used with other enhancers, although the store creation code can look very different between different applications.\n\n```js\n// Realistic use of the Redux Addon Enhancer with other store enhancers\nimport { createStore, compose, applyMiddleware } from 'redux'\nimport { enhancer as withReduxEnhancer } from 'addon-redux'\nimport reducer from './your/reducer'\nimport createMiddlewareEnhancer from './middlewareEnhancer'\nimport invariant from 'redux-immutable-state-invariant'\nimport logger from 'redux-logger'\n\ncreateMiddlewareEnhancer () => {\n  const middleware = []\n  if (process.env.NODE_ENV !== 'production') {\n    // include other middlewares as needed, like the invariant and logger middlewares\n    middleware.push(invariant())\n    middleware.push(logger())\n  }\n  return applyMiddleware(...middleware)\n}\n\nconst createEnhancer = () => {\n  const enhancers = []\n  enhancers.push(createMiddlewareEnhancer())\n  if (process.env.NODE_ENV !== 'production') {\n    enhancers.push(withReduxEnhancer)\n  }\n  return compose(...enhancers)\n}\n\nconst store = createStore(reducer, createEnhancer())\n\nexport default store\n```\n\n## Import the Store (Preview.js)\n\nThe store must be imported in `./storybook/preivew.js` so that it will be setup and ready for the stories. \nThis addon will automatically wrap stories with the Redux provider as long as the enhancer has been setup as shown above.\n\nThis can be done in two ways:\n\n1. Import the store at the top of your file synchronously\n\n```js\n// .storybook/preview.js\n\nconst store = require('./your/store')\n\nmodule.exports = {\n  decorators: []\n}\n```\n\n2. Import the store asynchronously using [Storybook loaders](https://storybook.js.org/docs/react/writing-stories/loaders)\n\n```js\n// .storybook/preview.js\n\nmodule.exports = {\n  decorators: [],\n  loaders: [\n    async () => ({\n      store: await import('../stories/store'),\n    })\n  ]\n};\n\n```\n\n![Redux Addon History Panel](docs/v2/addon-redux-history-panel.png?v=1)\n\n## Args\n\nFurther control of the redux state is provided using [storybook args](https://storybook.js.org/docs/react/writing-stories/args). Args can be linked to the redux store using the `ARG_REDUX_PATH` key in the `argTypes` key of the default CSF export. The value of the `ARG_REDUX_PATH` is a dot delimited string representing the path that the arg corresponds to in the store. Integer segments are treated as array indices.\n\n```js\nimport React from 'react'\nimport App from './App'\nimport { ARG_REDUX_PATH } from 'addon-redux'\n\nexport default {\n  title: 'App',\n  component: App,\n  argTypes: {\n    name1: {\n      control: { type: 'text' },\n      [ARG_REDUX_PATH]: 'todos.0.text'\n    }\n  }\n};\n\nconst Template = (args) => <App />;\n\nexport const All = Template.bind({});\nAll.args = {\n  name1: 'First Value',\n  completed1: false\n};\n```\n\n## Parameters\n\n`addon-redux` currently supports one [storybook parameter](https://storybook.js.org/docs/react/writing-stories/parameters) that can be used to change the redux state on story load, `PARAM_REDUX_MERGE_STATE`.  This parameter takes a JSON string or object that will be parsed and spread on top of the current store's state.\n\n```js\n// example story using PARAM_REDUX_MERGE_STATE\nimport React from 'react'\nimport MyComponent from './MyComponent'\nimport { PARAM_REDUX_MERGE_STATE } from 'addon-redux'\n\nexport default {\n  title: 'MyComponent',\n  component: MyComponent,\n  parameters: {\n    [PARAM_REDUX_MERGE_STATE]: '{\"foo\": {\"bar\": \"baz\"}}'\n  }\n};\n\nconst Template = (args) => <MyComponent {...args} />;\n\nexport const All = Template.bind({});\nAll.args = {};\n```\n\n","readmeFilename":"README.md"}