{"_id":"shikwasa","_rev":"20-550f812fb603aadea0b7e0f428dbf632","name":"shikwasa","dist-tags":{"latest":"2.2.1","beta":"2.0.0-beta.2"},"versions":{"1.0.0":{"name":"shikwasa","version":"1.0.0","description":"An audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"acorn":"^6.1.1","parcel-bundler":"^1.12.3","rollup":"^1.16.2","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve index.html"},"author":{"name":"jessuni@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","gitHead":"94f0d9f3e55d6f1cccff6a73c7c92ab2571f83b7","_id":"shikwasa@1.0.0","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-9jnrLnHzV0JIfCEX/7USl+egI1T+3sUmtDAcZTgrBuETW38GGkLcwO0HQEXhStCXIgBnT6u4j4wy2egDcfErzg==","shasum":"7fb9380c35f7b73d3df0e7b6320cfec1699195af","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.0.tgz","fileCount":15,"unpackedSize":85887,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFHR7CRA9TVsSAnZWagAAyO8P/1OKunPu6OSffRXKrgNj\nOmKSj88OD4DRwG4rbDXSCaF9kZvH0ePoZ4JNKF4L7adnb5tocZSoho8cAV0F\nidQ2v4sXWNMuB8Kj5soWaUhRQFxbumHeCpg8RjPPmx+RoLSMp2IoAVhsaN+C\nDz+pCAP/eVhV5LSjz8CqgNH0YYxRGS3fAcoHv2Td3IaB0B3XADDI5mz66cKL\n58clAkQ+r8KNWvGAYldMuBor4936Y9PqsqUU8GjofJmxyTtRXsPNs5in0XYM\nFiJRlAwMpRTG9At8/bZrRlczzA4VJqiObUivO2TRWa1ynJJ689b775nGSHiH\nUTYlF6dvZ5iu7w10iSe9iwSxOgHzrAQxZagFWMV9MyChrGYQJw0LofWYwr14\n8g6et/G//+ELwMr/FUYLyGATivdMT948YSVGs6bEnWeZF3G0gOy9bSxuHIQ+\n96dIRni1eM3vGT418yJG7VxGIGKIIJpGcXfeEhW5JOmkcDuY32aJh/hpUrUa\nVh8NtztaGp4ER8mdghxg+26BwWicqnJ1hMi3jxWo+t3OJZYOjO7UetSoy9YN\nv1VxCP2veFNraQziYQqolhlWGkRdCuHtOgNNKbprCmctORGTRu9ytriiL7+S\nczTF6dafw+GonUJyDVcg04+yg+/zPT4J+copzd/ta6g8nflmK+2oqpIdAKVP\nZEBS\r\n=0o+6\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFqDw8z6eEdfMHbG8kSRLPeeHwRKIJ+CBjdwj1p5T9CuAiAORTJ5RCFbPAv28XTkA0KzrkynyBqcTaA+x6SoGDQzBA=="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.0_1561621626896_0.7551935601787765"},"_hasShrinkwrap":false},"1.0.1":{"name":"shikwasa","version":"1.0.1","description":"An audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"acorn":"^6.1.1","parcel-bundler":"^1.12.3","rollup":"^1.16.2","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve index.html"},"author":{"name":"jessuni@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"gitHead":"1b66c0b9b53e49b3dc39f50ff6d0bd98610c5547","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.1","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-mz93K2MtVP4d6XljrLcwl8F3YdPfx7Xvk3/n0GJ+S0bs44sKiUShYwIMYp44fMx7guCpGaIbVND9nra1Px6nOg==","shasum":"fc24d347a0a13030b9d109c8cd75bff78d38e4bb","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.1.tgz","fileCount":15,"unpackedSize":85871,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFHxQCRA9TVsSAnZWagAABt4P/R1ROJYL/jIidgG5r3YT\nZmbsbBia19SCnKdNzJP5cNfLbxWX3Herb6DPGXGeSCsA3Xo5R3EHZmytG0eL\nL7fFHNc2YcWqdY4NjR7Z6CHDRZTXtwkhFvbsd858MD0ehkmFSZuq3d3gqWUC\n2kxp88BNR1X5/PoyjGiBov2gl8pusfBBBsNu7u24r7dpUtHJfkfVn93L9HIF\nJq1u1IkFjh5AmVHGm7L/Lzt+1cJhLh+t/gvFAwO7QzeWrafC3E/YA4yovdxG\nFoWNpMUGqSE+4GmmAN0qrxoowx7LiCagXS5fyN9XjhXsXoX4bD9CvuO5H/1u\nAsFBYwUWouQcNLeu1//oHzdrq8G2C8qjLBV/HZe7osKfbd5klhG9msr2q+Yg\nGCxgTTrHSZm37n7Fs5VDvIXpgUdEw5jDxJYd/8EpdFXavJW39VCLY5ulHL5f\nrf0BLYRrzjoBofo1NhEAFaviRpGxCcGQnbPiaAPIuGyURiyEFBjXrfC/IPJU\nbbppWPEx/Fq1JJNDCG5ubKxW9mLDRf0rDizDCy+iydUgQiFtz6FWBLkdwPfa\nI+w9/j/Fdf5OXJ35JoAJ+0jdC+OOMw17fZ0aBofRtsed7m7jvsdY0zPgLivD\n7LGuJtgem9JnaOEawSCv1bG/2mYHURcljKaaCoZMikubPH3ENBU8OXDvVPby\nSuaw\r\n=jdvS\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDk7iChZq0D+5S9PPYwiInDuE/Pey6uR+3lSBLtezrQ7AIhANYVeGR0bXlx371onzC1CmCL2eqT0GgR1QZ6x0Iy65/l"}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.1_1561623632038_0.17126668864620265"},"_hasShrinkwrap":false},"1.0.2":{"name":"shikwasa","version":"1.0.2","description":"A web audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"acorn":"^6.1.1","gh-pages":"^2.0.1","parcel-bundler":"^1.12.3","rollup":"^1.16.2","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve index.html","deploy":"gh-pages -d dist"},"author":{"name":"jessunix@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"gitHead":"c5b7e91ce17d1cdfa83f37450f71513bcbcc19ef","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.2","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-f/q4vvE72CiCXcyplG5lUXrvtdYg1Le/M7BF7HsovSWP4XqQ0zJHO+4g71U/lDkSqhBX9JEXkJK7UynIG3dGLQ==","shasum":"e408e1c70609d4c2b8f191bc038013debdba3d5a","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.2.tgz","fileCount":19,"unpackedSize":6296166,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdFz6uCRA9TVsSAnZWagAAJkwP/jBHJlDV/aY1PhCaF+Ow\nnZNnUHV/BhoOwFuewwMlzeJUf/XI3/mPwBOz+ta8OGextwU+5s5jyoDjd5qg\n6kfHHZXe84vTHFvbsbppfnAB2ZSI/6PPIM/om+uwjTGpjGcMWTMHxodCBHcO\nBwlem1mMBaDyINMcMcs9I0dMbYd8829xpiw4LjlpVSefx4QIcFR3fWtewY8K\n+MCoMzoPtrjV4VhuUCclI8auBrjMKdEAIJEWf/ko+6MxuXPAsGqqtSf5/rMm\nhZtccsSP5/QQ6Fz7WWWEdg9xJVKVt5AfdEfgcD8XzFmCa+JGezuoJeKw9htl\ncBQ3E+epL9Tn0fOsKOm5MDkdj3WsOTg9Ct0/iOwbet03VyC8X8PFvjXXdL0o\nDLL8W0eOFulc9sECoMxP7/nSgEd2YoQR6cOax1h6GjT3f3MX7+2FyyIhrQCs\ng+4uecmUoizcG7q/fYv/us9NbyKh15/5weJ9JUuDGl7kOsNxmO0zkccASd1n\nD6wjdDSkDZu1NOC0kSFgKETPgDWaR2iuxOlrYj5VFJ5oBqTLLIMFCLs2FTYb\najd/O1dR3UrEnG9E87GsrUL0ANSr7IY/wzYTunCNrAoaz5QcQPr+mgZ8+0QX\nrym152FRx6sNn0DckIZOfpVcOyU7Nd/8NOjGt7mUcxBtJNJ6RM7Tn6vref1t\nPpJu\r\n=oJE4\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIHuRxi5zl3mZZuS+f8CkGRHfdDtSAvLFSjX7r5IF6J1jAiAUPTnmDapQSTMcriezV6knrSE22z0yps3lbXEnxcwIXg=="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.2_1561804461681_0.8038915673755715"},"_hasShrinkwrap":false},"1.0.3":{"name":"shikwasa","version":"1.0.3","description":"A web audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"acorn":"^6.1.1","gh-pages":"^2.0.1","parcel-bundler":"^1.12.3","rollup":"^1.16.2","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve index.html","deploy":"gh-pages -d dist"},"author":{"name":"jessunix@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"gitHead":"71ac1a9d3e0a2f7c27f52241bc2eacf5d70c679b","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.3","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-0R5fyw/pZ6/XWIwZ5+k8UgciY7j9fBLI6JtwmPyEcJg5pAE7xJ5Ij7CQ8QfGYS6gXeOt9fNK6s8QtvPg/+D5VA==","shasum":"b4698698dacda73feabcd139f8c444df044eb9ff","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.3.tgz","fileCount":19,"unpackedSize":6298459,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdGEOpCRA9TVsSAnZWagAAd3wQAIl/JN0WHlKtKEFOeamf\nIqMoi4LnWdn2TxqoLvpRnN1yA9q5Rhw1VXv5+R/PiDD/oNi73dZRrznbxV1f\nduBpkOcAa5OsfC5ZGp2Bx9JOVUjKwW5rfAOWH6f9aB5jTZA42jlyxWl0LfOT\nQnbMrNTgOSUP/qHvcTALxtkcNBPsrVETJ39l8vhaAI5plSlYvKfz/mUUN/9n\nf8kB3WM8UfxeH6hZInA6ku7bTlZwUONqA38xGEE96x6Iwx/k13YZMfWAWj8s\nStVB1P0shhQhrdUURSoQXrWEiEjE6WjnuQE6vf6h0xzJxolpCm2Fjoin4eoU\np3EFyTHn9V4Lp783x3FdfKe3QfGld1cXwUqLIRJQAxCiKwLJVXIKWstRk9jC\nl6f2cpxKvEew4p+Ws5Qr0gPD0Bp+Gh/0LE9mCArlfyP/S0elRhp3z0HAsCPt\nS6t2giowe1LIpQfP9cZBo+ZjmMPfwBKYapmYnt/9ynd8ryUZ2r+NguaHK3+d\n+T9taroPRyfM+RUdAZbcidoXYqAUXHu8zIpCe4rM5W+F62dwieTiddLjG0M9\n/8ERUyREhAmkXPxE3q5J+P4k50ZYkXEIHtP5bv31uKBiSBuvt3zeNhqehrvj\nTasMLlJPxmWCwUnNaUHr23kk44HwM7R7gWVHs0RyTpqzcGq44mx+beoiabYF\ns8ht\r\n=3QKG\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD0/kjQ/TgEVlq3xGgEaoZ7BFIZGGZfWqx/ZvM8Op3sggIhAP+98WoTnlRO5pZmUUlcGZH1nv3ylAN+REckjc4DjDSE"}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.3_1561871272398_0.953665140502931"},"_hasShrinkwrap":false},"1.0.4":{"name":"shikwasa","version":"1.0.4","description":"A web audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"acorn":"^6.2.1","gh-pages":"^2.0.1","parcel-bundler":"^1.12.3","rollup":"^1.17.0","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve ./dist/index.html -d parcel","deploy":"gh-pages -d dist"},"author":{"name":"jessunix@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"gitHead":"fc3719558d1bfd26bc0217a873f6aee74d19a8f3","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.4","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-cKSZ+QgkQE9Y/knWa3F1Lc2YS31FpNtxjgGxmnt63EQZL+ngaV9hXqG82rK5eqpKCh7EfdgjbZ16/u3AvSuOjQ==","shasum":"aaaf67f40209600a01ef31eb2f6c439b80b1105f","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.4.tgz","fileCount":8,"unpackedSize":61041,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQVuHCRA9TVsSAnZWagAAIrIP/0CoLoeXpld9wlav+XWN\n/A1TeoioxB+HK1FsigGgMNRlp40tL5zQ4pM+fTVCwjcv0PA3i4yBJS77cQeF\nRvxFCF3wflR/zZeqdPzfnSxJoCitDCNQlLJjLsD3QVCO9W2uUrz0x7lJWq3N\nh1fRxiEGn5tUhwjWJYlaGZc4rxLcK2MyUngn3uywBr6nHkDDZL8yNfpj9EBP\nzSFc9t3g/C0uJ09RMU3ZZw9MEJ31l81jv4hIf0by9ZI+lQFf+SgMPP1opr1q\n3sDTcMuUDLB38zqcdhTLsc55p4C8YZ4ZRLu8K/QK6nV3G0cEJMrcYlJsFyee\n5Dsdzd0LTqF3O9c6qJmJ1FSPhwZipUnp7r00aSge3mgIjBWmu+KAPyFOD802\ngDZy52K4RonRN38adm9grbl/1BpNyHiX//TsYrfjyi9+qfnWP0SS0HqRU3Kr\n/a1MU1NCdVUIL9uD9CG6coScH1h66J37Fu297ufZN0caenoHQo2jHpJZI3yn\nm8C+xVRps6rLmkJoHrpYJJlAxuEJv5uKVLAM396tnERcls4TYXwF3DPgKq4m\nFeDZIZF7+CPwA4L4ApaQstRfQg+/HwGczFeGCHkg8+DYruK8p7fKmb1+9VoA\nwsMDyQan8ToXSm3KRWxVJQ5Ji9F0tGJRHNKw2nEBMs3xLh1ntUnTFq8/VN3D\nVZze\r\n=NXmo\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDRRjipTaHKWmzo+nqhtnLr4Wf/mebmhqOJMY9Ib+l7vwIhALGYqWtCzYrKuv7HsjHTsVoX/W3PXefSxGKyTF2LAyjy"}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.4_1564564358478_0.40860743035805025"},"_hasShrinkwrap":false},"1.0.5":{"name":"shikwasa","version":"1.0.5","description":"A web audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"acorn":"^6.2.1","eslint":"^6.1.0","gh-pages":"^2.0.1","parcel-bundler":"^1.12.3","rollup":"^1.17.0","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve ./dist/index.html -d parcel","deploy":"gh-pages -d dist","lint":"eslint --fix src"},"author":{"name":"jessunix@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"gitHead":"48eb5b3f904811c71eac6b9464b9fdf299313c30","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.5","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-6AYrTHK1cCLUXcwiWyvDVwe5RukSOVuEq8a6KkYWJdmfQTh2RTb+RAtLN0HggfRcG7p6HyotJPIEIzMAeGKKsA==","shasum":"768f6e71d40c206935ad76ea0be07e49df37c16c","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.5.tgz","fileCount":8,"unpackedSize":61583,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdQ9vaCRA9TVsSAnZWagAA0l4QAIUIVRhGExUERiHaSxie\n0mLr81uF48kCSY62Hfxt7/W5D2nJsoCHAabYmCx2Vq0OvJWfUC55eGmp1ADI\nFNBYa7Uf24+DiRLsO8ZbS2YCDoOMI/hQfHVzylK1GUHqm2FkMlzRbmc0/MRp\nBI/3rpf/mhGusf74mexZgFBv8vdtQCKnY2Zie6AJdsh6L0j4BqBnUoh1bSUe\nabjI2Jp4qFt/nQYSN3yMvxioGbgGcJaGpQuCQ+S+Cjz2trQmO0bckXWy2+22\nVMdxGCe3S7wj9GfBkLaK6dfCD4KF4VT2RWH1f8Zh9RXHdh6RvTpDrPmXBtYa\n9AS8ka1Ud/UHcs4BNMSYDjw8MDQSUfdmEd9gvLF/ZAvYeM5y8HDlAHCG1pxz\nfoYZjI+gxamxxbzjepF3of/PCRiF/GyBdKWOZ/idLlUhO91Hbbi0YxE40i9C\nk74GTv9D7vdhINhhX+cPaPWel1CcNWz3AtVIeGe0BLm73iczoahBcnIpiczk\nRW6WCx/czPbl8iygDynvNShqy/QcM+3PZND9KbmImVCeCTHVT0UqejtlC4J/\nBPNQid6n+R2CX9RuuPKhx6O4J6tIWOyRDV+lPourVEFtnMpHvwhN4wqN4pPw\nNvJ2EVvJH++FVswd58knddJT27Bdj8p2TVW5JHjA9L+ELP7V3nJGPIcFyA/J\nR5Pm\r\n=tWPX\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFNFju0L9arl9xAfTfJQrSrCs6omCq4eDXZf66LjaJTPAiEAonfC0EWazt39/esK7IWZzHSfBEtuZFqCRZCHNkqMOY4="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.5_1564728281724_0.49359780252972585"},"_hasShrinkwrap":false},"1.0.6":{"name":"shikwasa","version":"1.0.6","description":"A web audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"autoprefixer":"^9.6.1","eslint":"^6.1.0","gh-pages":"^2.0.1","parcel-bundler":"^1.12.3","rollup":"^1.17.0","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3","rollup-plugin-replace":"^2.2.0"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve ./demo/playground.html -d parcel","dev:dist":"parcel serve ./dist/index.html -d parcel","deploy":"gh-pages -d dist","lint":"eslint --fix src"},"author":{"name":"jessunix@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":["last 1 version","> 1%"],"gitHead":"f3a172a72c49ba342f38e10d809a990d7fca2cd8","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.6","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-u/xejHXKwbhy9Ppj3XYYYqm2SF25gfEvEK/LRZre5VS14uKncL1B7YTIZydC6ecvriHcNc2uL2d8xFOkaFAsZQ==","shasum":"bcb581cddc8bedd40dd981d2a0ae44e9a09021ba","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.6.tgz","fileCount":8,"unpackedSize":61211,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdS3dhCRA9TVsSAnZWagAAn5QQAJh6uCYFTaEBUs+hVOpc\n2nvc1/wCy7Os8ox95k80IPPq3afnb4RzUsFqIWSQl3PnM7Wbctd1txTPDbUY\nZofTlmPtM9Shsrm8K3TaHG23fllwlrRIJhA7z4jgfB9vo3pZ+piSJaDSm3y6\n2i4bTENIwMuqKsSXiH6VHObwBpbTqoapAEI0iWM0vGH8ODLGQQ9VmALm8GYx\nGKKiIfc06Hy/e8FxTqYx/YdjRBO6N56VFESer2swEhIPNFtW0IycrzEFMoB7\n4jg4+NVFsBfh98O8Ddww6AAqmLrCmVdehFgEQBrEHlkHkM+o+yvNXrqfoxiW\nTvVl1K2M0OnO4Q/t/i8EMOSkhOwwwKOhRLp/Z5792bMJi4LmCdDa3JqRoIhk\nMT2w6GHfunSLBq7HZIrGIsfTv9WwnV8u6L4DU0AVIuC7CFzxAzM0JsJasjAF\n7E2hzh8yFzoftyzC1Sz8/dcnOP+/aTVBxcK9ehftVKo3fzqbHSXkVEOdgFX6\nhRLlGFN+03YauPmuNfXt/BfwudYhzd0FWvCO3tHlnG9EVlzQ3GIicZ0/jcdb\nnSzmpyjVm8bEGPFosD56M5z7SGG0spLSRjDRvUO58yLL+B95byiVZUWbepcV\nl5XON8+Xm0qmExOPWRIlxev5Fym3ns8/35C19zFVxEYQ4yREFiDdKzR/DY5T\neODY\r\n=TD+f\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICHhMGnxzL5fm6nEHtSKyI4BGo0JLWiNgrNJUsgSE5N0AiEA7wtqtetW3+stJS1nRUTbywaSQ/h0XLb5MZtdqJHZS7w="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.6_1565226848247_0.7388328347009445"},"_hasShrinkwrap":false},"1.0.7":{"name":"shikwasa","version":"1.0.7","description":"A web audio player born for podcasts, made with love by a podcast enthusiast. It is equipped with playback speed and forward/backward controls, and is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"autoprefixer":"^9.6.1","eslint":"^6.1.0","gh-pages":"^2.0.1","parcel-bundler":"^1.12.3","rollup":"^1.17.0","rollup-plugin-babel-minify":"^8.0.0","rollup-plugin-html":"^0.2.1","rollup-plugin-postcss":"^2.0.3","rollup-plugin-replace":"^2.2.0"},"scripts":{"build":"npm run build:iife && npm run build:cjs","build:iife":"FORMAT=iife rollup -c","build:cjs":"FORMAT=cjs rollup -c","dev":"parcel serve ./demo/playground.html -d parcel","dev:dist":"parcel serve ./dist/index.html -d parcel","deploy":"gh-pages -d dist","lint":"eslint --fix src"},"author":{"name":"jessunix@gmail.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":["last 1 version","> 1%"],"gitHead":"dfb6e281390286407ac43f94e5db3d68a27883da","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@1.0.7","_nodeVersion":"10.15.2","_npmVersion":"6.8.0","dist":{"integrity":"sha512-HZc0C3RuRVrZb29nUhQqTo0V7eEPeSAlaRVAMRMR+bsaYpyZE8HTsBdaU0eTGMIJ37EnGSRBuIOhIKb1r6xqGA==","shasum":"edc86607e3095b003f133f5e93e2a4f1499b5f7b","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-1.0.7.tgz","fileCount":7,"unpackedSize":64458,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd6ecBCRA9TVsSAnZWagAAg2wP/2/AD5Ycszhc4/SmJZCf\nUi8G+KNfgyU/QcTksnjfU6b54YEDwVi1jctZYWdZ3PHr2rPlwkjG3ZLJuaRT\n7TSzbRSANsRMFEo3tHH0sbE1vHcYlISS+wJ2dFw3y8HWI7/jbnDfABB3ASCy\nyxZAFCgmMMu0K4i2NnRRkRB6/1jVKpPi2Wv2HP89w5FJdipNvKP94kbwx3Ft\n44Fe/+A8aSmTKKgdg6mTV4euzMI8WD1AYRu+8jkGK4eJfu6ZMeWoYImHgz1C\nXKSVr3RP5w2Ocv0fgV+17rX9/nvV27wHAPIIIL3ry/Kqpp3UAJ+k7yrP1fwQ\n89g/EBFm0/gX2GOYkzWJ2m1aqWBh5kZ5fkuc6uh68TEdo6RluIFVm4mlUra3\nQrWyWuB36/QjKxsayEbiXv3mhIDo5htXjnJG20gR4u/sl2xLaHxBcGvi4D43\nrtWVueS7Njm3MNr3OcQ4G3VhD20+AZna09T21s7V/gG0y4E+285zHgsIzNNC\n5xugVTqF/LMZr0wcxFK0qCHCqfmrc4vdbbeAG6cX9VpN0nzTx6jpUSk1ZAe7\n8yIhqZIfnrFVEoQBjHtC0KX8MPMkUWT0I3OqOss20p9bmAwEhVrVaTpDWv0I\n9NimOhNmhWbNut5pmMiFG3/4hmV9N24oZicZgGGKfEvlVxPYiRBAdhingVV5\nCMWL\r\n=JlPN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIH0Eisu4i2Dr5dp9fhQfdi5Mu5bdeISVFmOBrPTiLbRMAiEAg/PtFJS4/pMG7DQE3zVDw5ogjEOfIK+AOaMzx+eO7zM="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_1.0.7_1575610112677_0.0875696457675017"},"_hasShrinkwrap":false},"2.0.0-beta.0":{"name":"shikwasa","version":"2.0.0-beta.0","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.9.6","@babel/preset-env":"^7.9.6","@rollup/plugin-babel":"^5.0.0","@rollup/plugin-replace":"^2.3.2","autoprefixer":"^9.8.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","css-loader":"^3.5.3","cssnano":"^4.1.10","eslint":"^7.0.0","eslint-loader":"^4.0.2","gh-pages":"^2.2.0","html-loader":"^1.1.0","html-webpack-plugin":"^4.3.0","mini-css-extract-plugin":"^0.9.0","postcss-loader":"^3.0.0","rollup":"^2.10.4","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-postcss":"^3.1.1","string-replace-loader":"^2.3.0","style-loader":"^1.2.1","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-dev-server":"^3.11.0"},"scripts":{"start":"npm run dev","dev":"webpack-dev-server","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"readme":"![shikwasa branding image](https://i.typcdn.com/jessuni/8438051210_7579.png)\n\n<br>\n\n[![npm][npm]][npm-url]\n[![size][size]][size-url]\n[![dependency][dependency]][dependency-url]\n[![jsdelivr][jsdelivr]][jsdelivr-url]\n[![license][license]][license-url]\n\n## About\n\nShikwasa is an web audio player born for podcast. If you're tired of using music players as a substitute to play podcast, you've come to the right place. **SAY NO** to players that does not even support podcast common features!\n\n- 🚀Ultra lightweight\n- 🐣Dependency free\n- 🎬Podcast chapters\n- 🏎Playback speed control\n- 🎮Skip forward/backward\n- 👓Accessibility-aware\n- 🌙Dark Mode\n- SSR compatible\n- [ ] Playlist\n\n[**➡️DEMO here⬅️**](https://jessuni.github.io/shikwasa/)\n\n<details>\n  <summary>📖Table of Contents</summary>\n\n  * [Installation](#installation)\n  * [Usage](#usage)\n  * [API](#api)\n    * [Methods](#methods)\n    * [Properties](#properties)\n  * [Options](#options)\n    * [audio](#audio)\n    * [container](#container)\n    * [fixed](#fixed)\n    * [themeColor](#themecolor)\n    * [autoplay](#autoplay)\n    * [muted](#muted)\n    * [preload](#preload)\n    * [speedOptions](#speedoptions)\n    * [download](#download)\n  * [Events](#events)\n  * [Chapters](#chapters)\n  * [Roadmap](#roadmap)\n  * [What about the weird name of this project?](#what-about-the-weird-name-of-this-project)\n  * [License](#license)\n\n</details>\n\n## Installation\n`npm install shikwasa`\n\nAlso available on CDN: https://www.jsdelivr.com/package/npm/shikwasa\n\n## Usage\n1. include stylesheet and script\n\n   ```html\n    <head>\n      <link rel=\"stylesheet\" href=\"shikwasa.min.css\">\n    </head>\n    <body>\n      <script src=\"shikwasa.min.js\"></script>\n    </body>\n   ```\n\n2. Specify a container for the player to be injected into. For example:\n\n   ```html\n    <div class=\"elementOfYourChoice\">\n      <!-- this is where the player will be injected -->\n    </div>\n   ```\n\n3. Create an instance of the player\n\n   ```javascript\n    // an example with basic init options\n\n    const player = new Shikwasa({\n      container: () => document.querySelector('.elementOfYourChoice'),\n      audio: {\n        title: 'Hello World!',\n        artist: 'Shikwasa FM',\n        cover: 'image.png',\n        src: 'audio.mp3',\n      },\n    })\n   ```\n\n   Any child nodes inside `container` will be cleared upon the time Shiwkasa mounts.\n\n4. If you use module system, import like this:\n\n   ```javascript\n    import 'shikwasa/dist/shikwasa.min.css'\n    import Shikwasa from 'shikwasa'\n\n    const player = new Shikwasa(options)\n   ```\n\n5. To use the chapter plugin, add a seperate script and stylesheet along with the above:\n\n   ```javascript\n    import Chapter as 'shikwasa/dist/shikwasa.chapter.cjs'\n    import 'shikwasa/dist/shikwasa.chapter.min.css'\n\n    // register the chapter plugin before creating an instance\n    Shikwasa.use(Chapter)\n   ```\n\nPlease read the section [Chapters](#chapters) thoroughly before using this feature.\n\n## API\n\n### Methods\n\n**.play()**\n\nStart playing the current audio. Updating audio via this method is deprecated, please use `update(audio)` instead.\n\n**.pause()**\n\nPause the current audio.\n\n**.toggle()**\n\nToggle audio play state between play and pause.\n\n**.seek(time)**\n\n`time` is a **number** that specifies target playback time. Calling this method with `time` will seek the audio to the new time.\n\n**.update(audio)**\n\nPassing an [`audio` object](#audio) in will replace the current audio source.\n\n```javascript\n  player.update({\n    title: 'Embrace the universe with a cup of shikwasa juice',\n    artist: 'Shikwasa',\n    cover: 'image.png',\n    src: 'sourceAudio.mp3'\n})\n```\n\n**.updateChapter(index)**\n\nSeek the audio to the target chapter. `index` is the index of of `chapters` array. See [Chapter](#Chapters).\n\n**.destroy()**\n\nDestroy the player instance.\n\n**.on(event, callback)**\n\nRegister an event listener. Supported events see: [Events](#events)\n\n### Properties\n\n**.chapters**\n\n- Read-only\n- type: `Array`\n- default: `[]`\n\nChapter metadata of the current audio, if any. See [Chapter](#Chapters).\n\n**.currentChapter**\n\n- Read-only\n- type: `Null|Object`\n- default: `null`\n\nIndicate which chapter is currently on play, if any. See [Chapter](#Chapters).\n\n**.currentTime**\n- Read-only\n- type: `Number`\n- default: `0`\n\nThe current playback time. Similar to the native [`HTMLMediaElement.currentTime`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime).\n\n**.muted**\n\n- type: `Boolean`\n- default: `options.muted`\n\nThe current mute state of the player. Similar to the native [`HTMLMediaElement.muted`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/muted), except that`muted`'s value will not be affected when audio source is updated.\n\n**.playbackRate**\n\n- type: `Number`\n- default: `1`\n\nThe current playbackRate of the player. Similar to the native [`HTMLMediaElement.playbackRate`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate), except that`playbackRate`'s value will not be affected when audio source is updated.\n\n**.duration**\n\n- type: `Number|NaN`\n- default: `audio.duration || options.audio.duration`\n\n## Options\n\n### Audio\n\n(Required) The target audio to be played. If `duration` is passed in, players with `preload` option set to `none` will have a audio duration time display before the audio metadata is fetched. However, after the audio metadata is loaded, this prop will be ignored.\n\n- **required**\n- type: `Object`\n- default: `null`\n- properties:\n\n```javascript\n  audio: {\n    title: String,\n    artist: String,\n    cover: String,\n    src: String,\n    duration: Number,  // optional\n    chapters: [  // Array, optional\n      { title, startTime, endTime }, // the first chapter\n      { title, startTime, endTime }, // the second chatper\n    ],\n  }\n```\n\nThe structure of [`audio.chapters`](#Chapters):\n\n| Property      | Type     |  Description                             |\n|---------------|----------|------------------------------------------|\n| title         | String   | chapter title                            |\n| startTime     | Number   | chapter start time in seconds            |\n| endTime       | Number   | chapter end time in seconds              |\n\n⚠️Note: `endTime` should be the same as `startTime` of the next chapter.\n\n### container\n\n(Optional) The container element for the player, in CSS selector pattern.\n\n- type: `String`\n- default: `body`\n\n### fixed\n\n(Optional) Whether player should be fixed to viewport.\n\n- type: `Object`\n- default:\n\n```javascript\nfixed: {\n  type: 'auto',\n  position: 'bottom',\n}\n```\n- details:\n\n| Property      | Type     |  Description                             |\n|---------------|----------|------------------------------------------|\n| type          | `String` |  either `auto`, `static` or `fixed` <br>`auto`: player position is controlled by media queries. Normally the player stays static, but on small screens it will be fixed to viewport<br>`static`: force the player to remain static regardless of screen width<br>`fixed`: force the player to fix to viewport |\n| position      | `String` | either `bottom` or `top` <br>⚠️Note: `position` will be ignored when `type` is set to `static`         |\n\n### themeColor\n\n(Optional) Theme color of the player.\n\n- type: `String`\n- default: `#00869B`\n\n### autoplay\n\n(Optional) If audio should autoplay on load. ⚠️Note: Chrome and Safari disable audio autoplay unless `muted` is set to `true` by default. To comply with this policy, see details in [Chrome Developers](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes) and [Webkit Announcement](https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/).\n\n- type: `Boolean`\n- default: `false`\n\n### muted\n\nWhether audio should be muted by default. Similar to HTMLMediaElement's `defaultMuted`.\n\n- type: `Boolean`\n- default: `false`\n\n### preload\n\n(Optional) Choose from `auto`, `metadata` and `none`. For details view [MDN Doumentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#attr-preload).\n\nIf a [`parser`](#parser) is used, the audio will be requested immediately on page load for the parser to work properly, even if `preload` is set to `none`.\n\n- type: `String`\n- default: `metadata`\n\n### speedOptions\n\n(Optional) The playback speed range. Each value of the array should be between the range of 0.25 to 5.0, or will likely be ignored by certain browsers.\n- type: `Array`\n- default: `[0.5, 0.75, 1.25, 1.5]`\n\n### download\n\n(Optional) Whether the current audio source is download-able. When set to `true`, the player will provide an anchor with `downlaod` attribute and `href` set to `audio.src`. Cross-origin `href` will not prompt download due to anchor's nature, but you can offer an alternative `blob:`, `data:` url or a same-origin direct download link(DDL).\n\n- type: `Boolean|String`\n- default: `false`\n- alternatives:\n\n```javascript\ndownload: true\n// or with a url\ndownload: 'data:audio/mp3;base64,...'\n```\n\n### parser\n\n(Optional) Use an external parser to parse the current audio's metadata. If a parser passed, it will read the audio's `title`, `artist`, `duration` and `chapters`, meaning you don't have to provide these four properties into `audio` manually unless you preferred your own. **Priority: property values passed to `audio` > parsed data.**\n\n- type: `Null|Object`\n- default: `null`\n- usage:\n\n`npm install jsmediatags` or use CDN\n\n```javascript\n  import jsmediatags from 'jsmediatags'\n  new Shikwasa({\n    ...\n  parser: jsmediatags\n  })\n```\n\n⚠️Note: If `audio.src` is not of the same origin, proper CORS configuration will be needed to use the parser.\nDue to `jsmediatags` limitation, relative urls are not supported. Please use absolute urls for `audio.src`.\n\n## Events\n\nSupport all [htmlMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) native events.\n\nPlayer events:\n\n`audioupdate`: fired when the `audio` object is updated.\n`chapterchange`: fired when `chapter` changes.\n\n\n## Chapters\n\nShikwasa will support chapter display and seeking with the chapter plugin. To use:\n\n1. Register the chapter plugin before creating a Shikwasa instance. [How-to](#usage)\n2. This does not grant that the audio will display chapters. To display chapters, you'll need to either provide it to the player. Shikwasa also supports using `jsmediatags` as an external parser to read and extract chapter info from the audio file;\n  - (1)To manually provide chapter, include a `chapters` object in `audio`. [How to pass chapter?](#Audio)\n  - (2)To use a parser, pass [jsmediatags](https://github.com/aadsm/jsmediatags), in the `parser` options. [How to use a parser?](#parser)\n\n\n**(1) will take higher priority.**\n\n### Using parser for chapters\n\n```javascript\nimport jsmediatags from 'jsmediatags'\n\nconst shk = new Shikwasa({\n  ...\n  parser: jsmediatags,\n  audio: {\n    src: ...\n    // the parser will read title, artist, duration and chapters info\n    // from the audio file, so you don't need to provide any of those\n    // unless you preferred you own\n  }\n})\n```\n\nRelated:\n\n- [Methods](#methods): `.updateChapter(index)`\n- [Properties](#properties): `chapters`, `currentChapter`\n- Options: [`audio`](#audio), [`parser`](#parser)\n\nFor other information, check out the section [Parser](#parser).\n\n## Roadmap\n\nUnder v2.0.0:\n- [x] supporting audio id3 metadata --currently working on this one\n- [x] cleaner & sleeker interface\n- [x] dark mode\n- [x] a complete rewrite\n- [x] keyboard support\n\nOthers:\n- [ ] podcast playlist\n\n## What about the weird name of this project?\n\n*Shikwasa* is the name of a popular citrus fruit from Okinawa, Japan. 🍊\n\nLove it, name after it.\n\n## License\n[MIT](./LICENSE)\n\n\n[npm]: https://img.shields.io/npm/v/shikwasa.svg?style=flat-square\n[npm-url]: https://npmjs.com/package/shikwasa\n[size]:http://img.badgesize.io/https://unpkg.com/shikwasa/dist/shikwasa.min.js?compression=gzip&label=gzip%20size&style=flat-square\n[size-url]:https://github.com/jessuni/shikwasa/tree/next/dist\n[license]:https://img.shields.io/github/license/jessuni/shikwasa?style=flat-square\n[license-url]:https://github.com/jessuni/shikwasa/blob/master/LICENSE.md\n[jsdelivr]: https://badgen.net/jsdelivr/hits/npm/shikwasa?color=orange&style=flat-square\n[jsdelivr-url]: https://www.jsdelivr.com/package/npm/shikwasa\n[dependency]: https://img.shields.io/badge/dependencies-none-lightgrey.svg?style=flat-square\n[dependency-url]: https://david-dm.org/jessuni/shikwasa\n","readmeFilename":"README.md","gitHead":"94033570fece041dded7a6d03a13ac34994b6078","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.0.0-beta.0","_nodeVersion":"13.1.0","_npmVersion":"6.12.1","dist":{"integrity":"sha512-kiJ8c3GQR2r6rt9ZKUKBgerY2SXnzeZIDEmVAtREt5Pu9X60N26ZIffDOc3alIrfjYJyZcCD62xC3u6Eb0L6Rg==","shasum":"a3824c4095b83242643b9fe82120d33697269a13","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.0.0-beta.0.tgz","fileCount":11,"unpackedSize":214279,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJew6jnCRA9TVsSAnZWagAA80YP/2eaVSdR/4smeq0LYexN\n/ANA3dJu/j1lZY9iSkpb6LLQT2Wtm2JseZMOu13ZcMZsyhQR+wmmw2qf7a20\nUJyZg7iqlNZAfpJzEEdQowuYt1ztodoMQnvHl5btkIkKB8pQuz2loDldJTrc\nqj+QDRFk2oCMdea9MsqSoZ0QpqhOOwKe2k7Uiqh/w2itlZUB+A25ZnFR54/W\nTO1lFfuiWGGunR1xvt2GcPiT50EDwdLQtaxeGY5PQ+euFEl6FJtfkXhsNiQd\nZrAnUWxj4dNmvlkdSVQXeH5Tb1ga6Y0cEkIHo3gwtr8DcwX8mp6JQBqI+qxu\nSuNwvIRBBu+RhB2+O56YY/q2YLgJYEFGID6bsuPt2Z9GqWwJvqh1o36+86fh\n+pK4A62mpdx37vXlCLwWCeiQx0toesj9zXHjD/0USJl6bCZ+ehPKfWOgxJlB\nJB6DcSzosF7GvV0+H7BuGV+nnGDZqRbVFV9t/GLFQe91qgmBDUF5EcKCmnAc\nvc1i05dP+La9W31jQNKUlERew+7OolsVGKw9GXVKi8OHUe2Q1xYJa/qJ2Z/l\nbiqQG3NcpU8u2qNu03BDAUEg7l65qBCoRnINHc3YUuGofrdJ8Lf1pUIdSbHC\nnuEuYft+pvyOMMmng/+ItwkvN1ubhdfD1ym+rP9gvxmHDvO6xvmJksQUe+kf\nsF+g\r\n=6tAa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCID0Z4c2jqKevvMIOZvt5SasJQYueEVNw73mg722lLLr+AiBqjIxu+s50bLp1/gVVQoDNHVXxHpZutu+vJblxtckz8Q=="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.0.0-beta.0_1589881063017_0.9144828174350157"},"_hasShrinkwrap":false},"2.0.0-beta.1":{"name":"shikwasa","version":"2.0.0-beta.1","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@rollup/plugin-babel":"^5.0.2","@rollup/plugin-replace":"^2.3.2","autoprefixer":"^9.8.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","css-loader":"^3.5.3","cssnano":"^4.1.10","cypress":"^4.7.0","eslint":"^7.1.0","eslint-loader":"^4.0.2","eslint-plugin-cypress":"^2.11.1","gh-pages":"^2.2.0","html-loader":"^1.1.0","html-webpack-plugin":"^4.3.0","mini-css-extract-plugin":"^0.9.0","postcss-loader":"^3.0.0","rollup":"^2.11.2","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-postcss":"^3.1.1","string-replace-loader":"^2.3.0","style-loader":"^1.2.1","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-dev-server":"^3.11.0"},"scripts":{"start":"npm run dev","start:ci":"webpack-dev-server --client-log-level silent","dev":"webpack-dev-server","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"readme":"![shikwasa branding image](https://i.typcdn.com/jessuni/8438051210_7579.png)\n\n<br>\n\n[![npm][npm]][npm-url]\n[![size][size]][size-url]\n[![dependency][dependency]][dependency-url]\n[![jsdelivr][jsdelivr]][jsdelivr-url]\n![![CI][CI]][CI-url]\n[![license][license]][license-url]\n\n## About\n\nShikwasa is an web audio player born for podcast. If you're tired of using music players as a substitute to play podcast, you've come to the right place. **SAY NO** to players that does not even support podcast common features!\n\n- 🚀 Ultra lightweight\n- 🐣 Dependency free\n- 🎬 Podcast chapters\n- 🏎 Playback speed control\n- 🎮 Skip forward/backward\n- 👓 Accessibility-aware\n- 🌙 Dark Mode\n- SSR compatible\n- [ ] Playlist\n\n[**➡️DEMO here⬅️**](https://jessuni.github.io/shikwasa/)\n\n<details>\n  <summary>📖Table of Contents</summary>\n\n  * [Installation](#installation)\n  * [Usage](#usage)\n  * [API](#api)\n    * [Methods](#methods)\n    * [Properties](#properties)\n  * [Options](#options)\n    * [audio](#audio)\n    * [container](#container)\n    * [fixed](#fixed)\n    * [themeColor](#themecolor)\n    * [autoplay](#autoplay)\n    * [muted](#muted)\n    * [preload](#preload)\n    * [speedOptions](#speedoptions)\n    * [download](#download)\n  * [Events](#events)\n  * [Chapter Plugin](#chapters)\n  * [Roadmap](#roadmap)\n  * [What about the weird name of this project?](#what-about-the-weird-name-of-this-project)\n  * [License](#license)\n\n</details>\n\n## Installation\n`npm install shikwasa`\n\nAlso available on CDN: https://www.jsdelivr.com/package/npm/shikwasa\n\n## Usage\n1. include stylesheet and script\n\n   ```html\n    <head>\n      <link rel=\"stylesheet\" href=\"shikwasa.min.css\">\n    </head>\n    <body>\n      <script src=\"shikwasa.min.js\"></script>\n    </body>\n   ```\n\n2. Specify a container for the player to be injected into. For example:\n\n   ```html\n    <div class=\"elementOfYourChoice\">\n      <!-- this is where the player will be injected -->\n    </div>\n   ```\n\n3. Create an instance of the player\n\n   ```javascript\n    // an example with basic init options\n\n    const player = new Shikwasa({\n      container: () => document.querySelector('.elementOfYourChoice'),\n      audio: {\n        title: 'Hello World!',\n        artist: 'Shikwasa FM',\n        cover: 'image.png',\n        src: 'audio.mp3',\n      },\n    })\n   ```\n\n   Any child nodes inside `container` will be cleared upon the time Shiwkasa mounts.\n\n4. If you use module system, import like this:\n\n   ```javascript\n    import 'shikwasa/dist/shikwasa.min.css'\n    import Shikwasa from 'shikwasa'\n\n    const player = new Shikwasa(options)\n   ```\n\nTo use the Chapter feature, you need to import the chapter script and stylesheets as well. [View details](#chapters)\n\n## API\n\n### Methods\n\n**.play()**\n\nStart playing the current audio. Updating audio via this method is deprecated, please use `update(audio)` instead.\n\n**.pause()**\n\nPause the current audio.\n\n**.toggle()**\n\nToggle audio play state between play and pause.\n\n**.seek(time)**\n\n`time` is a **number** that specifies target playback time. Calling this method with `time` will seek the audio to the new time.\n\n**.update(audio)**\n\nPassing an [`audio` object](#audio) in will replace the current audio source.\n\n```javascript\n  player.update({\n    title: 'Embrace the universe with a cup of shikwasa juice',\n    artist: 'Shikwasa',\n    cover: 'image.png',\n    src: 'sourceAudio.mp3'\n})\n```\n\n**.destroy()**\n\nDestroy the player instance.\n\n**.on(event, callback)**\n\nRegister an event listener. Supported events see: [Events](#events)\n\n### Properties\n\n**.currentTime**\n- Read-only\n- type: `Number`\n- default: `0`\n\nThe current playback time. Similar to the native [`HTMLMediaElement.currentTime`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime).\n\n**.muted**\n\n- type: `Boolean`\n- default: `options.muted`\n\nThe current mute state of the player. Similar to the native [`HTMLMediaElement.muted`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/muted), except that`muted`'s value will not be affected when audio source is updated.\n\n**.playbackRate**\n\n- type: `Number`\n- default: `1`\n\nThe current playbackRate of the player. Similar to the native [`HTMLMediaElement.playbackRate`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate), except that`playbackRate`'s value will not be affected when audio source is updated.\n\n**.duration**\n\n- type: `Number|NaN`\n- default: `audio.duration || options.audio.duration`\n\n## Options\n\n### Audio\n\n(Required) The target audio to be played. If `duration` is passed in, players with `preload` option set to `none` will have a audio duration time display before the audio metadata is fetched. However, after the audio metadata is loaded, this prop will be ignored.\n\n- **required**\n- type: `Object`\n- default: `null`\n- properties:\n\n```javascript\n  audio: {\n    title: String,\n    artist: String,\n    cover: String,\n    src: String,\n    duration: Number,  // optional\n  }\n```\n\n### container\n\n(Optional) The container element for the player. If `document` is not available in the env, pass a function that will return the container element.\n\n- type: `HTMLElement`\n- default: `() => document.querySelector('body')`\n\n### fixed\n\n(Optional) Whether player should be fixed to viewport.\n\n- type: `Object`\n- default:\n\n```javascript\nfixed: {\n  type: 'auto',\n  position: 'bottom',\n}\n```\n- details:\n\n| Property      | Type     |  Description                             |\n|---------------|----------|------------------------------------------|\n| type          | `String` |  either `auto`, `static` or `fixed` <br>`auto`: player position is controlled by media queries. Normally the player stays static, but on small screens it will be fixed to viewport<br>`static`: force the player to remain static regardless of screen width<br>`fixed`: force the player to fix to viewport |\n| position      | `String` | either `bottom` or `top` <br>⚠️Note: `position` will be ignored when `type` is set to `static`         |\n\n### themeColor\n\n(Optional) Theme color of the player.\n\n- type: `String`\n- default: `#00869B`\n\n### autoplay\n\n(Optional) If audio should autoplay on load. ⚠️Note: Chrome and Safari disable audio autoplay unless `muted` is set to `true` by default. To comply with this policy, see details in [Chrome Developers](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes) and [Webkit Announcement](https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/).\n\n- type: `Boolean`\n- default: `false`\n\n### muted\n\nWhether audio should be muted by default. Similar to HTMLMediaElement's `defaultMuted`.\n\n- type: `Boolean`\n- default: `false`\n\n### preload\n\n(Optional) Choose from `auto`, `metadata` and `none`. For details view [MDN Doumentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#attr-preload).\n\nIf a [`parser`](#parser) is used, the audio will be requested immediately on page load for the parser to work properly, even if `preload` is set to `none`.\n\n- type: `String`\n- default: `metadata`\n\n### speedOptions\n\n(Optional) The playback speed range. Each value of the array should be between the range of 0.25 to 5.0, or will likely be ignored by certain browsers.\n- type: `Array`\n- default: `[0.5, 0.75, 1.25, 1.5]`\n\n### download\n\n(Optional) Whether the current audio source is download-able. When set to `true`, the player will provide an anchor with `downlaod` attribute and `href` set to `audio.src`. Cross-origin `href` will not prompt download due to anchor's nature, but you can offer an alternative `blob:`, `data:` url or a same-origin direct download link(DDL).\n\n- type: `Boolean|String`\n- default: `false`\n- alternatives:\n\n```javascript\ndownload: true\n// or with a url\ndownload: 'data:audio/mp3;base64,...'\n```\n\n### parser\n\n(Optional) Use [`jsmediatags`](https://github.com/aadsm/jsmediatags) as an external parser to parse the current audio's metadata. It will read the audio's `title`, `artist`, `duration` and `chapters`, meaning you don't have to provide these four properties into `audio` manually unless you preferred your own. **Priority: property values passed to `audio` > parsed data.**\n\n- type: `Null|Object`\n- default: `null`\n- usage:\n\n```javascript\n  npm install jsmediatags` // https://github.com/aadsm/jsmediatags\n```\n\n```javascript\n  import jsmediatags from 'jsmediatags'\n\n  new Shikwasa({\n    ...\n  parser: jsmediatags,\n  audio: { src: ... },\n  })\n```\n\n\n⚠️Note: If `audio.src` is not of the same origin, proper CORS configuration will be needed to use the parser.\nDue to `jsmediatags` limitation, relative urls are not supported. Please use absolute urls for `audio.src`.\n\n## Events\n\nSupport all [HTMLMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) native events.\n\nPlayer events:\n\n`audioupdate`: fired when audio source is updated.\n\n`chapterchange`: fired when `chapter` changes.\n\n\n## Chapters\n\nShikwasa will support chapter display and seeking with the chapter plugin. To use:\n\n1. Register the chapter plugin before creating a Shikwasa instance.\n\n   ```javascript\n    import Chapter as 'shikwasa/dist/shikwasa.chapter.cjs'\n    import 'shikwasa/dist/shikwasa.chapter.min.css'\n\n    Shikwasa.use(Chapter)\n    new Shikwasa({...})\n   ```\n\n2. This does not guarantee that the audio will display chapters. To display chapters, you need to provide chapter data to the player.\n\n   If you don't have direct access to the chapter data, Shikwasa has built-in support to work with [jsmediatags](https://github.com/aadsm/jsmediatags) to read and extract the data from the audio file;\n\n  - (1) To manually provide chapters, add the `chapters` property when passing `audio` in [options](#options) or [`.update(audio)`](#methods).\n    ```javascript\n      audio: {\n        ...\n        chapters: [  // Array, optional\n          { title, startTime, endTime }, // the first chapter\n          { title, startTime, endTime }, // the second chatper\n        ],\n      }\n    ```\n\n    The structure of a single chapter object:\n\n    | Property      | Type     |  Description                             |\n    |---------------|----------|------------------------------------------|\n    | title         | String   | chapter title                            |\n    | startTime     | Number   | chapter start time in seconds            |\n    | endTime       | Number   | chapter end time in seconds              |\n\n    ⚠️Note: `endTime` should be the same as `startTime` of the next chapter.\n\n\n  - (2) To use an external parser, pass `jsmediatags` in the `parser` options. [How to use a parser?](#parser)\n\n**(1) will take higher priority.**\n\n### Registering Chapter plugin will empower Shikwasa instance with the folloing API:\n\n**.updateChapter(index)**\n\nSeek the audio to the target chapter. `index` is the index of of `chapters` array.\n\n**.chapters**\n\n- Read-only\n- type: `Array`\n- default: `[]`\n\nChapter metadata of the current audio, if any. See [Chapter](#Chapters).\n\n**.currentChapter**\n\n- Read-only\n- type: `Null|Object`\n- default: `null`\n\nIndicate which chapter is currently on play, if any. See [Chapter](#Chapters).\n\n## Roadmap\n\nUnder v2.0.0:\n- [x] supporting audio id3 metadata --currently working on this one\n- [x] cleaner & sleeker interface\n- [x] dark mode\n- [x] a complete rewrite\n- [x] keyboard support\n\nOthers:\n- [ ] podcast playlist\n\n## What about the weird name of this project?\n\n*Shikwasa* is the name of a popular citrus fruit from Okinawa, Japan. 🍊\n\nLove it, name after it.\n\n## License\n[MIT](./LICENSE)\n\n\n[npm]: https://img.shields.io/npm/v/shikwasa.svg?style=flat-square\n[npm-url]: https://npmjs.com/package/shikwasa\n[size]:http://img.badgesize.io/https://unpkg.com/shikwasa/dist/shikwasa.min.js?compression=gzip&label=gzip%20size&style=flat-square\n[size-url]:https://github.com/jessuni/shikwasa/tree/next/dist\n[license]:https://img.shields.io/github/license/jessuni/shikwasa?style=flat-square\n[license-url]:https://github.com/jessuni/shikwasa/blob/master/LICENSE.md\n[jsdelivr]: https://badgen.net/jsdelivr/hits/npm/shikwasa?color=orange&style=flat-square\n[jsdelivr-url]: https://www.jsdelivr.com/package/npm/shikwasa\n[dependency]: https://img.shields.io/badge/dependencies-none-lightgrey.svg?style=flat-square\n[dependency-url]: https://david-dm.org/jessuni/shikwasa\n[CI]: https://github.com/jessuni/shikwasa/actions\n[CI-url]: https://github.com/jessuni/shikwasa/workflows/Node.js%20CI/badge.svg?branch=next\n","readmeFilename":"README.md","gitHead":"5418ca72027114b0f2fdae1698d9c2dcfceaf997","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.0.0-beta.1","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-stEqxS9CgDJ3AM6Pa57dSMyXSOrXWaLaXYuMGY1K+/SWerkC83T1D7Utfqr4x8uxrPi6d/Fwb3Zlv5/WKPVowA==","shasum":"52f767391d05e9afd613102c52db6664982f9bdf","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.0.0-beta.1.tgz","fileCount":13,"unpackedSize":229373,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe3dJ1CRA9TVsSAnZWagAAuZYP/jnyzm999n+CndyCUo/a\nCnvDJrd59BaZoonWBMgdJz/ZcYNLkNaAWaTQm/Omo8bipPSxjzVPpFrjw6dj\nOAyz1kgW4JI4gBVKtgXfZYgrcY4vCja9iLr/eGaUp+jLrnWDiTk/jmppIHGg\nRnWNbe7+Z8htriwT7gqrTY3jTVJaKQOHecU0wAfQJE/k+ltbQekkTKWKL0HC\n6h8EGJ19NQ+GigCglGPMnCtomOu00w/JC+FzqbYmG5ZIyyqkqMmVrhXuRQCs\nSttPBUk9NQK89hWGcIdNrTeNfyTDFaXpPSYnDg1stCD4zzcd5amL/dzfXpDk\nAlDnKF0OjLtze/KXGnXirfpmIFbysw8nwO91OJOKRBliV+aJzV9mIaG0pafb\nBoghluun5DmJA5RAfENh0io7mpqc8rkNf+Q9UMeSEg8i0So94YReZDQZEUuT\nMdrLUU7h/nGh62cjJP/H+dEc2TSb9vi3hW/MrNOEe5qFrxIHRs1dJvWucaqL\nBqT7iIBJjizOKojHSdKG7AIMtRPZM7ko82GsKQYEs3DmzV6OwXYz/oY83HFR\n9sVxJoLnPlytJ+oUSPNhvNEzYkljSIrsziixcaKvarm7D428PV/lu0VXRmvZ\n5wjJWxsbB32K4v28TfUU5BMPw7pKFEelPZAx3n/G9nzUwoAXA20gC0DHFv0J\nTPY2\r\n=z9YK\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDIMQ/nGtyFgHIk4KFNVhK4oFoAaT+UJyiluZbetSfZOQIgLWbOlpO8bK3fDZoiQVGNyAbSFLzmzBpMuiyuE/dX7lI="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.0.0-beta.1_1591595636511_0.28671643246321743"},"_hasShrinkwrap":false},"2.0.0-beta.2":{"name":"shikwasa","version":"2.0.0-beta.2","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@rollup/plugin-babel":"^5.0.2","@rollup/plugin-replace":"^2.3.2","autoprefixer":"^9.8.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","css-loader":"^3.5.3","cssnano":"^4.1.10","cypress":"^4.7.0","eslint":"^7.1.0","eslint-loader":"^4.0.2","eslint-plugin-cypress":"^2.11.1","gh-pages":"^2.2.0","html-loader":"^1.1.0","html-webpack-plugin":"^4.3.0","mini-css-extract-plugin":"^0.9.0","postcss-loader":"^3.0.0","rollup":"^2.11.2","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-postcss":"^3.1.1","string-replace-loader":"^2.3.0","style-loader":"^1.2.1","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-dev-server":"^3.11.0"},"scripts":{"start":"npm run dev","start:ci":"webpack-dev-server --client-log-level silent","dev":"webpack-dev-server","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"readme":"![shikwasa branding image](https://i.typcdn.com/jessuni/8438051210_7579.png)\n\n<br>\n\n[![npm][npm]][npm-url]\n[![size][size]][size-url]\n[![dependency][dependency]][dependency-url]\n[![jsdelivr][jsdelivr]][jsdelivr-url]\n![![CI][CI]][CI-url]\n[![license][license]][license-url]\n\n## About\n\nShikwasa is an web audio player born for podcast. If you're tired of using music players as a substitute to play podcast, you've come to the right place. **SAY NO** to players that does not even support podcast common features!\n\n- 🚀 Ultra lightweight\n- 🐣 Dependency free\n- 🎬 Podcast chapters\n- 🏎 Playback speed control\n- 🎮 Skip forward/backward\n- 👓 Accessibility-aware\n- 🌙 Dark Mode\n- SSR compatible\n- [ ] Playlist\n\n[**➡️DEMO here⬅️**](https://jessuni.github.io/shikwasa/)\n\n<details>\n  <summary>📖Table of Contents</summary>\n\n  * [Installation](#installation)\n  * [Usage](#usage)\n  * [API](#api)\n    * [Methods](#methods)\n    * [Properties](#properties)\n  * [Options](#options)\n    * [audio](#audio)\n    * [container](#container)\n    * [fixed](#fixed)\n    * [themeColor](#themecolor)\n    * [autoplay](#autoplay)\n    * [muted](#muted)\n    * [preload](#preload)\n    * [speedOptions](#speedoptions)\n    * [download](#download)\n  * [Events](#events)\n  * [Chapter Plugin](#chapters)\n  * [Roadmap](#roadmap)\n  * [What about the weird name of this project?](#what-about-the-weird-name-of-this-project)\n  * [License](#license)\n\n</details>\n\n## Installation\n`npm install shikwasa`\n\nAlso available on CDN: https://www.jsdelivr.com/package/npm/shikwasa\n\n## Usage\n1. include stylesheet and script\n\n   ```html\n    <head>\n      <link rel=\"stylesheet\" href=\"shikwasa.min.css\">\n    </head>\n    <body>\n      <script src=\"shikwasa.min.js\"></script>\n    </body>\n   ```\n\n2. Specify a container for the player to be injected into. For example:\n\n   ```html\n    <div class=\"elementOfYourChoice\">\n      <!-- this is where the player will be injected -->\n    </div>\n   ```\n\n3. Create an instance of the player\n\n   ```javascript\n    // an example with basic init options\n\n    const player = new Shikwasa({\n      container: () => document.querySelector('.elementOfYourChoice'),\n      audio: {\n        title: 'Hello World!',\n        artist: 'Shikwasa FM',\n        cover: 'image.png',\n        src: 'audio.mp3',\n      },\n    })\n   ```\n\n   Any child nodes inside `container` will be cleared upon the time Shiwkasa mounts.\n\n4. If you use module system, import like this:\n\n   ```javascript\n    import 'shikwasa/dist/shikwasa.min.css'\n    import Shikwasa from 'shikwasa'\n\n    const player = new Shikwasa(options)\n   ```\n\nTo use the Chapter feature, you need to import the chapter script and stylesheets as well. [View details](#chapters)\n\n## API\n\n### Methods\n\n**.play()**\n\nStart playing the current audio. Updating audio via this method is deprecated, please use `update(audio)` instead.\n\n**.pause()**\n\nPause the current audio.\n\n**.toggle()**\n\nToggle audio play state between play and pause.\n\n**.seek(time)**\n\n`time` is a **number** that specifies target playback time. Calling this method with `time` will seek the audio to the new time.\n\n**.update(audio)**\n\nPassing an [`audio` object](#audio) in will replace the current audio source.\n\n```javascript\n  player.update({\n    title: 'Embrace the universe with a cup of shikwasa juice',\n    artist: 'Shikwasa',\n    cover: 'image.png',\n    src: 'sourceAudio.mp3'\n})\n```\n\n**.destroy()**\n\nDestroy the player instance.\n\n**.on(event, callback)**\n\nRegister an event listener. Supported events see: [Events](#events)\n\n### Properties\n\n**.currentTime**\n- Read-only\n- type: `Number`\n- default: `0`\n\nThe current playback time. Similar to the native [`HTMLMediaElement.currentTime`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime).\n\n**.muted**\n\n- type: `Boolean`\n- default: `options.muted`\n\nThe current mute state of the player. Similar to the native [`HTMLMediaElement.muted`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/muted), except that`muted`'s value will not be affected when audio source is updated.\n\n**.playbackRate**\n\n- type: `Number`\n- default: `1`\n\nThe current playbackRate of the player. Similar to the native [`HTMLMediaElement.playbackRate`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate), except that`playbackRate`'s value will not be affected when audio source is updated.\n\n**.duration**\n\n- type: `Number|NaN`\n- default: `audio.duration || options.audio.duration`\n\n## Options\n\n### Audio\n\n(Required) The target audio to be played. If `duration` is passed in, players with `preload` option set to `none` will have a audio duration time display before the audio metadata is fetched. However, after the audio metadata is loaded, this prop will be ignored.\n\n- **required**\n- type: `Object`\n- default: `null`\n- properties:\n\n```javascript\n  audio: {\n    title: String,\n    artist: String,\n    cover: String,\n    src: String,\n    duration: Number,  // optional\n  }\n```\n\n### container\n\n(Optional) The container element for the player. If `document` is not available in the env, pass a function that will return the container element.\n\n- type: `HTMLElement`\n- default: `() => document.querySelector('body')`\n\n### fixed\n\n(Optional) Whether player should be fixed to viewport.\n\n- type: `Object`\n- default:\n\n```javascript\nfixed: {\n  type: 'auto',\n  position: 'bottom',\n}\n```\n- details:\n\n| Property      | Type     |  Description                             |\n|---------------|----------|------------------------------------------|\n| type          | `String` |  either `auto`, `static` or `fixed` <br>`auto`: player position is controlled by media queries. Normally the player stays static, but on small screens it will be fixed to viewport<br>`static`: force the player to remain static regardless of screen width<br>`fixed`: force the player to fix to viewport |\n| position      | `String` | either `bottom` or `top` <br>⚠️Note: `position` will be ignored when `type` is set to `static`         |\n\n### themeColor\n\n(Optional) Theme color of the player.\n\n- type: `String`\n- default: `#00869B`\n\n### autoplay\n\n(Optional) If audio should autoplay on load. ⚠️Note: Chrome and Safari disable audio autoplay unless `muted` is set to `true` by default. To comply with this policy, see details in [Chrome Developers](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes) and [Webkit Announcement](https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/).\n\n- type: `Boolean`\n- default: `false`\n\n### muted\n\nWhether audio should be muted by default. Similar to HTMLMediaElement's `defaultMuted`.\n\n- type: `Boolean`\n- default: `false`\n\n### preload\n\n(Optional) Choose from `auto`, `metadata` and `none`. For details view [MDN Doumentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#attr-preload).\n\nIf a [`parser`](#parser) is used, the audio will be requested immediately on page load for the parser to work properly, even if `preload` is set to `none`.\n\n- type: `String`\n- default: `metadata`\n\n### speedOptions\n\n(Optional) The playback speed range. Each value of the array should be between the range of 0.25 to 5.0, or will likely be ignored by certain browsers.\n- type: `Array`\n- default: `[0.5, 0.75, 1.25, 1.5]`\n\n### download\n\n(Optional) Whether the current audio source is download-able. When set to `true`, the player will provide an anchor with `downlaod` attribute and `href` set to `audio.src`. Cross-origin `href` will not prompt download due to anchor's nature, but you can offer an alternative `blob:`, `data:` url or a same-origin direct download link(DDL).\n\n- type: `Boolean|String`\n- default: `false`\n- alternatives:\n\n```javascript\ndownload: true\n// or with a url\ndownload: 'data:audio/mp3;base64,...'\n```\n\n### parser\n\n(Optional) To focus on the player itself as well as to maintain Shikwasa as efficient as possible, we don't extract data from audio files. If you don't have control over the chapter data but would like to implement chapter feature, we support using [`jsmediatags`](https://github.com/aadsm/jsmediatags) as an external parser to parse the current audio's metadata.\n\nIt will read the audio's `title`, `artist`, `duration` and `chapters`, meaning you don't have to provide these four properties into `audio` manually unless you preferred your own. **Priority: property values passed to `audio` > parsed data.**\n\n- type: `Null|Object`\n- default: `null`\n- usage:\n\n```javascript\n  npm install jsmediatags // https://github.com/aadsm/jsmediatags\n```\n\n```javascript\n  import jsmediatags from 'jsmediatags'\n\n  new Shikwasa({\n    ...\n  parser: jsmediatags,\n  audio: { src: ... },\n  })\n```\n\n\n⚠️Note: If `audio.src` is not of the same origin, proper CORS configuration will be needed to use the parser.\nDue to `jsmediatags` limitation, relative urls are not supported. Please use absolute urls for `audio.src`.\n\n## Events\n\nSupport all [HTMLMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) native events.\n\nPlayer events:\n\n`audioupdate`: fired when audio source is updated.\n\n`audioparse`: fired when audio file data is parsed.\n\n## Chapters\n\nShikwasa will support chapter display and seeking with the chapter plugin. To use:\n\n1. Register the chapter plugin before creating a Shikwasa instance.\n\n   ```javascript\n    import Chapter as 'shikwasa/dist/shikwasa.chapter.cjs'\n    import 'shikwasa/dist/shikwasa.chapter.min.css'\n\n    Shikwasa.use(Chapter)\n    new Shikwasa({...})\n   ```\n\n2. This does not guarantee that the audio will display chapters. To display chapters, you need to provide chapter data to the player.\n\n   If you don't have direct access to the chapter data, Shikwasa has built-in support to work with [jsmediatags](https://github.com/aadsm/jsmediatags) to read and extract the data from the audio file;\n\n  - (1) To manually provide chapters, add the `chapters` property when passing `audio` in [options](#options) or [`.update(audio)`](#methods).\n    ```javascript\n      audio: {\n        ...\n        chapters: [  // Array, optional\n          { title, startTime, endTime }, // the first chapter\n          { title, startTime, endTime }, // the second chatper\n        ],\n      }\n    ```\n\n    The structure of a single chapter object:\n\n    | Property      | Type     |  Description                             |\n    |---------------|----------|------------------------------------------|\n    | title         | String   | chapter title                            |\n    | startTime     | Number   | chapter start time in seconds            |\n    | endTime       | Number   | chapter end time in seconds              |\n\n    ⚠️Note: `endTime` should be the same as `startTime` of the next chapter.\n\n\n  - (2) To use an external parser, pass `jsmediatags` in the `parser` options. [How to use a parser?](#parser)\n\n**(1) will take higher priority.**\n\n### Registering Chapter plugin will empower Shikwasa instance with the following API:\n\n**.updateChapter(index)**\n\nSeek the audio to the target chapter. `index` is the index of of `chapters` array.\n\n**.chapters**\n\n- Read-only\n- type: `Array`\n- default: `[]`\n\nChapter metadata of the current audio, if any. See [Chapter](#Chapters).\n\n**.currentChapter**\n\n- Read-only\n- type: `Null|Object`\n- default: `null`\n\nIndicate which chapter is currently on play, if any. See [Chapter](#Chapters).\n\n#### Events:\n\n`chapterchange`: fired when `currentChapter` changes.\n\n## Roadmap\n\nUnder v2.0.0:\n- [x] supporting audio id3 metadata --currently working on this one\n- [x] cleaner & sleeker interface\n- [x] dark mode\n- [x] a complete rewrite\n- [x] keyboard support\n\nOthers:\n- [ ] podcast playlist\n\n## What about the weird name of this project?\n\n*Shikwasa* is the name of a popular citrus fruit from Okinawa, Japan. 🍊\n\nLove it, name after it.\n\n## License\n[MIT](./LICENSE)\n\n\n[npm]: https://img.shields.io/npm/v/shikwasa.svg?style=flat-square\n[npm-url]: https://npmjs.com/package/shikwasa\n[size]:http://img.badgesize.io/https://unpkg.com/shikwasa/dist/shikwasa.min.js?compression=gzip&label=gzip%20size&style=flat-square\n[size-url]:https://github.com/jessuni/shikwasa/tree/next/dist\n[license]:https://img.shields.io/github/license/jessuni/shikwasa?style=flat-square\n[license-url]:https://github.com/jessuni/shikwasa/blob/master/LICENSE.md\n[jsdelivr]: https://badgen.net/jsdelivr/hits/npm/shikwasa?color=orange&style=flat-square\n[jsdelivr-url]: https://www.jsdelivr.com/package/npm/shikwasa\n[dependency]: https://img.shields.io/badge/dependencies-none-lightgrey.svg?style=flat-square\n[dependency-url]: https://david-dm.org/jessuni/shikwasa\n[CI]: https://github.com/jessuni/shikwasa/actions\n[CI-url]: https://github.com/jessuni/shikwasa/workflows/Node.js%20CI/badge.svg?branch=next\n","readmeFilename":"README.md","gitHead":"f1d1dd50aebc0fb88dc93e799c2f212aadba3534","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.0.0-beta.2","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-x4UkVT/EK9sW+G0oU3wRB5imEg5MRQI1gAdKoFL12AjDJhxE4LaZIBkVPekIaR92DNbc0t0M4Mjxa4x7mzlUnA==","shasum":"c3a0d0cd45464aa1f95f39ea136e4f1557839f24","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.0.0-beta.2.tgz","fileCount":13,"unpackedSize":229899,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe424zCRA9TVsSAnZWagAAsvsQAIHig0JqbA506PcJoryw\ncEUdUXtWMURwlV8FsoAMgZfmjClUZA6B4HagVhnzRy0uSu7tGeQDpGeOm3mO\neRjN/LsbSAvEDO+PYIBwkxg59a9g3uwtyK+XiF9PY/qrwpt+b4eZCyOQS8uh\nESvBQAt1UEt8ZG0BQWp6/mTt3Mo09Dw3ywA57JtKeZzHKgVhUimunTanWiIa\nE2poaP70hIwFcEoykMZ38xXTZgmLcPQcEGZkXI9xXK8bwZ4NW210zHoHteut\na2jR6sivcCoHX02z8NVSjZOe7jDkDQ9cdcErSH2x5WE7lJ5pSXOrJ2nRLRte\nsHsUO3yIdlvJqniBHyK7MUoL7AGnpwXuxlk1qt/59Vkpj4gK0RQ2odi1fH9W\nfYEcUAmcFzYJ3zJUtbVjeLvvOEKpyS71jFbPM+t1woCZeS6eyNoKiNg+5Am/\nnVwS3UDlrU/7Tts4LbiXoJA9n/mFDyZcjui3R6FgKkNXyqCoeKh87BXF/CqM\neL0MJ30CnLtIUE7b44/P6jPxdnIFUVG2UyXRXu5RD6T2lEPeWCD5dKYy/8RS\n3pO9QQfRS0gN1KUIaLO6qoqamZ5GzhlQlKngKcfiPO2hMODH5K8V+ic3J4Oo\nzOXz7JecJONH426IxxsUwE4VjLdVupoDfyC9JRnXdyAe1PT3SH9lYB4WD+kz\ndpZB\r\n=w4hx\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC79NP7pb4KdGwIJKSXoOLR24lUiy9E9wGFaFoByFrj5wIgU31xZXlDtr3238EFcIt/mZfKFkv2U9tlVGTLN9n6Wv8="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.0.0-beta.2_1591963186987_0.7328009348056002"},"_hasShrinkwrap":false},"2.0.0":{"name":"shikwasa","version":"2.0.0","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.10.1","@babel/preset-env":"^7.10.1","@rollup/plugin-babel":"^5.0.2","@rollup/plugin-replace":"^2.3.2","autoprefixer":"^9.8.0","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","css-loader":"^3.5.3","cssnano":"^4.1.10","cypress":"^4.7.0","eslint":"^7.1.0","eslint-loader":"^4.0.2","eslint-plugin-cypress":"^2.11.1","gh-pages":"^2.2.0","html-loader":"^1.1.0","html-minifier":"^4.0.0","html-webpack-plugin":"^4.3.0","mini-css-extract-plugin":"^0.9.0","postcss-loader":"^3.0.0","rollup":"^2.11.2","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.1.1","rollup-plugin-postcss":"^3.1.1","string-replace-loader":"^2.3.0","style-loader":"^1.2.1","webpack":"^4.43.0","webpack-cli":"^3.3.11","webpack-dev-server":"^3.11.0"},"scripts":{"start":"npm run dev","start:ci":"webpack-dev-server --client-log-level silent","dev":"webpack-dev-server","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"a882c66a2b0f8856dcf7f7b7b782ad6388ca3878","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.0.0","_nodeVersion":"13.12.0","_npmVersion":"6.14.4","dist":{"integrity":"sha512-xXsKXq+nYKDAQxn6sCfeUf3m2l2k5vIJFmVmZFewQA+ceOxGSqSdl5Pfx7k/01TYD8l7PAxPCI0NVcrSTNFfJg==","shasum":"f837a245b5361643050cf43b81af441a6672a933","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.0.0.tgz","fileCount":13,"unpackedSize":232597,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6I4VCRA9TVsSAnZWagAA7lwP/iiUcFIcLDo/OkVjx6ub\nemqfHyq/v7at5Ih8C0UhYsKk+g7S1qncglnRPM/WFXNx6jR/QiFF8HnJGV1K\nC4p30Wek0Kq88B/LMGHo9yM7UNr8vtgjK5i0PqwZDMLNbXbEoCpnwbbU9MC6\nUgKE6hrUwTWgHqssr5LnUJa2RzGkA+9k/8r7brQQAG7YAu97Cu8e8LNgg9Gx\nd2hAlHt+24+vIWDVlYeXLHIoz3EsjpwCTRoiGXvPJ1z/WmJB+DJCBJD+UY/B\nagqncw6MLvu6d8QQSAWR1bOYYpF5+lrjcp3HVRUIvjb1nVZw81gRa3oGTsj+\no+RdZe/D1ydK7pHDa1Gq+6XEtAkr1eTMVuwgv+26lIXIq+x4vuDpqVfTOSRU\nWBvqZrD0ShQbffNvgv6Kf8EPpNXIJfRvUzq4HGsU3PIrhtr8Efh98bsgpHOa\ntEGoQ2rqAjZR5Iebdbh+HXOcV4S0KeRuK2fwN9CCje+vMpe9e6aYOXyYCVwt\nxqHW5w2LTWI/EHdPxcXMMWSMJ/BmsOlHCN6Nfmkb0wIts0A+EGdlp5nuSSaf\nWr3/XBnfK7Af1NxAgn4+ti0o4SenvU+Ax94O0J9QD6Xjg6n2ZIkUVPI1pzaI\n7WZB50FgBOa1NOT3Kb9inBZDsLGVILRMllf1FENkP1vTNyHAjeKl4Fe3DIUM\noXJ4\r\n=kG3j\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGuWvSRbWFjx9ut5XC6NDUfBtBiXDokX1mGwx5eaPMLNAiEA3BYZJzHqCy+PNnGi0WhEub1iEkmKqV4fK/MGcxLbjFM="}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.0.0_1592299029233_0.23661559451286496"},"_hasShrinkwrap":false},"2.0.1":{"name":"shikwasa","version":"2.0.1","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.11.6","@babel/preset-env":"^7.11.5","@rollup/plugin-babel":"^5.2.1","@rollup/plugin-replace":"^2.3.3","autoprefixer":"^9.8.6","babel-eslint":"^10.1.0","babel-loader":"^8.1.0","css-loader":"^4.3.0","cssnano":"^4.1.10","cypress":"^4.12.1","eslint":"^7.9.0","eslint-loader":"^4.0.2","eslint-plugin-cypress":"^2.11.1","gh-pages":"^3.1.0","html-loader":"^1.3.1","html-minifier":"^4.0.0","html-webpack-plugin":"^4.5.0","mini-css-extract-plugin":"^0.11.2","postcss-loader":"^3.0.0","rollup":"^2.28.1","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-postcss":"^3.1.8","string-replace-loader":"^2.3.0","style-loader":"^1.2.1","webpack":"^4.44.2","webpack-cli":"^3.3.12","webpack-dev-server":"^3.11.0"},"scripts":{"start":"npm run dev","start:ci":"webpack-dev-server --client-log-level silent","dev":"webpack-dev-server","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"8daa565f8efeb94f0eabefc49c8e0a188d6ea017","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.0.1","_nodeVersion":"13.12.0","_npmVersion":"6.14.5","dist":{"integrity":"sha512-w8TEmQLLa/MptFepB7FOfc5//rT/8ArtdofWn2kn1th3LZD3F9krmg8cJbMYz6SUocBB3p7rD2y0SH03qdnprA==","shasum":"11cbab00141c9f6160c814eb37fe82ec15b7cbe1","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.0.1.tgz","fileCount":13,"unpackedSize":233032,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfavUgCRA9TVsSAnZWagAAqWIP/3veGd0VMZjYBIHsPNW1\nikv61FyHv7PNNa5FXKQKg2lmLMU6afJL0hQwzyhWzEQlfoA7wPi84e7CZ3Fb\nKIGAS9dsTZoa0KjAFHivyR6UKisDm38G2uOoi3+WtL+NYuvWIfkIyiCNoouv\nd42aRBe5KcVb08aSGB7vTkmbWY/Q1CtmDP1Fh5YfqjsRSUs5C1Nm8sAq0F/a\n06QneuYxwp5ODUNSrL1TbffwpAzXZrc2wnWqILpvjOLjqD/VRAInQ7qcoah9\n2M6umteVtW9YxCl/zXvUFKQFMH/EXg98eCY6K+/QFJqn6kJcP/UYkEPlr5Br\nthjPqKlCtjHis2J6uCAR0k+GQsUcl1cpjlm9ytt2vKBaMHWJMk6dycRG6bVN\n4ZF3QiU2iY6xWVFey56di6a43BtwCDJJTVQZ8mLwQ5HlLgg/l8OCuUrZvQSi\nn4u2zz7DCMKwvDmdciMc4LIq+uXfUKzIQIHEHOqHGrxXJSh8Rw6A7gJR+CrL\nJx8QNIol8ucj58WGLSjlFVP/LxT+pyBqkhABfrJSdRYO0ziiOgdaBJKXbv5t\n3qXpNfUtsrUWgGfGFpD/hhPneI5aImCz9mNEW/8rkY0SlOWvG1W/y/uL9t59\n+HNLrX/6WoiNdtoOi3TYI+aicruKjFFh1f6v7tEKjFXX4qpgVBDs2pJxwh3A\nRwZn\r\n=4867\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD8H2n4W0ZolC2nnIzhw68QBEo8CC1lG6St14oexcnATAIhAL1YkiX59i5pZVtmu+QxTJEeCmJ3a878IuszcsKIZmom"}]},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.0.1_1600845087734_0.4006337365738477"},"_hasShrinkwrap":false},"2.1.0":{"name":"shikwasa","version":"2.1.0","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-replace":"^2.4.1","autoprefixer":"^10.0.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","css-loader":"^5.1.3","cssnano":"^4.1.10","cypress":"^6.8.0","eslint":"^7.22.0","eslint-plugin-cypress":"^2.11.2","eslint-webpack-plugin":"^2.5.2","gh-pages":"^3.1.0","html-loader":"^2.1.2","html-minifier":"^4.0.0","html-webpack-plugin":"^5.3.1","postcss":"^8.2.8","postcss-loader":"^5.2.0","rollup":"^2.42.3","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-postcss":"^4.0.0","style-loader":"^2.0.0","webpack":"^5.27.2","webpack-cli":"^4.5.0","webpack-dev-server":"^3.11.2"},"scripts":{"start":"npm run dev","start:ci":"webpack serve --client-log-level silent","dev":"webpack serve","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"6ba40af5c45c76b86507be6ee805717d940ad412","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.1.0","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Q9uRO584lqHUAbEf/TZWy6o0UkLclJ1XfgE9cQsZtPWG0kpbDlJ2rX9nODVU4khlF7JgK9N5ExPgIlJQZsThuQ==","shasum":"38eafadf87bc3759d1f0dd7da8eb98982b9c12e4","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.1.0.tgz","fileCount":11,"unpackedSize":229851,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgWwIBCRA9TVsSAnZWagAAt0IP/johqgg91AYDXPNG10lp\npHlsasHQSvmAe9eqpxVZDjcXnbhDSxR4eb1w4VX3K7LRQFOf3TRVHqtLkDTd\nwYnTsX/vYLyDU+MBA1Dxhj3DCyxSu25hMnP3T2RPB+3XoAjoD/m1RHY1+7kc\n7Rs4bHyqXKFfM+VxhgBmwmqNm97eAAyk7JNdsgVOyf1SYAo4Twvv611Y5B4J\nTxMhBc2gBhQzTalYifM0++ybPVFiLr49XqUou2qVej01GrONb1kPLq0brfU8\noMeEYqpM5/o7wLn+2foHcYn9ImRSmUAeoTMJ9W19BkgzXvGnZqT9yuXVqdMq\n74ArUMjDPazIWsoWyQIK44Vo84INQobwx+C2VfSChnLhs0OaxkV+0UTdxCsu\n0dUsTgByTnr6YGiFWk2xa1c0J0KCfl5TxuDmraVr0C38AVjq6oJV8XDRrPOo\nMqcBkYDW/IkFw2J4rGFuNLH99pW4LEm79oGPrrvO6mHPDXttWi4B0yy0jkmB\nfYBNoLPIDMCYaYBwUZTNeOQDi7VB+AIKtDMi9t0pGJGP1Gl1yXpRukZtBAI7\n2W/PoICdwnT35vhZm7OhPsPhTRyOuwnTCjMpziQsX5itIjNfP/DOYhHL00qy\nqeCZqfJoiO7D7Cu16dEp+Yl62RwmU+z1F+O+UUmqT7ym0N6AnA/Gl5iMgJJT\nDx0Q\r\n=iJqq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDeIw27KLixuJ3fM4hgLbAu1KgW3zK2hzkXpmdDNB4FPwIgDv0LMOQZjERABiCG0k6PnS+RlbYLDuzdiaxr1DU3Mbo="}]},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.1.0_1616577024577_0.21361386003681182"},"_hasShrinkwrap":false},"2.1.1":{"name":"shikwasa","version":"2.1.1","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.13.10","@babel/preset-env":"^7.13.12","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-replace":"^2.4.1","autoprefixer":"^10.0.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","css-loader":"^5.1.3","cssnano":"^4.1.10","cypress":"^6.8.0","eslint":"^7.22.0","eslint-plugin-cypress":"^2.11.2","eslint-webpack-plugin":"^2.5.2","gh-pages":"^3.1.0","html-loader":"^2.1.2","html-minifier":"^4.0.0","html-webpack-plugin":"^5.3.1","postcss":"^8.2.8","postcss-loader":"^5.2.0","rollup":"^2.42.3","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-postcss":"^4.0.0","style-loader":"^2.0.0","webpack":"^5.27.2","webpack-cli":"^4.5.0","webpack-dev-server":"^3.11.2"},"scripts":{"start":"npm run dev","start:ci":"webpack serve --client-log-level silent","dev":"webpack serve","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"bada6820e6fcfaeb8e630745d670c4ff1695f5b6","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.1.1","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-qGGk1vfGzX88AHFacEbAWADscqWv+S9MWccS4Mx2raaokDKNxmSOWYwgehwxASajD1hqEhKIVcM2Fp4Jhj/3+g==","shasum":"09a2804356c5779f4be9914ce5e6364e1117150e","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.1.1.tgz","fileCount":13,"unpackedSize":245026,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgXBFTCRA9TVsSAnZWagAAhxYP/iuI1YvCWCFll7v6jsVU\nZURhaiHxRQx8Z3+At+ubyKcQrqpa6SE/Lv2FFe/4cPow50xziOZNszsoo9gg\nJJ9PJfNOT1gf+qAQepHiMwZ6ZL+tMj1Neao8XP795/mshqZ6OjbLQNYUhUBj\nhFZ4FVly93GBGxLBZtQZVN5se9ay0Xcw0JKdjMbi2WK2vX1aPWilDIpvrPxs\nctgztyicVakJYyHFVtdlgLB8vUTgJfeZThglj8Bx+btj53fTMzuxPtRECrth\nsS9gLEhgXkcX1Y+0b+plG963+Z8UjRuGBN9x5s5vxmoMJUs3AM6x4/dbgyN0\nzXFInjgy5redMQPUivi+k6Pz0iy1iL4U3Ak+0Av5mq6ODaF3b0LwndR+I0kP\nIiCsRPhjwioUv7jGmlhV1d52GT/RQWFyPhFAxJM/EEp8c8uwMCE9oXUI1g3n\nzp02Tos48Kpbe3T3mef6Zo8+ksnT5a+uIxOMgP0JWCEaWuE1J+sK2xVMZQf/\nrdQx7in1sCQTjttSgWCCcYoSNdTwclSnJjTQ+Ru/0ywfdP9nJloU1jh13g/R\nVVH8bIvkyRs00ckEwWWi+9yChk5SFG2tHqbTHSG3P6mkLgA9bmtFdHcrCGSu\nI+nelQ5vLeQVLJjTqbzXA+Ml7UYkD+88hzPEoyyLok0rXSknko736gfKG6Lv\nwhKj\r\n=2CKN\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDdvLMadXWT7Fre0A6i9QVTtuUoOtRHfB8dH7ZSqeSMNAiEAj9k+WfgH/EKMbur+k6qSuHHqhB4VWE1f/Qsb9c5/zEE="}]},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.1.1_1616646483232_0.03604788863360664"},"_hasShrinkwrap":false},"2.1.2":{"name":"shikwasa","version":"2.1.2","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.14.0","@babel/preset-env":"^7.14.1","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-replace":"^2.4.2","autoprefixer":"^10.0.0","babel-eslint":"^10.1.0","babel-loader":"^8.2.2","css-loader":"^5.2.4","cssnano":"^4.1.11","cypress":"^6.9.1","eslint":"^7.25.0","eslint-plugin-cypress":"^2.11.3","eslint-webpack-plugin":"^2.5.4","gh-pages":"^3.1.0","html-loader":"^2.1.2","html-minifier":"^4.0.0","html-webpack-plugin":"^5.3.1","postcss":"^8.2.13","postcss-loader":"^5.2.0","rollup":"^2.47.0","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-postcss":"^4.0.0","style-loader":"^2.0.0","webpack":"^5.36.2","webpack-cli":"^4.6.0","webpack-dev-server":"^3.11.2"},"scripts":{"start":"npm run dev","start:ci":"webpack serve --client-log-level silent","dev":"webpack serve","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"7d16f6b1fc3a9a20bd008649f3a91de18e4ba2b4","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.1.2","_nodeVersion":"14.15.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-w3fGIw6Z/+DDVNNzqNK2p2V3OQiDiqzX+XG3Bj+2HIWolC3HY7khsoGSAkxrXpEafhorxOPNbb7wx727Wjwbuw==","shasum":"8fafe9c94e941b5fa296174f1cd0a51b1e6e61e0","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.1.2.tgz","fileCount":9,"unpackedSize":121329,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgki6BCRA9TVsSAnZWagAAmBIP/jXqOEId64/KmCPDYbET\nuJ2H+BWYQx9whENCCThNZgE7CEMWuBWTNPC5XCSQdK5ewYN88kJ074oTg4ln\n6lTEvMekMss2v8N3Mq80U3gS3vi62IGtrR/6898ywb+xXCsHlqKqmhknA251\nNCyclC2ik45ZE4+zNnW/XSNvpez0mUP3C4og1jsow64SIgUhQjlYv0jMh2ue\nMkAlEGp8wTmhfBKc4LPrYYDFERAXF30/zqDoRmViKY0Vr769vE3CfMpufFuU\nfbvQHOFhMF185rr9xveg41YHKP+U0H7uGLvMHI3tjT3OOGhBiuxApguaME7T\n0SaQWS5q0s8LjBzaGJ9abJVIIXOFr5os4u8JN3JfLZv0i8Gy5BqgfcmyrpM9\nde2FkKIP/aGI3Bft8Fgt4vzz9+IjjSS3lc7BUxHdZwmUoC4BOSCT8uymVXB9\nZf+JNXSNI8xX7iI2KnemeYEVRM3QMf8P0ApV2Re2Kxd7IXdGc2nX9Kpt/fhu\noiamz13C9OJ0WM/+VCuJVgw6JAnGNKcTXCoOZFcfgXLS5bHKVJv00YlkndGZ\nrfSgTJo0q3MLpcSDDpmlv4vNWdczotO67OrDwGuw6W+k5dsT1bTiSTFXTog7\n4Ygq0Luw+k75DS1lZjTSoUA1TFYOtmGUt3LZtvgB67vshRDcpj9g1EAoMIt+\nDHpb\r\n=/meQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICIPRsunvTyRYSB4tNsAzHrq5T7g2duroOLvZ47AaXfBAiEAoyNVAbsuJy15IV1VdbgLCyeb/gzDdUVjl4GkvkZ3iak="}]},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.1.2_1620192896484_0.27081215293312755"},"_hasShrinkwrap":false},"2.1.3":{"name":"shikwasa","version":"2.1.3","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","dependencies":{},"devDependencies":{"@babel/core":"^7.17.5","@babel/eslint-parser":"^7.17.0","@babel/preset-env":"^7.16.11","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-replace":"^3.1.0","autoprefixer":"^10.4.2","babel-loader":"^8.2.3","css-loader":"^6.6.0","cssnano":"^5.0.17","cypress":"^9.5.0","eslint":"^8.9.0","eslint-plugin-cypress":"^2.12.1","eslint-webpack-plugin":"^3.1.1","gh-pages":"^3.2.3","html-loader":"^3.1.0","html-minifier":"^4.0.0","html-webpack-plugin":"^5.5.0","postcss":"^8.4.6","postcss-loader":"^6.2.1","rollup":"^2.67.3","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-postcss":"^4.0.2","style-loader":"^3.3.1","webpack":"^5.69.1","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"scripts":{"start":"npm run dev","start:ci":"webpack serve --no-client","dev":"webpack serve","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"161a861a166f9b63346b1b65be224b57521de65f","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.1.3","_nodeVersion":"14.17.0","_npmVersion":"6.14.13","dist":{"integrity":"sha512-PPEUI9V5yjQ3N8+wuAAreqGrd0WHnq3wls1WHLuRmjfNRKA1de5vfdgRM5DcRr1fOyNoIDj6MbDKBmcVoH/hrw==","shasum":"c102b6935cd126fca88095857e46acb9074747c2","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.1.3.tgz","fileCount":11,"unpackedSize":134159,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiFJy5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoSgQ//Qo7dgYGubjTLhHK2ETsyg40fuQoAlGu1UyC044RCUvxuns+5\r\n6O3JpXQU7LCex3m11MqdxLoWKYLbMwCrOESEaKzUGUNJg1F9nWpxS/imAYhW\r\nV/YTJbi2FqquQQZOQIMn42v51JHIl9Zfuky6ySWpXjyDLGrqtmIAcKtFo6qY\r\nSTk39X8AyykJXKQvkJ/33jMfAgXszj+SOX+lX4vTHU1izNHjoKHgDZHcY8Zo\r\na3hHsnJ6i5YshtSzCR2sU22VJKmdWoJWhORVJCr0ypfqXYWjMWEnc6uDMJGP\r\n7aQdqRUVfLkiqyrptI17vOVxeGw+Cy9JiFuveD9rYmrPThUnyA98RPE4RVuX\r\nCB6tY5FGGHwNLwe8n4FlbbIiHeMk6DPiQD69ARjmYNS7n6NfOFUzXO+E6wfi\r\niMGA+1ZG2vP5zYGfXJfLRO74yhtv3aHm7mvfwmUWhpSg/BZ3DdGfU4S77R/e\r\nXx1P+dkU5wKPJMm/Llgnqf4XIenmBKfW0sOu+4YsAw5mUDrgX4EQirRNA8UT\r\n4zCl8cdNixVWz1DZwF+gvrXN0icZq4ngb6Ld1y+DBQ9FIOgJg8pVzXhJWMlZ\r\nHp18NGg5AlQhWrRkroSGh2YlWOXLcZZHeW5JhomzwofvM0zXE2eho6m19ATy\r\n7+9KDJi9L+heqgrLeMyBcoXvOC6Rb09SBag=\r\n=KL2I\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDySJAnF+ayAYvWVDvwyUe2wV/31j/p9gmZGGbZqklgwAIgOPpJIGDfOoZu/oPWXRiCC9nl366x5CJ6kqVOH1+cF6M="}]},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.1.3_1645518009600_0.014386333577893318"},"_hasShrinkwrap":false},"2.1.4":{"name":"shikwasa","version":"2.1.4","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"dist/shikwasa.cjs.js","devDependencies":{"@babel/core":"^7.17.5","@babel/eslint-parser":"^7.17.0","@babel/preset-env":"^7.16.11","@rollup/plugin-babel":"^5.3.0","@rollup/plugin-replace":"^3.1.0","autoprefixer":"^10.4.2","babel-loader":"^8.2.3","css-loader":"^6.6.0","cssnano":"^5.0.17","cypress":"^9.5.0","eslint":"^8.18.0","eslint-plugin-cypress":"^2.12.1","eslint-webpack-plugin":"^3.1.1","gh-pages":"^3.2.3","html-loader":"^3.1.0","html-minifier":"^4.0.0","html-webpack-plugin":"^5.5.0","postcss":"^8.4.6","postcss-loader":"^6.2.1","rollup":"^2.67.3","rollup-plugin-babel-minify":"^10.0.0","rollup-plugin-cleanup":"^3.2.1","rollup-plugin-postcss":"^4.0.2","style-loader":"^3.3.1","webpack":"^5.69.1","webpack-cli":"^4.9.2","webpack-dev-server":"^4.7.4"},"scripts":{"start":"npm run dev","start:ci":"webpack serve --no-client","dev":"webpack serve","build":"npm run build:main && npm run build:chapter","build:main":"TARGET=main rollup -c","build:chapter":"TARGET=chapter rollup -c","build:demo":"rollup -c","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"c1726fde40d3b6253830f8e3edb87702b92da19c","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.1.4","_nodeVersion":"16.15.1","_npmVersion":"8.11.0","dist":{"integrity":"sha512-d8H/Ha+zjf17VoVGV0VqYq7SPU7nArA55Gr5F2T0afqH4qQxBQk/x38VcVNFomB++bwI25+wMwzepUuNnBlzsQ==","shasum":"b85044924df7ba164d571ad0ef796858866d0aa4","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.1.4.tgz","fileCount":11,"unpackedSize":134349,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIB4jsUk68lXWKCVLPK12zzSCeimvawo/zLuJTW4NCv1xAiBIgSp0iz8lPMJ/t3islxvlSPCZKPYje5rHN4iy23U0rQ=="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJis/WdACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqpSA//bpfH49dtaMWQ1GU5gjlUOYN2ytsYltHrjoW99esRT6+de8xU\r\npEi7S+zqCuEa8L1xtv1iPbsrU7SLxIuFtKkarUT4IrGAokf8dhMyNk3yOWxo\r\njhpLF7hVExun4NQluBdccNg8tU9E9fztJqGlWPTXDnPh3kPGYaDUd6sXajgG\r\n9silZmwIfOIc1kjxjlFMCKt+mnzT4rga5bgz/OmF2IVbqrxt/Y4TSQvB0zng\r\nnwwS4uKHLwkiu7LQx6VBs9qQcugkFB7E2vVDdqcWeTQ/MKldye/E5rc4grGk\r\nq2qv4n8+f8v13+Chzf5hpHkkAFHOG4SXSU0siAa86ypr28po4fawq8UnAgtp\r\n/9+dDHYVNN7CDZHXylllaMZKIn+8iMeFjTchaJPbXKmkz5qK8IEThbRqH+hc\r\nKwRfkbWtDJxq5jxLFp4ds5Hm120omSfA+zoY1ZmQm/Bo3mSejvgiP7Vs1j9z\r\nd3h/d3faiTO+/5cDBLKdmwh8q/NNUP38D6LvYwE2FqhnS2JXaSmJYIjQtL0j\r\n/RcrocLAT9IjsX1TxqDZAPgXd5M9BUHvvjf/B6+BAgTCezL96kkb9KMARpRp\r\nchBi83rEzoyor65rIyJMxI2BtJ28y/TDa96nEEt/zIAOxaK5Z1dcDTvSWmon\r\nU8Oobq0W1Ro6W6D8jXFSkiwnTfSyFRnc3LM=\r\n=fVha\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.1.4_1655960989324_0.5158474749730071"},"_hasShrinkwrap":false},"2.2.0":{"name":"shikwasa","version":"2.2.0","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"./dist/shikwasa.cjs.js","module":"./dist/shikwasa.es.js","exports":{".":{"import":"./dist/shikwasa.es.js","require":"./dist/shikwasa.cjs.js"}},"devDependencies":{"@vitejs/plugin-legacy":"^1.8.2","autoprefixer":"^10.4.2","cssnano":"^5.0.17","cypress":"^10.7.0","eslint":"^8.18.0","eslint-plugin-cypress":"^2.12.1","postcss":"^8.4.6","vite":"^2.9.8"},"scripts":{"start":"vite","start:ci":"TARGET=ci npm start","start:demo":"npm run build&&TARGET=demo npm start","build":"TARGET=lib vite build","build:demo":"TARGET=demo vite build","preview:demo":"TARGET=demo vite preview","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"c59a63ec27930e5897e98335639d3aba8265f139","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.2.0","_nodeVersion":"16.17.0","_npmVersion":"8.15.0","dist":{"integrity":"sha512-0mJoFmud8TjsYhLagGkKBi4WK49AeVSaWA9hCndo3bYgZKMN3tgM8sLHVq61bzJlytbL23RDsAyndDYXcDq3MA==","shasum":"0191c7fba5dfca0385041d7ab19cdb4f80478067","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.2.0.tgz","fileCount":8,"unpackedSize":174057,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC0ClauVMPukj525QpcBZcNSknQZAb+TFKTID5/zgIP4gIgTKghDEnxvmu4ciEipIQDr68czM9WW7/842XyUyrHRQk="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjDxjvACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpMnQ/+Lgnzd4CrzSscfwuOjnZXOU5+z4gytWw9qEJGJkOA/6mmH8hy\r\nFr/CZBOrWcoiOHlpW2L+uQamDIBx99utpubw8w4Kz1cqkilkGa9V7xVVmyfy\r\nDQOHTHy3G5UqYP9nzGSeAGbTYIeBhywm/osPJviuqbTqVEPPy1mZsjE2f/gQ\r\nrKJDT8s1M/LjO1JJlxOYw74jJFLE12nKQXWxBgToOkMLe6ZgjMmVf/3BDAfO\r\nKAD8fUIXMhNqNNCaeOP7Yw3p3RZPED0HYte4vMRb+5dqiskXz4qlY59pu5ej\r\nxZhGXWw+DVjs0DH9ViO74EJiHCLwfgpktbOBnWQ90T2xblYFF4mVAYyzGyV0\r\nzDMMDHtkp8xad9U/vTkaB3r9UC43UL6a9WbYf2MsFEM5GDf9Tdj3dmfz+yj3\r\nLhJb2tjjZVp+AymvFKpeZVqieb+awUPLU4iEfKthKKFpPXCHjyff4k8+/pt4\r\n3a8KF+H/gGyVc8XHEpoLm1noiTSM2sueq5HIa68g1//mzuMkDibAR3JMsyO2\r\nnLzYCaS0IWbuNSIRX80r8rTNl23viGNGJOKR/9VWCnHCH1Yd21715LjH2yGd\r\nE/UltD/ZoqzZeKBzIeS0iIj2MYo5aerXB08iDC3+eUsaF/WkhYifW9mDsbxb\r\nBTYgHN0gMWHxyq55daYdW7ePfDE547cg5b4=\r\n=iXPV\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.2.0_1661933807566_0.7574706256236383"},"_hasShrinkwrap":false},"2.2.1":{"name":"shikwasa","version":"2.2.1","description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","main":"./dist/shikwasa.cjs.js","module":"./dist/shikwasa.es.js","exports":{".":{"import":"./dist/shikwasa.es.js","require":"./dist/shikwasa.cjs.js"},"./dist/style.css":{"import":"./dist/style.css","require":"./dist/style.css"}},"devDependencies":{"@vitejs/plugin-legacy":"^1.8.2","autoprefixer":"^10.4.2","cssnano":"^5.0.17","cypress":"^10.7.0","eslint":"^8.18.0","eslint-plugin-cypress":"^2.12.1","postcss":"^8.4.6","vite":"^2.9.8"},"scripts":{"start":"vite","start:ci":"TARGET=ci npm start","start:demo":"npm run build&&TARGET=demo npm start","build":"TARGET=lib vite build","build:demo":"TARGET=demo vite build","preview:demo":"TARGET=demo vite preview","deploy":"gh-pages -d dist","lint":"eslint --fix src","test:open":"npx cypress open","test:ci":"npx cypress run"},"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"license":"MIT","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"browserslist":[">0.2%","not ie <= 8"],"gitHead":"0c41ac1f036d8b2514959dd92487322d60e98622","bugs":{"url":"https://github.com/jessuni/shikwasa/issues"},"homepage":"https://github.com/jessuni/shikwasa#readme","_id":"shikwasa@2.2.1","_nodeVersion":"16.19.0","_npmVersion":"8.19.3","dist":{"integrity":"sha512-+vfp/krbonBDoyyETd5a/NAMobRfmAKUQQ6pWak0nGuY2VxzAiu6XXMFPHbi0DUgfZe8YAV5naZgWElV+icS/Q==","shasum":"9b5b11792befdeef6d1de0aad85d9bcfbf66b708","tarball":"https://registry.npmjs.org/shikwasa/-/shikwasa-2.2.1.tgz","fileCount":8,"unpackedSize":174179,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCYLYxfE0qUPJ6GJmtjer5AJSn9E+yZfDcRzCwvVRI/5AIgAkziK8f+h7ERfNJsmLj2hvJOQbjcq0/oUMNHpqBst1Y="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6xs4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqzPQ//X1LzQ+i3a4hI+aBDWfj7VX6Mt78dB16WUhXTXn26BWT7Rpd7\r\nho5f0dBbtwcWAubzKgn3p3AIDBZnkSjeA8f6IHXCYfPVcSbB3Vf6aBJz07kn\r\nCrfqVdgsxMOe0KUjTqG/Aw5Ctv7kYhzyX3KXnoUbG7cNW23hc7iHB8OiX7Et\r\nrk8sJrtFfkktXuVxk2UqCl2Luz1QuPxCYC8+Yq3VNqHq0kFrrDplW85hYbY+\r\n3ELUAkcyjTvWERnjUe3PaUACB3kDrNSm57W1cA/2pkgCTkRo1hym2hBj3uxn\r\niJlOrCMUPhB3lFTxfgKUtY3+frG5FXU7jc/6D9lW99nUMTwa5mvOl2jlZJL2\r\nqvB9EYBiImKoYQbooPW1MXDjFIUpX3dFveMwD6CmjOjiEzJ5eumqjy9Y1x5V\r\n8AF6MW3dukpJmh8PnB7Lad4BhF6VlTOMOk6iNEEf9D/b8J9vrS/QkKCLD+ln\r\nscUuLTvS8+Fyaa8fC2cFEegiuNqggJUX3E1+3msRtcDg+dCsaFlTLyiNB68E\r\nXQSwNX2ps/3FdyUCnuVPcUa4i+yo5qey6jhEEci16QlLVVA2wvV/+eLAZ0rS\r\nHIqfj04w65/xvq+DHkoyn7cUT/AjrLG9cTtcUVtMXRraRgs0BYC7Nd6tA87d\r\nlG6jgoMy7QoJpX57M6uLFMBrFkGYrMcXVYg=\r\n=GfFa\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"jessuni","email":"jessunix@gmail.com"},"directories":{},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/shikwasa_2.2.1_1676352312599_0.05039298276274651"},"_hasShrinkwrap":false}},"time":{"created":"2019-06-27T07:47:06.896Z","1.0.0":"2019-06-27T07:47:07.028Z","modified":"2023-02-14T05:25:12.834Z","1.0.1":"2019-06-27T08:20:32.253Z","1.0.2":"2019-06-29T10:34:22.095Z","1.0.3":"2019-06-30T05:07:52.788Z","1.0.4":"2019-07-31T09:12:38.616Z","1.0.5":"2019-08-02T06:44:41.898Z","1.0.6":"2019-08-08T01:14:08.389Z","1.0.7":"2019-12-06T05:28:32.839Z","2.0.0-beta.0":"2020-05-19T09:37:43.190Z","2.0.0-beta.1":"2020-06-08T05:53:56.695Z","2.0.0-beta.2":"2020-06-12T11:59:47.144Z","2.0.0":"2020-06-16T09:17:09.383Z","2.0.1":"2020-09-23T07:11:27.882Z","2.1.0":"2021-03-24T09:10:24.862Z","2.1.1":"2021-03-25T04:28:03.354Z","2.1.2":"2021-05-05T05:34:56.633Z","2.1.3":"2022-02-22T08:20:09.771Z","2.1.4":"2022-06-23T05:09:49.528Z","2.2.0":"2022-08-31T08:16:47.749Z","2.2.1":"2023-02-14T05:25:12.745Z"},"maintainers":[{"name":"jessuni","email":"jessunix@gmail.com"}],"description":"A web audio player born for podcasts. With chapters, playback speed and forward/backward controls, it is best paired with your podcasting website.","keywords":["podcast","audio","player","html5audio","shikwasa","playback","chapter"],"author":{"name":"Jessie Ji","email":"jessunix+shikwasa@gmail.com","url":"https://jessieji.com"},"license":"MIT","readme":"![shikwasa branding image](https://i.typlog.com/jessuni/8407706855_086142.png)\n\n<br>\n\n[![npm][npm]][npm-url]\n[![size][size]][size-url]\n[![dependency][dependency]][dependency-url]\n[![jsdelivr][jsdelivr]][jsdelivr-url]\n![![CI][CI]][CI-url]\n[![license][license]][license-url]\n\n## About\n\nShikwasa is an web audio player born for podcast. If you're tired of using music players as a substitute to play podcast, you've come to the right place. **SAY NO** to players that does not even support podcast common features!\n\n- 🚀 Ultra lightweight\n- 🐣 Dependency free\n- 🎬 Podcast chapters\n- 🏎 Playback speed control\n- 🎮 Skip forward/backward\n- 👓 Accessibility-aware\n- 🌙 Dark Mode\n- 📻 Audio stream support\n- 💻 SSR compatible\n- [ ] Direct audience to subscription pages\n- [ ] Playlist\n\n[**➡️DEMO here⬅️**](https://jessuni.github.io/shikwasa/)\n\n<details>\n  <summary>📖Table of Contents</summary>\n\n  * [Installation](#installation)\n  * [Usage](#usage)\n  * [API](#api)\n    * [Methods](#methods)\n    * [Properties](#properties)\n  * [Options](#options)\n    * [audio](#audio)\n    * [container](#container)\n    * [fixed](#fixed)\n    * [themeColor](#themecolor)\n    * [theme](#theme)\n    * [autoplay](#autoplay)\n    * [muted](#muted)\n    * [preload](#preload)\n    * [speedOptions](#speedoptions)\n    * [download](#download)\n  * [Events](#events)\n  * [Style](#style)\n  * [Chapter Plugin](#chapters)\n  * [Roadmap](#roadmap)\n  * [What about the weird name of this project?](#what-about-the-weird-name-of-this-project)\n  * [License](#license)\n\n</details>\n\n## Installation\n`npm install shikwasa`\n\nAlso available on CDN: https://www.jsdelivr.com/package/npm/shikwasa\n\n## Usage\n1. include stylesheet and script\n\n    ```javascript\n      import 'shikwasa/dist/style.css'\n      import { Player } from 'shikwasa'\n    ```\n\n2. Specify a container to inject the player component.\n\n   ```html\n    <div class=\"element-of-your-choice\">\n      <!-- this is where the player will be injected -->\n    </div>\n   ```\n\n3. Create an instance of the player\n\n   ```javascript\n    // an example with basic init options\n\n    const player = new Player({\n      container: () => document.querySelector('.element-of-your-choice'),\n      audio: {\n        title: 'Hello World!',\n        artist: 'Shikwasa FM',\n        cover: 'image.png',\n        src: 'audio.mp3',\n      },\n    })\n\n    // The library has also exposed a global variable `Shikwasa` in the UMD and IIFE build.\n    // Then the usage would be:\n    const { Player } = window.Shikwasa\n    const player = new Player({ ... })\n   ```\n\n   Any child nodes inside `container` will be cleared upon the time Shiwkasa mounts.\n\nHere's a [fiddle](https://jsfiddle.net/jessuni/netgvbwy/) to kickstart. To use the chapter feature, you need to import the chapter script and stylesheets as well. [View details](#chapters)\n\n## API\n\n### Methods\n\n**play**\n\n`play(): Promise | void`\n\nStart playing the current audio. In modern browsers and IE9+ it will return a [promise](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play#browser_compatibility) while pre IE9 it will return nothing.\n\nUpdating audio via this method is deprecated, use `update` instead.\n\n**pause**\n\n`pause(): void`\n\nPause the current audio.\n\n**toggle**\n\n`toggle(): Promise | void`\n\nToggle audio play state between play and pause. [Promise details](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/play#browser_compatibility).\n\n**seek**\n\n`seek(time: number): void`\n\nSeek the audio to the new time. `time` is a **number** that specifies target playback time in seconds.\n\n**update**\n\n`update(audio: TAudio): void`\n\nPassing [`TAudio`](#audio) in will replace the current audio source.\n\n```javascript\n  player.update({\n    title: 'Embrace the universe with a cup of shikwasa juice',\n    artist: 'Shikwasa',\n    cover: 'image.png',\n    src: 'sourceAudio.mp3'\n})\n```\n\n**destroy**\n\n`destroy(): void`\n\nDestroy the player instance.\n\n**on**\n\n`on(event: string, callback: () => void): void`\n\nRegister an event listener. Supported event names see: [Events](#events)\n\n### Properties\n\n**currentTime**\n- Read-only\n- type: `number`\n- default: `0`\n\nThe current playback time. Inherits the native [`HTMLMediaElement.currentTime`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/currentTime).\n\n**muted**\n\n- type: `boolean`\n- default: [`options.muted`](#muted)\n\nThe current mute state of the player. Similar to the native [`HTMLMediaElement.muted`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/muted), except that`muted`'s value will not be affected when audio source is updated.\n\n**playbackRate**\n\n- type: `number`\n- default: `1`\n\nThe current playbackRate of the player. Inherits the native [`HTMLMediaElement.playbackRate`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement/playbackRate), except that`playbackRate`'s value will not be affected when audio source is updated.\n\n**duration**\n\n- type: `number`\n- default: `audio.duration` `||` [`options.audio.duration`](#audio)\n\n## Options\n\n### audio\n\n- **required**\n- type: `TAudio | null`\n- default: `null`\n\n```javascript\n  TAudio {\n    src: string,\n    title?: string,\n    artist?: string,\n    cover?: string,\n    duration?: number,\n    album?: string,\n    live?: boolean,\n  }\n```\n\nThe target audio to be played. If `duration` is passed along, players with `preload` option set to `none` will be able to display the custom duration in UI before the audio metadata is fetched. However, after the audio metadata is loaded, this prop will be ignored.\n\n`album` is not visible in the UI. It will only display in the Chrome mini player and any other browsers/devices/operating systems that support `MediaSession`.\n\n`live` is for audio stream.\n\n### container\n\n(Optional) The container element for the player. If `document` is not available in the env, pass a function that will return the container element.\n\n- type: `HTMLElement | () => HTMLElement`\n- default: `document.querySelector('body')`\n\n### fixed\n\n(Optional) Whether player should be fixed to viewport.\n\n- type: `TFixed`\n  ```javascript\n  TFixed {\n    type: 'auto' | 'fixed' | 'static',\n    position: 'bottom' | 'top',\n  }\n  ```\n- default:\n  ```javascript\n  {\n    type: 'auto',\n    position: 'bottom',\n  }\n  ```\n- details:\n\n| Property      | Type     |  Description                             |\n|---------------|----------|------------------------------------------|\n| type          | `String` |  either `auto`, `static` or `fixed` <br>`auto`: player position is controlled by media queries. Normally the player stays static, but on small screens it will be fixed to viewport<br>`static`: force the player to remain static regardless of screen width<br>`fixed`: force the player to fix to viewport |\n| position      | `String` | either `bottom` or `top` <br>⚠️Note: `position` will be ignored when `type` is set to `static`         |\n\n### themeColor\n\n(Optional) Theme color of the player.\n\n- type: `string`\n- default: `'#00869B'`\n\n### theme\n\n(Optional)\n\n- type: `'auto' | 'dark' | 'light'`\n- default: `'auto'`\n\n### autoplay\n\n(Optional) If audio should autoplay on load. ⚠️Note: Chrome and Safari disable audio autoplay unless `muted` is set to `true` by default. To comply with this policy, see details in [Chrome Developers](https://developers.google.com/web/updates/2017/09/autoplay-policy-changes) and [Webkit Announcement](https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/).\n\n- type: `boolean`\n- default: `false`\n\n### muted\n\nWhether audio should be muted by default. Similar to HTMLMediaElement's `defaultMuted`.\n\n- type: `boolean`\n- default: `false`\n\n### preload\n\n(Optional) Choose from `auto`, `metadata` and `none`. For details view [MDN Doumentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/audio#attr-preload).\n\nIf a [`parser`](#parser) is used, the audio will be requested immediately on page load for the parser to work properly, even if `preload` is set to `none`.\n\n- type: `'auto' | 'metadata' | 'none'`\n- default: `'metadata'`\n\n### speedOptions\n\n(Optional) The playback speed range. Each value of the array should be between the range of 0.25 to 5.0, or will likely be ignored by certain browsers.\n- type: `Array<number>`\n- default: `[0.5, 0.75, 1.25, 1.5]`\n\n### download\n\n(Optional) Whether the current audio source is download-able. When set to `true`, the player will provide an anchor with `downlaod` attribute and `href` set to `audio.src`. Cross-origin `href` will not prompt download due to anchor's nature, but you can offer an alternative `blob:`, `data:` url or a same-origin direct download link(DDL).\n\n- type: `string | boolean`\n- default: `false`\n- alternatives:\n\n```javascript\n// direct user to the source url\ndownload: true\n// direct user to a custom url, preferrably one configured to generate download\ndownload: 'data:audio/mp3;base64,...'\n```\n\n### parser\n\n(Optional) To focus on the player itself as well as to maintain Shikwasa as efficient as possible, we don't extract data from audio files. If you don't have control over the chapter data but would like to implement chapter feature, we support using [`jsmediatags`](https://github.com/aadsm/jsmediatags) as an external parser to parse the current audio's metadata.\n\nIt will read the audio's `title`, `artist`, `duration` and `chapters`, meaning you don't have to provide these four properties into `audio` manually unless you preferred your own. **Priority: property values passed to `audio` > parsed data.**\n\n- type: `null | JSMediatags`\n- default: `null`\n- usage:\n\n```javascript\n  npm install jsmediatags // https://github.com/aadsm/jsmediatags\n```\n\n```javascript\n  import { Player } from 'shikwasa'\n  import jsmediatags from 'jsmediatags'\n\n  new Player({\n    ...\n    parser: jsmediatags,\n    audio: { src: ... },\n  })\n```\n\n\n⚠️Note: If `audio.src` is not of the same origin, proper CORS configuration will be needed to use the parser.\nDue to `jsmediatags` limitation, relative urls are not supported. Please use absolute urls for `audio.src`.\n\n## Events\n\nSupport all [HTMLMediaElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLMediaElement) native events.\n\nPlus player events:\n\n`audioupdate`: fired when audio source is updated.\n\n`audioparse`: fired when audio file data is parsed.\n\n## Style\n\nAlthough Shikwasa have not yet provided a full customization support of its styles, some CSS variables are available and should cover basic needs.\n\n```css\n  --background-body                           /* background of the player body */\n  --color-title                               /* color of the title text */\n  --color-artist                              /* color of the artist text */\n  --color-button: var(--color-primary);       /* color of the buttons, defaults to `themeColor` */\n  --color-button-disabled                     /* color of button:disabled */\n  --color-button-active-background            /* color of the background of button:active` */\n  --color-handle: var(--color-primary);       /* color of the playback progress handle, defaults to `themeColor` */\n  --color-handle-disabled                     /* color of the handle:disabled */\n  --color-bar-loaded                          /* color of the loaded playback progress, defaults to `themeColor` */\n  --color-bar-played: var(--color-primary);   /* color of the loaded playback progress, defaults to `themeColor` */\n  --color-time                                /* color of the playback time */\n  --color-spinner: var(--color-primary);      /* color of the playback loading indicator, defaults to `themeColor` */\n  --color-live-symbol: var(--color-primary);  /* color of the live indicator symbol, defaults to `themeColor` */\n  --color-live-text: var(--color-primary);    /* color of the live indicator text, defaults to `themeColor` */\n  --shadow-body                               /* box shadow of the player body */\n  --shadow-body-mobile                        /* box shadow of the player body in small screens */\n  --shadow-handle                             /* box shadow of the playback progress handle */\n  --shadow-handle-mobile                      /* box shadow of the playback progress handle in small screens */\n```\n\nUsage: overwrite the style property in your player container:\n```css\n  .container .shk {\n    --background-body: linear-gradient(-45deg, #84ccff, #b8e8ff);\n  }\n```\n\n## Chapters\n\nShikwasa supports chapters display and playback control with the help of its external chapter plugin. To use this feature:\n\n1. Register the chapter plugin before creating a Shikwasa instance.\n\n   ```javascript\n    import { Chapter } from 'shikwasa'\n\n    Player.use(Chapter)\n    const player = new Player({...})\n   ```\n\n2. This does not guarantee that the audio will display chapters. To display chapters, you need to provide chapter data to the player.\n\n   If you don't have direct access to the chapter data, Shikwasa has built-in support to work with [jsmediatags](https://github.com/aadsm/jsmediatags) to read and extract the data from the audio file;\n\n   - (1) To manually provide chapters, add the `chapters` property when passing `audio` into [options](#options) or [`.update(audio)`](#methods).\n      ```javascript\n        audio: {\n          ...\n          // manually provide chapters\n          chapters: [\n            { title, startTime, endTime }, // the first chapter\n            { title, startTime, endTime }, // the second chatper\n          ],\n        }\n      ```\n\n      The structure of a single chapter object:\n\n      | Property      | Type     |  Description                             |\n      |---------------|----------|------------------------------------------|\n      | title         | string   | chapter title                            |\n      | startTime     | number   | chapter start time in seconds            |\n      | endTime       | number   | chapter end time in seconds              |\n\n      ⚠️Note: `endTime` should be the same as `startTime` of the next chapter.\n\n\n   - (2) To use an external parser, pass `jsmediatags` in the `parser` options. [How to use a parser?](#parser)\n\n**(1) will take the higher priority.**\n\n### Registering Chapter plugin will empower Shikwasa instance with the following API:\n\n#### Methods:\n\n**updateChapter**\n\n`updateChapter(index: number): void`\n\nSeek the audio to the target chapter. `index` is the index of of `chapters` array.\n\n#### Properties:\n\n**chapters**\n\n`<property>`\n- Read-only\n- type: `Array<TChapter> | []`\n- default: `[]`\n\n```javascript\n  TChapter {\n    title: string,\n    startTime: number,\n    endTime: number,\n  }\n```\n\nChapter metadata of the current audio, if any. See [Chapter](#Chapters).\n\n**currentChapter**\n\n- Read-only\n- type: `Null | TChapter`\n- default: `null`\n\nIndicate which chapter is currently on play, if any. See [Chapter](#Chapters).\n\n#### Events:\n\n`chapterchange`: fired when `currentChapter` changes.\n\n## Roadmap\n🟡 v2.3.0:\n- [ ] In-player subscription feature that direct the audience to your subsciption pages in major podcasting platforms\n\n🟡 v2.2.0:\n- [x] rewritten in Typescript 👉 finished but not tested, contribution welcomed\n\n✅ v2.1.0:\n- [x] live mode\n- [x] safely update audio metadata\n- [x] offer more UI customization options\n\n✅ v2.0.0:\n- [x] supporting audio id3 metadata\n- [x] cleaner & sleeker interface\n- [x] dark mode\n- [x] a complete rewrite\n- [x] keyboard support\n\n## What about the weird name of this project?\n\n*Shikwasa* is the name of a popular citrus fruit from Okinawa, Japan. 🍊\n\nLove it, name after it.\n\n## License\n[MIT](./LICENSE)\n\n\n[npm]: https://img.shields.io/npm/v/shikwasa.svg?style=flat-square\n[npm-url]: https://npmjs.com/package/shikwasa\n[size]:http://img.badgesize.io/https://unpkg.com/shikwasa/dist/shikwasa.min.js?compression=gzip&label=gzip%20size&style=flat-square\n[size-url]:https://github.com/jessuni/shikwasa/tree/master/dist\n[license]:https://img.shields.io/github/license/jessuni/shikwasa?style=flat-square\n[license-url]:https://github.com/jessuni/shikwasa/blob/master/LICENSE.md\n[jsdelivr]: https://badgen.net/jsdelivr/hits/npm/shikwasa?color=orange&style=flat-square\n[jsdelivr-url]: https://www.jsdelivr.com/package/npm/shikwasa\n[dependency]: https://img.shields.io/badge/dependencies-none-lightgrey.svg?style=flat-square\n[dependency-url]: https://david-dm.org/jessuni/shikwasa\n[CI]: https://github.com/jessuni/shikwasa/actions\n[CI-url]: https://github.com/jessuni/shikwasa/workflows/CI/badge.svg?branch=master\n","readmeFilename":"README.md","homepage":"https://github.com/jessuni/shikwasa#readme","repository":{"type":"git","url":"git+https://github.com/jessuni/shikwasa.git"},"bugs":{"url":"https://github.com/jessuni/shikwasa/issues"}}