{"_id":"react-native-scrollable-mixin","_rev":"36-6a7debfce04fab0b6f07e34ee1931aa5","name":"react-native-scrollable-mixin","description":"A standard interface for your scrollable React Native components, making it easier to compose components.","dist-tags":{"latest":"1.0.1"},"versions":{"0.0.1":{"name":"react-native-scrollable-mixin","version":"0.0.1","description":"Makes your scrollable React Native components conform to a standard interface, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"https://github.com/650Industries/react-native-scrollable-mixin"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/650Industries/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/650Industries/react-native-scrollable-mixin","gitHead":"5c8e66daf8103adb7a24f81bea4a0969c1b696c1","_id":"react-native-scrollable-mixin@0.0.1","_shasum":"97320bc39b69c34b6ba00adb29db064821f92a0d","_from":".","_npmVersion":"2.7.5","_nodeVersion":"1.6.4","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"dist":{"shasum":"97320bc39b69c34b6ba00adb29db064821f92a0d","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-0.0.1.tgz","integrity":"sha512-osTRGV25PFhqLO5J3iub60vjigbput4mAqAJpHp0oEBPxOe/eA1GgJ86Fhqa3JAHhNjWxPTQOzzmYLSSN8UCBA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIH+oqE/gfGTp481h5BGmuXlQVg+QixQXQ9iyB75DlnBzAiB/jGeKKHG1SnefuVEH/KzTzTe9/MMFe3ygDlO9eYYyMQ=="}]},"directories":{}},"0.0.2":{"name":"react-native-scrollable-mixin","version":"0.0.2","description":"Makes your scrollable React Native components conform to a standard interface, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"https://github.com/650Industries/react-native-scrollable-mixin"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/650Industries/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/650Industries/react-native-scrollable-mixin","gitHead":"3768b723a3da70f6991f7a79be478e443b86d2ec","_id":"react-native-scrollable-mixin@0.0.2","_shasum":"74ea827d16cc1062fdb0ff41040d3d4b5f8e426f","_from":".","_npmVersion":"2.7.5","_nodeVersion":"1.6.4","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"}],"dist":{"shasum":"74ea827d16cc1062fdb0ff41040d3d4b5f8e426f","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-0.0.2.tgz","integrity":"sha512-SXDtXfk2XZbRaxPe+2TkqLLmicimQfG7hFpSDF6MrfCU+7iX+Pco6PbeaqHD4siK2yIF7fVpGwWs2vShWMCiLg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEDiopSunZiTwwq7IEGfAuys9m/Sq09SbhjhkcjjnUWYAiEAg6CFflSlKncgaFz+3w6aAV5fM5qLxQpn/zDSlr1y7IA="}]},"directories":{}},"0.0.3":{"name":"react-native-scrollable-mixin","version":"0.0.3","description":"A standard interface for your scrollable React Native components, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/exponentjs/react-native-scrollable-mixin.git"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/exponentjs/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/exponentjs/react-native-scrollable-mixin","gitHead":"3b8b916be42ff706f3131857a49ea66be16d4c7d","_id":"react-native-scrollable-mixin@0.0.3","_shasum":"ebeba7264466b28e7ad4e66976fde5f73271f5c3","_from":".","_npmVersion":"2.11.1","_nodeVersion":"2.2.1","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"ebeba7264466b28e7ad4e66976fde5f73271f5c3","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-0.0.3.tgz","integrity":"sha512-lAVG/yAY4zB8cH6ZhtlRWUuimBqfdYTKE+muvebgohvTxdkSkpTpkcHy8aAZcIGg4Qc+ZUsX51K46uMQQb1G6A==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCRkC4nGy1xnahh/oBzWx/w9dnDPFa/YyUtK9qLfx6cFQIgasMRKtc1D7ZIhWAmdvTTJWkE+LAdWWBJlaFionboadk="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"ccheever","email":"ccheever@gmail.com"}],"directories":{}},"0.0.4":{"name":"react-native-scrollable-mixin","version":"0.0.4","description":"A standard interface for your scrollable React Native components, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/exponentjs/react-native-scrollable-mixin.git"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/exponentjs/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/exponentjs/react-native-scrollable-mixin","gitHead":"b03b1d3f10a6421255c3b9d02fa0406840ad8fc1","_id":"react-native-scrollable-mixin@0.0.4","_shasum":"ea3e43e5d72d2a5f2863c6e931f26ba911e27047","_from":".","_npmVersion":"2.11.3","_nodeVersion":"2.3.3","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"ea3e43e5d72d2a5f2863c6e931f26ba911e27047","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-0.0.4.tgz","integrity":"sha512-HBUsdCIZ+8zLBJW8hZ9DFjVixXHxTEIRe/H5H6EHst53k/QUDWZ7tMJY/PFmipZEcR8GeEmAKaEg86qjEq4N7Q==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIAPY9Oks98GMouUw7+dVW4CJP4e9IZ84J0odTYYPHzQJAiEAxvmXRnWBPWGnOwW9IezY5U+DYjmSW0O9egP5PXE3vJ8="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"ccheever","email":"ccheever@gmail.com"}],"directories":{}},"0.0.5":{"name":"react-native-scrollable-mixin","version":"0.0.5","description":"A standard interface for your scrollable React Native components, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/exponentjs/react-native-scrollable-mixin.git"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/exponentjs/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/exponentjs/react-native-scrollable-mixin","gitHead":"c397d65d6457b6a0caa6ad12c48d38300ef4b0d8","_id":"react-native-scrollable-mixin@0.0.5","_shasum":"fa86a6d2970acb695494570d68149b93a23c0c70","_from":".","_npmVersion":"2.11.3","_nodeVersion":"2.3.3","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"fa86a6d2970acb695494570d68149b93a23c0c70","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-0.0.5.tgz","integrity":"sha512-RwC2klVoPDyHjoKzBbZaX/SlmhAWo8kyBuUJJODjzvV5kxtSlDMlt6UuFzM4Vw3QetCI1cxLk5D9ISfF+rpXAQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDibgnEQDSQn2/xgsMQzqBfIOe4Ai9VJ8/Iuadk5i09cAiA12dCwk+BN1k5J4V9fcciplMONLmaE0gSv+K0xXPlJYw=="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"ccheever","email":"ccheever@gmail.com"}],"directories":{}},"1.0.0":{"name":"react-native-scrollable-mixin","version":"1.0.0","description":"A standard interface for your scrollable React Native components, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/exponentjs/react-native-scrollable-mixin.git"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/exponentjs/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/exponentjs/react-native-scrollable-mixin","gitHead":"b9add3f807a3b3710881abe07058c71d601c4a8d","_id":"react-native-scrollable-mixin@1.0.0","_shasum":"5d70974158ebc3bbfddb164d9c566810ba539406","_from":".","_npmVersion":"2.11.3","_nodeVersion":"2.3.3","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"5d70974158ebc3bbfddb164d9c566810ba539406","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-1.0.0.tgz","integrity":"sha512-KVkAQbUjoqd1aqJLptDzmX9XS9amiz/uNfGdlZ6xcNQWujA0jfS0BxQp8/7woYj6p8KNlIJLBdFSRHneKZ8DQQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIB7W+BFBjan6wIoxrgLFHdqDSOTcHwxPns/TsvViyVZkAiEA/MU2WqFbW61kneBH2EqqP1dBO6vWLjC+UiwbPVEgu30="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"ccheever","email":"ccheever@gmail.com"}],"directories":{}},"1.0.1":{"name":"react-native-scrollable-mixin","version":"1.0.1","description":"A standard interface for your scrollable React Native components, making it easier to compose components.","main":"ScrollableMixin.js","scripts":{"test":"jest"},"repository":{"type":"git","url":"git+https://github.com/exponentjs/react-native-scrollable-mixin.git"},"keywords":["react-native","scroll","scrollview","mixin"],"author":{"name":"James Ide"},"license":"MIT","bugs":{"url":"https://github.com/exponentjs/react-native-scrollable-mixin/issues"},"homepage":"https://github.com/exponentjs/react-native-scrollable-mixin","gitHead":"8278de26a156ee98de6d09e2d6162e824ac7e647","_id":"react-native-scrollable-mixin@1.0.1","_shasum":"34a32167b64248594154fd0d6a8b03f22740548e","_from":".","_npmVersion":"2.11.3","_nodeVersion":"2.3.3","_npmUser":{"name":"ide","email":"ide+npm@jameside.com"},"dist":{"shasum":"34a32167b64248594154fd0d6a8b03f22740548e","tarball":"https://registry.npmjs.org/react-native-scrollable-mixin/-/react-native-scrollable-mixin-1.0.1.tgz","integrity":"sha512-haw7VtcK0Vg1p7CTE8vzhltICPhfuzLUNR1m9Rh55VYEGkD3o765Y5YTu88iA32uV/hMhJUopP5Tex/SvNidoA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFhgJj28JRpa2XLnqCJ0mcvshqMGhnR+iqFXSVJem8jaAiEAyfnGelY3XPUlluD3gB5VrDKwhk8m1lId1jA0r5tpTYg="}]},"maintainers":[{"name":"ide","email":"ide+npm@jameside.com"},{"name":"ccheever","email":"ccheever@gmail.com"}],"directories":{}}},"readme":"# ScrollableMixin\n\nScrollableMixin lets your scrollable React Native components conform to a standard interface, making it easier to compose components. This lets you compose different types of ScrollView-like components while preserving the `ScrollView` API, including methods like `scrollTo`.\n\nSee [react-native-scrollable-decorator](https://github.com/exponentjs/react-native-scrollable-decorator) for the decorator version of this mixin.\n\n[![npm package](https://nodei.co/npm/react-native-scrollable-mixin.png?downloads=true&downloadRank=true&stars=true)](https://nodei.co/npm/react-native-scrollable-mixin/)\n\n## Installation\n```\nnpm install react-native-scrollable-mixin\n```\n\n## Usage\n\nAdd ScrollableMixin to your scrollable React components and implement `getScrollResponder()`, which must return the underlying scrollable component's scroll responder.\n\n## With JavaScript classes\n\nUse `Object.assign` to copy ScrollableMixin's functions to your class's prototype as instance methods:\n\n```js\nclass InfiniteScrollView extends React.Component {\n  static propTypes = {\n    ...ScrollView.propTypes,\n    renderScrollComponent: PropTypes.func.isRequired\n  };\n\n  /**\n   * IMPORTANT: You must return the scroll responder of the underlying\n   * scrollable component from getScrollResponder() when using ScrollableMixin.\n   */\n  getScrollResponder() {\n    return this._scrollView.getScrollResponder();\n  }\n\n  setNativeProps(props) {\n    this._scrollView.setNativeProps(props);\n  }\n\n  render() {\n    let { renderScrollComponent, ...props } = this.props;\n    return React.cloneElement(renderScrollComponent(props), {\n      ref: component => { this._scrollView = component; },\n    });\n  }\n}\n\n// Mix in ScrollableMixin's methods as instance methods\nObject.assign(InfiniteScrollView.prototype, ScrollableMixin);\n```\n\n### With `React.createClass`\n\n```js\nlet ScrollableMixin = require('react-native-scrollable-mixin');\n\nlet InfiniteScrollView = React.createClass({\n  mixins: [ScrollableMixin],\n\n  propTypes: {\n    ...ScrollView.propTypes,\n    renderScrollComponent: PropTypes.func.isRequired,\n  },\n\n  /**\n   * IMPORTANT: You must return the scroll responder of the underlying\n   * scrollable component from getScrollResponder() when using ScrollableMixin.\n   */\n  getScrollResponder() {\n    return this._scrollView.getScrollResponder();\n  },\n\n  setNativeProps(props) {\n    this._scrollView.setNativeProps(props);\n  },\n\n  render() {\n    var {\n      renderScrollComponent,\n      ...props\n    } = this.props;\n    return React.cloneElement(renderScrollComponent(props), {\n      ref: component => { this._scrollView = component; },\n    });\n  },\n});\n```\n\n## Features\n\nBy mixing in ScrollableMixin, your custom component gets the `ScrollView` API. For example:\n\n```js\nclass App extends React.Component {\n  render() {\n    return (\n      <ListView\n        ref={component => this._scrollView = component}\n        renderScrollView={props => <InfiniteScrollView {...props} />}\n        dataSource={...}\n        renderRow={...}\n      />\n    );\n  }\n\n  _scrollToTop() {\n    // By having all scrollable components conform to ScrollableMixin's\n    // standard, calling `scrollTo` on your top-level scrollable component will\n    // successfully scroll the underlying scroll view.\n    this._scrollView.scrollTo(0, 0);\n  }\n}\n```\n","maintainers":[{"email":"ide+npm@jameside.com","name":"ide"},{"email":"ccheever@gmail.com","name":"ccheever"}],"time":{"modified":"2022-06-26T06:59:48.707Z","created":"2015-04-09T22:25:16.335Z","0.0.1":"2015-04-09T22:25:16.335Z","0.0.2":"2015-04-17T05:21:43.701Z","0.0.3":"2015-06-14T01:41:32.138Z","0.0.4":"2015-07-09T07:30:40.303Z","0.0.5":"2015-07-09T08:04:02.049Z","1.0.0":"2015-07-09T20:48:17.452Z","1.0.1":"2015-07-17T01:03:03.065Z"},"homepage":"https://github.com/exponentjs/react-native-scrollable-mixin","keywords":["react-native","scroll","scrollview","mixin"],"repository":{"type":"git","url":"git+https://github.com/exponentjs/react-native-scrollable-mixin.git"},"author":{"name":"James Ide"},"bugs":{"url":"https://github.com/exponentjs/react-native-scrollable-mixin/issues"},"license":"MIT","readmeFilename":"README.md"}