{"_id":"@financial-times/x-audio","_rev":"42-cc82f6a53144b0c1c25a4ffdd09f7189","name":"@financial-times/x-audio","dist-tags":{"latest":"0.0.1-alpha.2","pre-release":"0.0.1-alpha.23"},"versions":{"0.0.1-alpha.2":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.2","keywords":["x-dash"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.2","maintainers":[{"name":"axgy","email":"a@ax.gy"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"the-ft","email":"strategic.products+npm@ft.com"},{"name":"quarterto","email":"bren@153.io"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"2e708ac2476f1e574c6d2afa089f8a4c844766d7","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.2.tgz","fileCount":5,"integrity":"sha512-PDk5jhXMavE3H5ZZzYnDEuZ91RY977aDGQz6TO0pyNBF8kl8g7lc7REadpPRylM6OUuezEZKEvHPDeJlc4eubA==","signatures":[{"sig":"MEUCIGgrjJcCkHhhqHHcOT+gzQQ/kMi0b0aSUfbb7ea7AbpJAiEAyihKA3B+2/ErZhPs5Kop97QP6OW7/xV7igkCp9yXa3o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":18842,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJh2HKvCRA9TVsSAnZWagAAXZ8P/0QRpxnnhSGIojK6Xxyg\nxm62LQmMcCNIK//iTPqcrxxD7AE8Ug7cfSA2RB3SV9i7mOJEPgTN2Nxpmt0V\nSj3VM8BVH6RXXogn3qHYTN7G1YwnRHf1e+1wRLLeC7kKvlHnMQ3tqx7mqP+t\niwv/GnBFn556HuxPDnZTGnfAG491TDF8Ax4Vz1ukDBh7WDAD9ghXTzwXkrU1\nuJkLI4b5ii3hBFwYqCjMzo8Qib40jn6L8A8lqpS+hHN7gISjZXjGZETZGc3M\nM1GxJerapO5K9RSdIun9azhrY3hbrLoiZHYJCYXZofrwaWf57dPXGiWeWynK\nt7wLtI+LIWLw37ADrBxx9pSkhyvzbbmZ1paG9Db6Ta16kdEUeNsX82fDgG/E\nHdMMKH6H7Xo++Xr1fNgjehaiqZBaKUoKFOx6xZw/i7ygg/5C62I66+xy8sQk\ngTr0L9HE4IslL4puW+2M8/dpQA2/GFr/7u1HztoS09kTorx9mr9uAeYIT06X\nW72+Aw2B2Qiu9fDzMSzaW0UCsta+sN/BgHKtEhtMqSOYARamXxMQUwzKNvE8\ngs5ejkDrAiutQAmTVRxQzXP5ybAK7GZUqD6YFT18K+aOG2YzObY9y2PLTbkS\nLK+1zmD+FoFZgJwQlX3P0N1AvoMxJGK0FfvD61OIuAciP8ZxTkdYGMDo7Kkd\nelJT\r\n=yjM5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","module":"dist/Audio.esm.js","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module has these features and scope.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","prop-types":"^15.7.2","@financial-times/x-engine":"^1.0.0-beta.9"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"@financial-times/x-rollup":"file:../../packages/x-rollup"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.2_1555598399801_0.49028105548817247","host":"s3://npm-registry-packages"}},"0.0.1-alpha.3":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.3","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.3","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"d0854c0c670315a3e0483ac13eb55ea06fa1942a","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.3.tgz","fileCount":298,"integrity":"sha512-kVaUmewCmv1PRiW0O/rBGuEcagnyRWKRY0XyKxSAki3f2/vhPslPVtrQeI5XXyKJVjkZWmx4L+7NFLyejqxkBg==","signatures":[{"sig":"MEUCIQCPm20LeOAgBp3w/MDUhYCUcOAUAuPEoUCjru8VA7cV7QIgMD0a4IsEb/6D/ckbLGW+/LcDTZ/qx7rpW+4sfdRBIGo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1033991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc0s6fCRA9TVsSAnZWagAAepQP/3FFj5DJ73hylrTSt/wp\nHyPdGaTr/BONBuFitdWmO2IRWmtrNMTV9pndgZkFQDbsKPrpdJs6FfTzcq4S\nycTo0qggPM6tuWHXzoJtrPhnDBOq8ekujeiNGatFxMrCrdYuQ06jQ5dsHVtZ\nbEGUCF60XTqLrLb0nIu5XEJ5dpRjH2c8yGd+FxA5jvelFwQl6nLF48uuq1GQ\nBHqLb5IY4ZFnV1tlBLpsuuI4YYMkedvAAWwYuN9m5OG47/TdwdT/u/z0ojlD\nLoh6SNcCNUExvDCcfpo0oi4Q7liBHVII1FVIXvjUIG9VmzDopMBgDByMDHn/\nawh/pzLNa/jazjclJ/A+yqvauo/vJ+O6Ak+y2zZusCmqEHq5sQaSbcy2PsfY\nle6oXZXYVTJI3iWmNuhojKu1artKka5idlCzKJjzz15QKfW5mMtEjHXzXYnj\n7OoRKnogGeuH5OJz4M3MOFR+OwTfw9PevAn/yrgGnUQModIfgY0nYCC7kcYI\nPYMwZE33YZYb+3c6JMBOHq9d/jC6q693kGPVuB37WgF7dozsoIzA3uVUN8Hh\nWF7WF5UyTk0Y0J67apH09qopwevEPOcWdJLI5bCY1STDipauPrtZRwBbNqIq\n25uDi7EbmqbcTwvdM1qlfLRX4LVF7E1wm4Mmj5Bt5tCLJkf+gWnR5wTXLEX+\nWLNi\r\n=vSR0\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module has these features and scope.\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThe components provided by this module are all functions that expect a map of [properties](#properties). They can be used with vanilla JavaScript or JSX (If you are not familiar check out [WTF is JSX][jsx-wtf] first). For example if you were writing your application using React you could use the component like this:\n\n```jsx\nimport React from 'react';\nimport { Audio } from '@financial-times/x-audio';\n\n// A == B == C\nconst a = Audio(props);\nconst b = <Audio {...props} />;\nconst c = React.createElement(Audio, props);\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`propertyName1`  | String |\n`propertyName2`  | String |\n`propertyName2`  | String |\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module has these features and scope.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/x-engine":"^1.0.0-beta.10"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.3_1557319326722_0.3218811219869704","host":"s3://npm-registry-packages"}},"0.0.1-alpha.4":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.4","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.4","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"4c1cdc7e9b05c788d46aeadb96ba92986c4c48a1","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.4.tgz","fileCount":299,"integrity":"sha512-VT7wGPd4Y7nHswFFl9rTwUikc+KbUdHeUuOuVWVpYT1Z6knb5ptpTTPXmYAZzQOK99WxC/MBPhNzPbc0SQLUvQ==","signatures":[{"sig":"MEYCIQC0kReCrrCBli4FIAaYEKhSTh0+gKYU7xjp6AKAP8ds6QIhAJAnecrCuUhHmOzJnxW9wFgfSwtqo0haVfQgHJJD36k6","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1045929,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc2peeCRA9TVsSAnZWagAAfK8P/jPob3hAggNNAB85IEyn\nH/o63N32cwwRQQUN0JWlcDr4TPjiNLxepvwmDrNIrSxc1a2FTx8AkoRjQ88V\nqMoX3oTSrFrBGtBMUqDVXnZmTLKDWxwg5mQ5sxtXKSAwYOycw13lg7mSGBBH\ncMTAuJ4EIag2ulgWgvTgb6/2EEJmuznBG8XbSA89vabRsPEPC/AQ66FBjPcy\n5RFDBnCthtJTp0VTqNZpnZxgnKEkAWP9RcEP9LymbTmszw8U+vFsUsTufn+o\nS76q/52xiOq1MEtwjVKs+XTH4YzQWMh2XmAHcrLBALWki+pS1x5+iwm7tGfA\nOFSRsrckRg16Qiw4PKIcCYEGDx9EYAhfqE7axSjndoUQS3OIoS319e6ujKx8\nAtd7cLLaHGxtkJGKQYH3msT3ePOqtaQGB0oimUxYoRBD2lZF8nqv2dx4X8Mj\nAQ/AoFYd/6wtdPVOFABK3G8M8c1WyH66noGHuX7AlvFzl9wSuQXIy4f8nsBR\nTbKZiI7ikzu1nSfL4ppcmGXhrbXAisIl7X3zKMiyz0GKGlAIZsQx2MOFHhI1\nmOGZ/eovxgsK64e9RVMlXDYfBCUE0l38P4cPy915fLrkL0BEVqmwMXQeHQev\nXrFuOgNDoxBt/UKTaumje3uZfl4Vn6u+iu006pBibu0ftjmqblLUd/SWmsWs\n/9eF\r\n=dNjy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module has these features and scope.\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThe components provided by this module are all functions that expect a map of [properties](#properties). They can be used with vanilla JavaScript or JSX (If you are not familiar check out [WTF is JSX][jsx-wtf] first). For example if you were writing your application using React you could use the component like this:\n\n```jsx\nimport React from 'react';\nimport { Audio } from '@financial-times/x-audio';\n\n// A == B == C\nconst a = Audio(props);\nconst b = <Audio {...props} />;\nconst c = React.createElement(Audio, props);\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`propertyName1`  | String |\n`propertyName2`  | String |\n`propertyName2`  | String |\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module has these features and scope.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/x-engine":"^1.0.0-beta.11"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.4_1557829533528_0.29419546585736467","host":"s3://npm-registry-packages"}},"0.0.1-alpha.5":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.5","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.5","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"553ea8b98927507c07246fedf4b105273aa5ca32","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.5.tgz","fileCount":304,"integrity":"sha512-PrtFHdf6D5rLo8/p4m87t5bxPm/nNtAWnz26mZBVlSFUGoTRziLd7srMWhDGCyl2sF3+ekSAXINndEi2YSgmVw==","signatures":[{"sig":"MEUCIGKq1fIsdrvMITI7KSDJNj8pRS8Rh1LbuLoH7qYoitIcAiEA3zpN8tOkDkcIb2maT2loOMuBn4+zshMGgoDOK6noApE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1064824,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5AxbCRA9TVsSAnZWagAA+BYP/2ll4A8mB3/IpJZP26+x\n+0azBqkM9Fyx+MHtr73GwxE7kUFqzb138d1eIx0bfpQgQ0vIF0kNll/AWOMn\nPvScGG0LvbF5CMBcHNkFcVjOQ31Nm9c0qwc/TSk8S0TSrCj3iG0fWo9z5snq\n1ZGO6gXVR2lYm44jcf4AMtdlAWWe8ur6I5QT2+WMnzHzxah2wMCiFQw0HeBk\n13iQayxKk/ENU5BLz2/Pm/GkY0eENg2bT7S6cLMxn7tVYQlrmTtTCkOVrJdq\nixPO/3FrS0WpNzlB3sdPMaZtarDsnaDZMniyyf8u/fuRf9K89/CW0zy+vJzP\noeqK7lonHXunEH9gneQR66duB3CBWwh+fYiwm2wiYT42UxEX69KW67aRQ3v4\nA4hSOghbahrC1bh4eZBX2Js6PpPGfGn+zww+pNc0wDWixjA9h7Z3wwRvyMaP\nQLOyHDijHur535xsJCQEb4eVzDyUG7Atfu+e5j+2ZeoMTXY6Jb1HtaZ1NROU\n7jaK8GpJtofmtuV3t71OA6v577x8OyX6j+fwH4KMlUcztDlUnsh8sh94zArF\nUJ5BUha7wD82WsutShAsy0SVUtT8S/zm7E3i1oK5N2NFRZXQiMr8sONA2bui\nIqDPL+RxbPA3L8tCW41/PbJoXYi+p151Bk6mCyFefFxDZ0zDYOn+MeBXQBx8\nT8RX\r\n=N5zQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.9","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.5_1558449242986_0.9635700781656009","host":"s3://npm-registry-packages"}},"0.0.1-alpha.7":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.7","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.7","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"2577024469bec28e0c612617c43fb97ac86abc3f","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.7.tgz","fileCount":304,"integrity":"sha512-sfcI9Kfnxim25r5QqVTGNQAlbvr/ooOWFTA/dq24ZhVXqoM1kSB8fK59nvsoaEwtuMEEgTrIeqybUZE/BWk2OQ==","signatures":[{"sig":"MEYCIQDQUyrIhZsKrZENklVGPwTO05r0BRl+BAoMc2JH9NkctQIhAK4Kx+EsKD1HizC5YQMSJtEu4k86rhvwmyz47p3Zh9Hg","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1064976,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5oNrCRA9TVsSAnZWagAAerQP/RDKG61GUVjDc3yrTe2K\n9ZKrNqYDnQGuY3TEggd01APCU6xnLQKN/NRq68tsAH8TTHuamF6dgvfngMMA\nIbnORY/gFhAHbve2Dayc4whQet4m4oVipZ6YxlSHo43q0/QR5CoskLlnbUWf\npOJIzuQqDZjIRRyhSlo7FXcdFtM67QtZ641lADtXx7pRFjPtmjHRQDIFzJ1I\noBHiw4x8J8oUnCt7JLeeP3/Rmwp3WYLCAvCV8OTQaDwRmsPBYdVibjM3Afsq\n2Bh/PiVPZG7I/fVOWfy3MyE4VyHrvlLIz3fYJrMnBVvledouaQVVRhUpj7Tv\nqGROHi88udXLDyziK/0GDBTLUbWmzAAsYVwiC3vTUbo4fnWU0KGdqM0Tw6TZ\nCizDNitqU2MOzalQG9ZvsNFy04mfCSHndDYhQgycbce21ihJgqI/cJZZIeQS\nKHaMki40znAn5/PHITbI6tdPFDOGlCHL1VdrQyZPSttKwuFc9MtlST23JfeW\npZTCYZh68YVm/FfZXr38FQe/tjuFtWxbZ7Xg/v71LP178gd1H8XQ1gOQDhIl\nnGU8SH7mn/ojCVscl0v9aaGJ3An3ezCwpLczk4gY2XAzZjHrc6wThHo0ZlZI\nwcZ0abCs3MCV35sTHPKyRyPRVtXFKQ10o413ygs2eL9Z997iy6fg3OTDbavG\nFbru\r\n=mWci\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.9","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.7_1558610795014_0.6747627681436834","host":"s3://npm-registry-packages"}},"0.0.1-alpha.8":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.8","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.8","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"91ad2db90b3f3202481dfe39402b001a32daa73b","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.8.tgz","fileCount":304,"integrity":"sha512-y53pn3f9KA3/i4IkFIZe9jPzKUY5hP0LTG8iZpoUB499+jBPWUwlZ7S5GUFFexltwAeojMOHsrLJCzBdtsc7Hg==","signatures":[{"sig":"MEUCIQCiqYAtL6JBpU8JI/MVct68q/NhVueKfdXqUU5yUaVPEAIgXDxnMqtL7J4wIDZi70GP9x81oWll6rJYeKg9o595Nf4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1071722,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc5qisCRA9TVsSAnZWagAAUYUP/jp1kP5skRcBW3y8RFCG\nrP5VUX5D8nAPM9FTWhTtTyoBy/VfLR2KUe9EiShYoLO772F3h93Av3Tt4iNy\nA2olJeda1O9MmVdwJ5xmHkeoKTe9vie761c4L0m8CFDEvCHM/hvK64IbHPZG\nBNCCi0Gkm+00awsr7UqZvFY5nbeQa1MRAi0blDU26M0fiOvVXqMMr8zQaKUw\nLfPxSYigYTZxmlkTPeYxW+5NhLxlWABlNTCbuCcWgW11pzvZXHUiTKOkL/kB\nLpVlytOK9y4BS0PhKS7So0psVsjO2MbZRF65VgWc/k2mVp/Z7pNNvmWTvMSc\n5tF0Lt+Yjc/ZE7lCI0RyPW4ZoBqpuv/d6ZLnSwWBjJ/jis94KQ74axGsWcZP\nnblLqLeidOSlOXeg/aPXxL3u8WL9JPeubichWeB92pIK6sUXaHr3/+pqH5c3\ngxemh5VNQ0Izj/vTp85F2Flp3mNVMfLHLzi9Ws/5YuBtdxArDRfKeDgNko32\nleWrPtp5RzYt/BYkokHbkJJ2UXms8SxgMZ89T4KwBrV21e9iRThbFf2tMC8d\nND1vHMYH+3s9NqV+7B1CHggAy/CSu1doJNGLooe7gHeFMVSAoQ+myjCwa0JD\n0Pu5MLA9rwHVZfBPVbpuMCHEeWNBa1Jgss/d3W9/mXaw7Fvd/KuqWP1m58dK\nn6Jz\r\n=PQ1P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.9","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.8_1558620331912_0.9226323422248366","host":"s3://npm-registry-packages"}},"0.0.1-alpha.9":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.9","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.9","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"a878dba2b4ebf43066ca5d049440064210b9bcee","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.9.tgz","fileCount":304,"integrity":"sha512-Q+r0JxZGK2M55p0Va6pRVyaBw8bcV1Etq0axZqPSS/9Ay2PkIV1DHOOFAcdKSGE1XBStn+B8quNOXaz2SSKGdQ==","signatures":[{"sig":"MEQCIGHKCpCJwMRwl0VrDwKY9bp4xrG/IcCsI9hZ+IGoX8ISAiBd+bnR98ul87o3xkDTnCC1pRSdfaGQbPuOHB0zJ6OXHQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1071723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc59ExCRA9TVsSAnZWagAAiNQP/A1T3+O99Rxxl0DEfM2B\nySDpqUzXlGsKioVwGmHTg6wy1fzS/ajp+XcSsO+s8SQj+cPWM1L1UXk0f+rd\nC3Mrk61Elew6LTjQy5clvg5CG6/TBHLyLovRpcxcmxsOCIFnM+F6AtTOX0F+\nNUGMxH5C2+dBSz53cPtOBdIqBMHUWJNq/pcrSKh6H6dXWfwzmHUVSaxKGCU9\ndT1g/nm91/zTioerac0Cfjs2SodUZUMxvxsnB9cExebLRKz7zdpMvr3Hrf54\nftQ3iVuHhlomfWWsDleF3xmc3xLREP89jRnyFvqQYNq1nclZkKLz5Fm9faYi\nKGHSF0fLmMLZZGiUx4a1uwId8MyrfMunNjx1Bq5e9aGHgF6CXHapwmAyhEle\ntSXTVIJHoeZJyva3UXeGQ3IOwps0/+R12JflaoI3aQPZTAdAe0Ztn5uHmfm3\nqrONz6gObdOB7DCmLi/Gbt89JmKktjKnDvOXBmnZjwovm7YQJGpzZszgHJrx\n31u9Z2KliZ/oGjIlao1E8JoqOKA2oCVdLluBQ661a4zoVCeCF3PNUvONoCxX\n+b39Pwc8e10m/0w+jLEk805UoWJIzqzhsNNOYvNrVt1W6Gshtfxych5F9MhY\n1jxnSLYCYy8C061hbBjfKLoprfJZ1lJp2rOyqiid/AoxEJyDtX7Oh7E6rosy\n1rQA\r\n=F8j4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.9_1558696240762_0.965929877956635","host":"s3://npm-registry-packages"}},"0.0.1-alpha.10":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.10","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.10","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"a67bc4af2302c97d3ac7aa3fc7e8bfb80bc5f76c","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.10.tgz","fileCount":304,"integrity":"sha512-vYlNRyIMQCpMMv8LeIDrjQoTqSapFahkS5t+nc+/yv4eJlU4QwOEraWngaJKbJ/buHVigYCwaNpSP+CAYnKlcg==","signatures":[{"sig":"MEUCIQDA9suHIC7LpZTY7pNLz0KRcTI3908w1x4nP4JQY6V7WAIgeKTRVXLNXEMPyv4zd8xYpIEc5jT9pe11hmNXZrlRG8o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1072447,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8R4dCRA9TVsSAnZWagAA7KcP/2fKvmji9SxYTCvwzgWr\nyP1keHJZmN3yl4ClViRHQaqKY03IUsk5GyD7hgfN/esYgEJJhvaWUKB5bKlK\ntmoRHC2lZoS8284Y0ORAu0C0gAGnGxkk8wswEPmkVKeDUcOUqMXzBTVXqh2V\ngjoi82eWdHhzcAjxAOiGLMtEhCkhJbHSPFAKkItAPflHOiesVSzToszKas7N\nrPwMlyrNSW5bI/Qhgol+syTQbnkYeeExunZTk0s4aOrilAtNLUJwiKTUMmev\nqMlN3WNcvf6fBxxgwtz3ie4wmZO4Or77qmHzibQtcT38UY9TUEyz1I7toqzv\niOrNgd3yqlJsLqDcJ6+x7KZAqXKoT4XD6R7uSTxMimfwAAlExe/zzyQkFBKy\nKxEzziKd8OYO3IKDLEPYICEmEtS068HBngoSWRXC8+FRni5GcUAYVH1fmcR9\nz7ico2lwJ0fyjfNGwyye92UUwBGqlenK11mfok7L1eLwzuillFlYTypBw4XM\ncGYNGkL0b0QvKm/0iRuJR8bAkW20igKj6jPDUxnnuLEfWAhXj0LT6yP8uUVu\n4jqy8CoqrcF+iJfmrlwWKHtd30yVOpxbUnKNqeUVpZBWUzdJBeAe6H2wmzTU\n88A5IF9aBmwKAzxjCqA51Q31mPWp9X+arpxOvdGTbs1PYl4799KaJW0BQd8T\n6Psy\r\n=kpQp\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.10_1559305756745_0.9374826124598497","host":"s3://npm-registry-packages"}},"0.0.1-alpha.11":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.11","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.11","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"1038cfbb67b1836a0aa96b848743fec73b06e07b","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.11.tgz","fileCount":304,"integrity":"sha512-gfNRIVTIhXLOtCKBaXwHg2A0i18Yf7/vDRX/iiNhjTeNxar1hH8FkJBG+ExCy6r+Fp6a+ztPsEcLwJLQ5XAFYw==","signatures":[{"sig":"MEQCIChzD0Fmk4iwvdzGigbJwB7xqbj2JXFCEXrc/u7nS8BfAiAiKcdMNuvRz+CGCRDOBH3wvGQquh5vwB9lO24msKdbuA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1072443,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc8UB+CRA9TVsSAnZWagAAjxQQAKGugCyJsyJ7qiZYCgT9\ndJGntWoaZVf0laZrCBgqUvkE29UkNKYrjXKyNmuSfysKqHimIpcBDarR1dXk\nZooOFMJLaSvgooLmqiKtq0Go0AkHdHJphlvGdeVPPi9oo0AkftS+V8lJwr4O\nNmfbV9NkDVPU0Z48vU1SH+3nngsroOcpFZuTi0R6QYa5tHbXE3bmRAYObp+t\nmsvVfuUynTfafpwG2J2hBURa68mePBjrKTAbQS4Od011kGpopCf440z+Ij0i\nXHC4ke6cE1Tn+/fK2ufifk1sDGrzKo3IdBv6Er9k+SqQ+BgSwsh0Hwv4DvWY\n61eXwDS8080o0nCzzyJiALiI8ejfNnaAeXMT/jsyfXrdfFe6ogSwARDKTYD7\n1Gh5hq1rTkL0zpKEo7dd5Vp3shFVuJZQawrZdlyjwcLrGKgZgDEmcWam1sPj\nWmr95pRk0aF3h3YJVYGJ2FFguJ3LEgy1d9LAhiGKV9esi/v8cv2O7VViZYmh\nWtUiu2Yeha5RHuuQl7JEAbkZtkJ/obnJSZEp70ERm/3my4GHzMy7RgS5ngKd\nIg6OQa6UMywLxvi8ac3vBF8Cxq1ChOHGv3kaYGrW6pqu7XGT2id0ZQy74Ahl\ntmlIRHcxvI/e6s6YecYuKjHCHyY8qG5q5PHw8fI0PYzkU1Yf9h0dTPU4ckgw\nOffR\r\n=EHWR\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.11_1559314557726_0.641080032040146","host":"s3://npm-registry-packages"}},"0.0.1-alpha.12":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.12","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.12","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"b399964fde6ba2816af8042586800e878c0d57b2","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.12.tgz","fileCount":304,"integrity":"sha512-qyWvR0aHPunjn21RhDWodu77w1ekCTKfY2i7W6jm+XGADg3EpV51FYwUWlkS8mdMYgr0etaQ5SVElHZE2x0srw==","signatures":[{"sig":"MEYCIQD/cfTzvu6pDKoSIe0sVMzspJbjT1/poJCqrLTneBJ7YwIhAOeRO/+e8VqDWVyuFEY1qhehXqK93GxpJbvVOyqO2ZX/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1072850,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc9SZeCRA9TVsSAnZWagAALuoP/A685lKjLg+P0EG/bHyE\nBIv3Ix49NvEUDzzKZKhmTxW47LV1wheCrDPguUAXKgytCwMpQrmTf1iP9Zhu\nuIUTwggb8bU33wKslnd3yKnys3hGwtxFVMw4SX7cUxT7d9Mdw0mwWQP0UjvI\nS59tRGhckNcfSwpFlSbGhJAQ+XsGQGV1c3RXIYLR2zvThFsywK2zwQGvB2s4\nm8kh5/vr+Luujyid3/cq72E15x1XZp9hS8SFgTl8kwSAXYTFPgQ2Ei/ST1df\nTqFzasiUigwF5Mueo/El7FmkD1GV2uv8/VfhXzRVfpmn9AEI5+PSyFw+FOAN\nyYc3G0cbBZD4/orH7OYjpAExPDRv7ju6C28Z8Qjtxa3eOBo7eouEOBtz7iSA\npDKVrgU7xQEiP3pgEaFQBGleib8zfcC1WQch1GaqaeYCwgVIMb+6W+PtuMOR\nE3p/73ZMJFMrt+V2NKxWDO78cZU7aUcqH0yMv3mwa6+USUBtR8KCOe0w7KEw\nKny3+PScKyOGPbbAswvciJoTmSPK+CfDDRCDGhc1bOuJWJFU5S7kBNezYXUt\nHUz/ijPjuGEvcSBNXKJjmevYuLQ1zTctR6XjdWbZpz35NxLgTBVRzNo9oJYV\nLgn+XU1zfQLBbK1fYfI3DcZtHqJfO+4RSmlmQe351qUYbyqb8+hnwubKjftu\nzxOV\r\n=Jwep\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.12_1559570013331_0.7778232971522399","host":"s3://npm-registry-packages"}},"0.0.1-alpha.13":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.13","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.13","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"3588db13525ebb0f669bd9851ada89da795c7672","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.13.tgz","fileCount":304,"integrity":"sha512-LaIpingvVNfa5WRs/7zIKdxY+9mUjmGLhlXWNR5RlXUUTzvs93wZPGdqwnzzuaD6NguiXQFnqwci0eP7HQnIHA==","signatures":[{"sig":"MEUCIQC/Mzn0cCcpAEdi02yVN0G6oAlMiOh1eGjlCpAWS9zS6QIgQSKtWgDQBWrEIRNCNo2Zt2WQ+AqPpoKV6H/c1ToU7NA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1084798,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJc941sCRA9TVsSAnZWagAAqlgP/Rv1uBJeSW84CRl/0l8r\nVbYN4jZ2Drc5tgqSlUby+BbdJYQRKpuxm/EIWCzR6mryFSU4zu7g3DJB/qHy\nFwDBlSBKHGNezq8eT1U/RddIjrgI1eIAKu+WFGlziH4rCQ1zYLtzNm4ibEI7\njaqNC39+8vB/OTxK1YIBnsJ7EuN1QkY/n9OZ2bByVYDAPPtyBu3CQsiTy1eT\n6BouioYjc+nWFlJdAn/kB/2+rtULJX5FucChO5Ru8QWSfOs6WzZHsWjeZUP3\nwTDQFtZ9TbPRDBVHj9kngwIrfNk7sSAac4gJ8I8zz8g1PSzmxGmpIAhlNoAH\n4gPyyM1Ebpa5P28fL6Tm5798UjLk5AHkB3EccOBEhxNMAmikAZNijOUdfSSf\nRoCDabwLff+3+9vTQ+Xm6QOFhZ14jMu2eB2oyOddAPLSzrv4Pd6Ml++HQQyU\noUSmkngELI1UxztHOJQzbsjH7Ld8sEtoaW0sR5tUOb+7aZ+aIkBEjVxHwN4p\nuKyGvFbwDm56wNYscxytV7RXJ+reffu+MscGnZY+9UNqQF1+NZN18Loz8iVO\ne51hLwjLt5UP0/n6mwi+53bt08G4PrnId77m2IY4ENy7C3+aY/DVDw8CgLEb\nUjYMb+AAWdA/ed1WiWvMAFHLaD0Ge+XKYt09ajtdp7jI7ThqqbNPRKbqF4+E\nPtvB\r\n=DqYE\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.12"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.13_1559727467568_0.996629033646548","host":"s3://npm-registry-packages"}},"0.0.1-alpha.14":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.14","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.14","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"e5cc3ec643ea48fedb4103a8b9c52305ad4dbc13","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.14.tgz","fileCount":305,"integrity":"sha512-jDaMUueh8BfBYU/jfreBXhc9XgQNqdtOqW/kaZ6pGmvLuHF5iwKLiFYaY3UH+FVE2qWEyXl7u+FtJh/jkxvzHA==","signatures":[{"sig":"MEUCIErh2uGwD3xpJ46u5yobq0dEVbI+dpQH+dBeHMGKBrVBAiEAijw3b6GfIJJyz+kO4ECz/G5UYRm2icpBFgenBAKMTHU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1205418,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdDLiQCRA9TVsSAnZWagAAlUwP+gNr+uRDAbNVKBgDbDOg\nl65EnlV7GO022EvuDxiUVJzFo9Tx7D8yfRbaAY1QAxlXFI4mj2FXHG5jSAh+\nObU+vsUipdLtKCUsYSOJpTZzNiTVHwbmLXfxoh3rRIrIGf2pBVJL3clSVdGN\nmLqWf82/E14ESZdb+1J5xAcbGLZZRpu9PXJFTxE94DVaJgoCJBWCqrOS3nhz\n0oKh4YeqfmlCF+tP0xXAYN9GwzwSTQuZVv9trkGQM6Mms5ZeH4sGFc+Y4f1a\nofZuRRJSKYfWDczPNu8XKAJnlPp9jn3RAqakFzwTb4DE0DIMWH/e3FYKwE64\nQHyDQ4HV0fMKcb1TykQhI57Hms/wcHgxVRIgB3rv2Kfv9WRRPQGyOwJx+INE\nNrfcZY6vC76aIH+1O13Bj5VdxCbuFPAsHlQW1AX7kIEob+OBMHsFf/ODO3sL\nC47wP+92bP7PR4Di/XUGxyDgDac+2+dQ4KakEdJExsOsZhryN4nz5qO8mbX4\nJtchT2u35WSCGzP1S2JB/n4soxb4NlIrW/Lw+y1ZoMGqOhxOs9D6rlWiKiBR\nqk+n4pOHj9ZYcBqHwnyT8z6qMlBygf0B1kJmiLT8ErB6u0rQY6QdwZDIWDqf\n5zIQoq4mzrxLQAAd5iDd0mkh9sof/oxDZJeMCf1tVa5h7T+HuZUT0zBm+0OF\n+hSI\r\n=IoB4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.14_1561114767409_0.7490721722559583","host":"s3://npm-registry-packages"}},"0.0.1-alpha.15":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.15","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.15","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"5b8c700e0b86c15b8d53c2337a0c4c586b578ae9","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.15.tgz","fileCount":305,"integrity":"sha512-OMNDf34l6XFOHRY9JhQQ1u0CshYhxDWw6BPg+mrsc097AlcwHaPK/BEyZ7aMTPPSCo/AjuYsdjMmkNp5ue27hA==","signatures":[{"sig":"MEUCIQDj7ISsQt2SkT+QDMT5PAC8gzxp9XBF/yuTZDVD0+FsxAIgfhs/IMCx+VKEijIyUF+RPd1ZH8JuBUJUxT3ksJ3W7eI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1208247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdEkgxCRA9TVsSAnZWagAA7e4P/R2E0/sIvDBwDhMkvGpP\n8eCS7d+znrEXmLPK6Jocd9hFMtBbMdCPgUwxTsEHypvD7yhwf4r3FyBahO6N\n4A6yx//p3x5+TpYAytxwuq4fa2FtZsrJFquUfmlMSpfPkZshXLzr+7XH936/\n2+Lx+2s8bgeG97ssnparBKVGaKgJR7m7e21bEKVAAmDDjTapKgPFAiCKSlGs\nQzSCJRUqD5XW+AbgCW6FivDqKy18gTswBXHEBrbu33Khf1Jh56QAOmuXX1Zt\nhM/6F7kGc7dubVe3HYACSrdkYrCdljMqPp0OvTiFV1mK4lJ9JWhmimzSG7MJ\nHMh6icrtn/MKd6JtfT9JuLhSHchVbFO8GcZ3M/tQEez4naMvhbtKcUxG7FQJ\nsG54fkGcSdpPhD9l/PoFimsVxK57trP/jRJ5F6dlKH/dsLmZERNF+E/WO9zQ\nfvCS6CSstQiH1qsQkj3QiJfhzQQResqPY+zzGoENDXrfL10HAFlLRFWrTLnN\nAWm3VBbo1iIY4v8oq3j/PK7TrP8wAjROIlM736w9oxEy4o9KO3315Js56eWe\nU5qeVL9qoFYxncyq2Ej6ArfeQoUrS8zEmEKF4mkvMODcop2Qc9dB2zJw5Q6U\nH0C7izpPIsWQPm4g0LxXBE7cWQGv/zEKnWPDKoQLRD38dYeBbjIcNVpGM/wx\n9R3z\r\n=LZaF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.10","@financial-times/x-engine":"^1.0.0-beta.13"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.15_1561479216756_0.05319031954746989","host":"s3://npm-registry-packages"}},"0.0.1-alpha.16":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.16","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.16","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"3476e387f198724f7476fd317a624efb0c125b54","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.16.tgz","fileCount":317,"integrity":"sha512-nmhU1HwmzXHtWAo4mV9/lXpYMzvUWc++ADH1EYypdfdLqsZqPf8u91LH3UrmgMBNYIm4AW57uj04DNoAQXIbvQ==","signatures":[{"sig":"MEUCIF5qDyzAMzDapxRad0WbB14X1rtXJXM5NVw/xfhWlQgJAiEAhJ58da7/aPzeYwcLzneGuU3AeGNu9J3E8MbErnUAgOo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1227063,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdHcmrCRA9TVsSAnZWagAAhk4P/2uqbmmqMsHE0+44A1+N\n3zp9D6Cro3j/Akri5/GpzzSwWQ/0d2qai+yyZ2SYtrO4kLlUyg5IkrTw2Lw3\nL8RLk60Oh8iFlScafZ+JI3CwFONTDedcqyjyNicBfdBLDY63AIlrLQPY3rnG\nuX+jXa/EcNwmULyQnZNQMEJhGM/EjrL8RXsGr+Hl2ov4uJssEmIvQXZxgMzG\nHAs7MDlmuLXUpqP4qo4lDWYGutbAcOW5Tf8YH4CsShN8SFjLq3KyvSE5h5w/\n51RHZ1GYpeVXpV2xnDbQl18/KKU/VpoLJKc+48LWd3nl7Gn8a3qwwP5ZEOm4\n+Irf9EjNtEqmujZ+1P7onI2l59+HJ8FAwP9WKdPiBm/vRUNR58uXN1J0FpfU\nddNmIfkcWulQkyLBRgFtht+Jr/ohcgRPB3y18nM7OXxCnXMkZH+ctgnCkEP9\nd9tSYFUVPQxYfqaw/V7L4OPg9EpCkf81Z+MeSHu3Fw++Jk/Q41DAWRMI5Rpc\nlr/p6tDZLQCHnhoKx9JYXy+c2KOYxaTF6XmUv4LorVHvuh4zu/1rm/9TgOeb\nSovZEcF6FD9G8LMUyCzuQ+/BpRZBI3Hl30IrKgcdBUhEljnV3vvQF2zFsxIH\nzhXZqs5BBeLbsBr/F4p9HB8Ntol3oByEwY2o0Bc6SA92NP0Xucxx7iaAa4uh\n6t43\r\n=auGF\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.11","@financial-times/x-engine":"^1.0.0-beta.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.16_1562233258431_0.5089316244966577","host":"s3://npm-registry-packages"}},"0.0.1-alpha.18":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.18","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.18","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"f6b7eeb15e44960ed231aa83b05c56f088ea7441","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.18.tgz","fileCount":318,"integrity":"sha512-V09hyo+rXOfYVgVjceGrjWtXWfYbU9yBqWNJfq2lwqdaL77KLoUKMpt9O1+OMTMHhDQigN54r01i4JSaya2tHw==","signatures":[{"sig":"MEQCIEkW4WQyIm7Uz9jLLZTYigPJawp/rCpL27lk5V6xWwd3AiAjCnbdYIIsrL5//tq8WDm9oJ/tR8iDBsA1H1nPOUJPOA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1238892,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLKdICRA9TVsSAnZWagAAZVcP/j6d9mEQ3LxfyO/BZA3O\nImccD+9BOel7T9tVl6D9QpAEhX0c3ocyJBU8qkkmNP4j3F8lM2kjts9zJ095\nSmcqgc2apKWrW4M6dl8W2G+IUXD3viho1ANB+tTGU61fLIBdc0rx79SkCJfH\nu/tf4M/nzuXjEX8YuRWNuSQwp+ggJFa1h8Erudb38L60cZquIxTFwK9pky/s\n6MODp2ByA1uasobt7nax9IpOUM+G1W8+ncLFWiT3jtXmGdqpJPW2csIRElDh\nDMxK8kuvaufKbu2gnmXWCL1bwU3tRpL/g3tn/Yt5y76ig+RM00ZCkN/Rec4c\nKs4c+OsZp35tFdm8HjKDdCLyojHDvJEcUZd776w86rVqNlGM5OYM4kcAt7GW\nVNONdh5ArMAKCjHrRQdx5mujBxxj+cklH7ttyaWXmrxTolqeLj/h040h0PKY\neSrTMWo6olC0d/zUOybl8QF8TVjvSqk+4YNO+QQmHXbQ/IyqtJBuYteDvH59\nUYRvCuDziNFhCZVLrNeVmV+7ML2XbiYZfUfQa7xpaY2oLcHxjO0lN9CwCLUn\nqxpo9aLNPJO4s9M+H4o1OJL1TuPPxMoGwhvObmhwNLBnoxs9cc6jhKvgmPFk\njey5h5gpdLmNi29P+UnaOh37APmfZbkA3kL0MR02aqwG5ZcQtyMot7YcZp49\nT/MU\r\n=zgtI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.11","@financial-times/x-engine":"^1.0.0-beta.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.18_1563207495274_0.9050419052330265","host":"s3://npm-registry-packages"}},"0.0.1-alpha.19":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.19","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.19","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"97d141473cd540297b41c2f4d4822068ef645536","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.19.tgz","fileCount":318,"integrity":"sha512-zpPHDGn/YhbKgpEU0ORcCXF8NW15DghXn5woOZvH1s1oZmi5W6QLX/DFR3l2Lcjm/Ma8cLee20O88qUYF+Pjmw==","signatures":[{"sig":"MEUCIHrXYWrDJUS7LBev6BMgcrCetoeX6hnz0/WIWnWwsJ3xAiEA5Drswcd/62B2/4f0dAqF2SvFr/Bc8AtecRBkFVkf19Y=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1238836,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLv31CRA9TVsSAnZWagAA1r8P/ijDJilPSMjRNJ6AzXQU\nxBgbOe0LuqKgxVRh8aVPk2vLlVe4mA4kZCAw5Ekl0ybzB6TulSKWme1dBBSy\n+TxJTNSTLxVXEkI62qlvrX20Tgew/NctVA2w3Bf5DzRmiVk4Tt1CuOwAN9I4\nQb6Yv1nif/q2f3gTt884YmutoxlgUJ2A7TS7guE8Zs+Y84PN0U2rVCFIvMoh\nmnVOXXWij6lFfE4fZG9R1YDONdwtYZNXTzZi0758Yif7+dG7gDnNYWfTRBLI\nGdw8ujBoSRpw0MOJ52nPtwq5qlya7G9ZYsyJBQczOCJzX2dhvGZ7gUEq7SW8\n7eQYTBmPOpxX7N+SoncpozXaItIRVUk4ZzEcKqzurZ79m+GEXpg3NwNvqpai\n1zm8O3JrgiReIqyeHHGh/8FaIfVQPJyFQSZO3GViHNJqaLTPB3PnLzNKDDG3\nKyDIq45b98xo+pWp4fCm2MXIqr5zGrBMZ6c8cvRy6pWs5VvR5MGy/GZQmGpL\naiaSlKDiE267eE+lx4T6KCOaNHCaFl8YRZqW+uIR+eb/obmrivvo5zOy7CoM\n0+F3Vy4lFwl7JhVRNC5dTap8h+JNDBjJSWLKEG/QyWzDKf4RkEKUtOJL0maF\nuNqM7klDIKKJWVQyASAhD2+CezNe8G2EssL4UPtDRe4qnwzXVTWx/BqB5DrV\nvzMH\r\n=5bGm\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.11","@financial-times/x-engine":"^1.0.0-beta.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.19_1563360756642_0.9458585501407943","host":"s3://npm-registry-packages"}},"0.0.1-alpha.20":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.20","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.20","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"1551bbf18c27b745ee528812c86ff757b8a6f055","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.20.tgz","fileCount":318,"integrity":"sha512-a39O4ifxE+x7U6U/giaXcSGEnE1xIQSpk0TluHQLNAC7IhHIH3L50gvEX5YmFIeu2zzhCk0XVQSw17+DZBlnKg==","signatures":[{"sig":"MEUCICD6njzamd9B3IKfTERoRyFKWYFdjsDdXwjZ9QGxm5lYAiEAhLtQ8IMIEOAMEdbHQzgwLUNfDTX1CQntKq5bDF3l50U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1239091,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdLxwaCRA9TVsSAnZWagAAZY4QAI5nYysRP7DAExIdiP+v\np5gliCs6wb5MHPkxHaHu2PAvtn6t1s9MWRnmDDqscgzuIAvAuEl9vvATQ/11\nJeD7vPX4MjE+g8GmskDpouXx1bXT9udWCnadRVm20vqlHXrKAJTI2j7mXa2T\n5W3lO8EQKPLNFG16jYJPb0PmCQ0iqmh4M32LenHtON9uSBYSPeP1iZeyZ9ui\npdyHrwxORJJ8oJfwJYrOwvWZjw4IMFB8dB5RSymBfLeZXnYBNZYOZKagAB5y\nVkZSU5N8Pukt1ooW8ASV/2qw02sqc7qy5acZxLFtfISyOnpS4Ki929w/VYZx\nGPIW3LyshiZayrv5jCb4wt3p1gO4DvIjcTia4Zrkigxu7ZWVou5eQd3sN2wO\no6kQ26DV7S+gEmzwmm3gG6lKviD59rk/ZOm5FdZd9nyUG61cWqRUGvzKO1a7\nGrLNDNWxM9coNJkHJKU2G1nN4cFDcpqskXzDNtDt0di1idhFhFAeneT3a5uD\nQudXmjeWOtbi7wH93jCPiYgaRILFglxz3xcw0f/Ys1n+bTjSGgg1foenrrac\nywqCL00vc7lTTAH6+juIp1EWMUVP1/125i9kFmL+akOqVGg7+8gcRkKqfGI1\n+2RBtrixbWJPgEtKIradTY4uicHsITLWhAmqh1ztCBICvj258zqUrsmK6M+j\n2995\r\n=+Fp9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.11","@financial-times/x-engine":"^1.0.0-beta.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.20_1563368474065_0.1913893580466417","host":"s3://npm-registry-packages"}},"0.0.1-alpha.22":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.22","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.22","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"4c848b8e57365839437080f49c8822953d69a98f","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.22.tgz","fileCount":318,"integrity":"sha512-LfGWRO5XcliZy/dY6h1YwCoqnUs9eEMwYIA1erhkVEWu7HN3XfiYwroqOJg7v23KIM41d/mZNINPxBdQw8ZxKA==","signatures":[{"sig":"MEUCIQDXBEARWIZbxDjHw2GmbKaW9E9zClZnxykOQxCKvvm4XgIgYGcm8z3RUdG0QVt51F4JdTg/y92axTmRFglYEA0QGdo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1239250,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdMJb8CRA9TVsSAnZWagAAodoQAKFKXmoHPo5xWRVV6Np7\nQXDrrxCzIpJU2WjVn1rWe2DoCT2ck4Q+Cq5Bwi+rPIjDjVM7Ctonl+Y3XbHi\nQXcIMgEgAsebKsb5AnrEdzm7qEjUUCjDoowf/JvLnR7RVe27SxSIQ3mD6gbw\nUXj3PXS8qyQYIJnmdmYfvyKBbQ1a7gQes8MDxmpP7MyCyaKSzft3ucQfsFgX\nz+2NcTzlyoX8GrdAVKx/AbvGIw8pMO1tWq5dQ9ZUem7sUsQ9pW41/QQdxTfp\nzbFewl1jZfIzEomwCFVjCSSch4hfgBSchYd616dXm/5FlqAY4d/H+1ZakDpd\nhKRrqq++gDLJQGhWj3T8B/6pjQ/1QZ5PVqYJwL94sWIeXT9UWHl8mgBa2c5d\nrEoYt6Sv2x7cnv17c+BLp9D/Z5q1qGQzSAUVrhoxWi0sZ/WIOokzrF6oy6YN\nWFgQuHvhQ+uZ3PS9e5dVr8ePLUu6YUa6uK4tGKpxw0qL8MzkUj3PwL5SEfVN\nKwkQ7YENpmAJ+15dQgRQZHWJaO7hM70dcFcA3t0RJq8U0dyPiB7yvPpSqlRq\niei2cLKxv8aBaxNS0PdumC91eJ5qnX5R4xhVMymSg/QbWYVING8jULzHkEA5\nJZfoRqWVRL4vv+rYLPIgAUVXjoyWsBqKeS3BkSj2MjHiAldQ4MMBrHdZejdi\nobmz\r\n=rVDI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.11","@financial-times/x-engine":"^1.0.0-beta.14"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.22_1563465467958_0.753917242809526","host":"s3://npm-registry-packages"}},"0.0.1-alpha.23":{"name":"@financial-times/x-audio","version":"0.0.1-alpha.23","keywords":["x-dash","x-audio"],"author":"","license":"ISC","_id":"@financial-times/x-audio@0.0.1-alpha.23","maintainers":[{"name":"aendrew","email":"aendrew@aendrew.com"},{"name":"axgy","email":"a@ax.gy"},{"name":"bobhaslett","email":"bob.haslett@ft.com"},{"name":"briggsc","email":"charlie.briggs@bbc.co.uk"},{"name":"chee","email":"chee@snoot.club"},{"name":"ft-internal-products","email":"ip.engineering@ft.com"},{"name":"i-like-robots","email":"matt+npm@maketea.co.uk"},{"name":"jakedchampion","email":"me@jakechampion.name"},{"name":"joannaskao","email":"joannaskao@gmail.com"},{"name":"mattandrews","email":"matt@mattandre.ws"},{"name":"notlee","email":"lee@leemoody.co.uk"},{"name":"quarterto","email":"bren@153.io"},{"name":"robinmarr-ft","email":"robin.marr@ft.com"},{"name":"rowanmanning","email":"accounts@rowanmanning.co.uk"},{"name":"sdbernard","email":"steve.bernard@ft.com"},{"name":"the-ft","email":"strategic.products+npm@ft.com"}],"homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"dist":{"shasum":"d6771d5cfbec2620d747bcd8df15c2a121bf4f12","tarball":"https://registry.npmjs.org/@financial-times/x-audio/-/x-audio-0.0.1-alpha.23.tgz","fileCount":318,"integrity":"sha512-gluIJqtrYihv2zQ7x33kCP9rJxJ0PpJ08eoUDVttKwqS+fiIDdYh//eW+j4naQ60xqYDHQe+Ji1fQFaQZa86DQ==","signatures":[{"sig":"MEQCIHeJquwFPojE4s9xWR9ZvmP8Y4K7qe5DniJaazbQMHfaAiAZyuBcQHrq9to259fd80fLHRTez72fgelKb1kW+m/M3g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":1281565,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdZ/OeCRA9TVsSAnZWagAA2EsP/1ryiy2UrXn3ve0qdNzG\nKVU86VzaVypEkDqSSFN3FVfSpOWaXhZr8bmc6+cAjvjbtkwBrFW3mCOGGZu7\n5Z5lX3Uy6qugqnFi0UA0uqsmoju8RKkjK0Pi0slDN8JY6C/9NYE9g1IRXzQq\ny9kNR6xQ1BxYAxMJZJOvKZhAUdgohj6Z1bR2kLm0TQqY0C57ygah1SU1nBJn\nUFNNwvzZQHeq4O2bT4Ic3dH326hHcYGzK+gHw21z4mJkuuJqEv0AgM9nyXmW\nmr3O8RVui6/PpIRMJYM4L2+PPdzoGiLdSyrASZY6UoadNkDNhOIrxYLaaYDY\n9BUP0EiaXq6DaoxJ2jQRBzzctuVDzu/gwOESrnc330uZRkWjCObSAq4xr8X7\nfoRmAqMLJzNht1SKAm/e+dCLZLiOc25tKtnXV+tkC4WrjjmiGaY2Yxjb7E6S\n75RitvAY9NtSuToxfoILp4bL5PVWToN6aQzRm6Q60Rlnj4MQCLtZLeKMZG8R\nps3w5+yzrN8zQxpgtQEI5QNyZvYOVSeGl/QGCSrHaK/KCDjW6NgAXOmv/b3S\nDPT8jligD5yA4gM/2U0KlP6agbm+yQxsGjXidpd/6FQEdYepcMcmFd7E+LNH\nx4RWxY7Dl5v0InVbSv8jyB6Vtwshmo5yfPRGZXNITzFFYnluKLVSCo69YD0l\nCxkZ\r\n=wkz4\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/Audio.cjs.js","style":"dist/Audio.css","module":"dist/Audio.esm.js","readme":"# x-audio\n\nThis module can be used to play an audio file via pluggable engines/players.\n\nIt comes bundled with a web audio player (via [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement)), but can be used with another engine such as in the native layer. The bundled engine uses a [Redux](https://redux.js.org/) to manage state.\n\nRedux was chosen as it is a well known method for updating state via distinct actions. x-audio implements middleware (found in `src/redux/player-logic.js`) which drives the [HTMLAudioElement](https://developer.mozilla.org/en-US/docs/Web/API/HTMLAudioElement). \n\nFor example, when redux receives a `REQUEST_PLAY` action, it will trigger `audioElement.play()`.\n\nThe module has two display modes, minimised and expanded. To hide the player simply do not render it in your app.\n\nAn example integration can be found in ft-app: \n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/index.js\n* https://github.com/Financial-Times/ft-app/blob/master/lib/components/audio/persistent-player.js\n\n## Requirements\n\nOrigami components:\n* `o-loading`\n* `o-typography`\n\n## Installation\n\nThis module is compatible with Node 6+ and is distributed on npm.\n\n```bash\nnpm install --save @financial-times/x-audio\n```\n\nThe [`x-engine`][engine] module is used to inject your chosen runtime into the component. Please read the `x-engine` documentation first if you are consuming `x-` components for the first time in your application.\n\n[engine]: https://github.com/Financial-Times/x-dash/tree/master/packages/x-engine\n\n\n## Usage\n\n\nThis component exports both the plain UI component and a factory function which returns the working audio player (under the hood this is the plain UI component hooked up to the redux store). The factory function is the `default` export.\n\n```jsx\nimport React from 'react';\n\n// Import the plain UI components\nimport { Audio } from '@financial-times/x-audio';\n\n// Render the UI component as usual\n<Audio {...props} />;\n\n\n// OR, Import a factory function which returns the component initialised with a Redux store\nimport createAudioPlayer from '@financial-times/x-audio';\n\n// initialise store and create component\nconst ConnectedPlayer = createAudioPlayer();\n\n// Render the component\n<ConnectedPlayer {...props} />;\n```\n\n```scss\n// within your app's sass file\n@import \"x-audio/dist/Audio\";\n```\n\nAll `x-` components are designed to be compatible with a variety of runtimes, not just React. Check out the [`x-engine`][engine] documentation for a list of recommended libraries and frameworks.\n\n[jsx-wtf]: https://jasonformat.com/wtf-is-jsx/\n\n### Properties\n\nThere are two types of property for x-audio. Ultimately these boil down to meta around the audio to be played, and `notifiers` to allow consumers to respond to state changes. They are detailed below.\n\n#### x-audio props\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`title`  | String | The title of the audio, e.g. ‘May 23rd’\n`seriesName`  | String | The series name, e.g. ‘News in Brief’\n`url` | String | The url of the audio file, e.g. ‘https://acast.com/audio.mp3’\n`onCloseClick`  | Function | Callback function for when the close button is clicked\n`imageDataSet` | Object | Object has `url`(String) and `resolutions`(Array) properties. The detail is below.\n=> `url` | String | URL of an image. It's passed to html `<img>` tag's `src` attribute.\n=> `resolutions`(optional) | Array | Array of Objects which has `url` and `resolution`. They are passed to html `<img>` tag's `srcset` attribute. e.g. `[{ url: 'image-url-for-the-resolution', resolution: '150w'}]`\n\n#### x-audio notifiers (note that these are only available on the default 'connected' export)\n\nFeature          | Type   | Notes\n-----------------|--------|----------------------------\n`notifiers.play`  | Function | Called when the audio state changes to playing\n`notifiers.pause`  | Function | Called when the audio state changes to paused\n\n## Flowcharts of the player working inside an app\n\n<img src=\"https://static.swimlanes.io/34376b01d50586ebe6b6c9c967c116d4.png\" alt=\"Swimlane for lifecycle of the player\" />\n\n\n<img src=\"https://static.swimlanes.io/44da5fea1037dd9bc2992d513ced821e.png\" alt=\"Swimlane diagram for user pressing pause in the player\" />\n\n\n<img src=\"https://static.swimlanes.io/21aa593db2ccfe8d4a43fd41c74906dc.png\" alt=\"Swimlane diagram for user presses pause from the lock screen\" />\n","browser":"dist/Audio.es5.js","engines":{"node":">= 6.0.0"},"scripts":{"build":"node rollup.js","start":"node rollup.js --watch","prepare":"bower install && npm run build"},"_npmUser":{"name":"the-ft","email":"strategic.products+npm@ft.com"},"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"_npmVersion":"6.4.1","description":"This module can be used to play an audio file via pluggable engines/players.","directories":{},"_nodeVersion":"8.15.1","dependencies":{"redux":"^4.0.1","hammerjs":"^2.0.8","classnames":"^2.2.6","prop-types":"^15.7.2","@financial-times/o-audio":"1.0.0-beta.12","@financial-times/x-engine":"^1.0.0-beta.15"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"readme.md","devDependencies":{"bower":"^1.8.8","node-sass":"^4.11.0","@financial-times/x-rollup":"file:../../packages/x-rollup","@financial-times/x-test-utils":"file:../../packages/x-test-utils"},"_npmOperationalInternal":{"tmp":"tmp/x-audio_0.0.1-alpha.23_1567093661940_0.860275643232979","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-04-18T14:39:59.656Z","modified":"2026-06-23T16:04:23.727Z","0.0.1-alpha.2":"2019-04-18T14:40:00.036Z","0.0.1-alpha.3":"2019-05-08T12:42:07.030Z","0.0.1-alpha.4":"2019-05-14T10:25:34.017Z","0.0.1-alpha.5":"2019-05-21T14:34:03.158Z","0.0.1-alpha.7":"2019-05-23T11:26:35.277Z","0.0.1-alpha.8":"2019-05-23T14:05:32.067Z","0.0.1-alpha.9":"2019-05-24T11:10:40.988Z","0.0.1-alpha.10":"2019-05-31T12:29:16.949Z","0.0.1-alpha.11":"2019-05-31T14:55:57.885Z","0.0.1-alpha.12":"2019-06-03T13:53:33.572Z","0.0.1-alpha.13":"2019-06-05T09:37:47.894Z","0.0.1-alpha.14":"2019-06-21T10:59:27.585Z","0.0.1-alpha.15":"2019-06-25T16:13:36.983Z","0.0.1-alpha.16":"2019-07-04T09:40:58.615Z","0.0.1-alpha.18":"2019-07-15T16:18:15.558Z","0.0.1-alpha.19":"2019-07-17T10:52:36.853Z","0.0.1-alpha.20":"2019-07-17T13:01:14.261Z","0.0.1-alpha.22":"2019-07-18T15:57:48.125Z","0.0.1-alpha.23":"2019-08-29T15:47:42.074Z"},"bugs":{"url":"https://github.com/Financial-Times/x-dash/issues"},"license":"ISC","homepage":"https://github.com/Financial-Times/x-dash/tree/master/components/x-audio","keywords":["x-dash"],"repository":{"url":"git+https://github.com/Financial-Times/x-dash.git","type":"git"},"description":"This module has these features and scope.","maintainers":[{"email":"code.management@ft.com","name":"the-ft"},{"email":"info+npm@rowanmanning.com","name":"rowanmanning"},{"email":"yay@chee.party","name":"chee"},{"email":"a@ax.gy","name":"alexwilson"},{"email":"howdy@aendra.com","name":"aendra"},{"email":"emma.lewis@ft.com","name":"emmalewis"},{"email":"lee@leemoody.co.uk","name":"notlee"},{"email":"hamza.samih@ft.com","name":"hamza.samih"},{"email":"robert.boulton@ft.com","name":"robertboulton"},{"email":"leila.micollier@ft.com","name":"leila.micollier"},{"email":"rob.godfrey@ft.com","name":"robgodfrey"}],"readme":"","readmeFilename":""}