{"bugs":{"url":"https://github.com/material-components/material-components-web/issues"},"dist":{"shasum":"b3a7bf159bf547e527d4b75cb40cecdc8157783f","tarball":"https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-3.0.0-alpha.0.tgz","fileCount":46,"integrity":"sha512-ZbXYAlEibzl6JN+EpFVs8QwTroAgcbZ6GIpa4maBCQfUF7tusgv1ECylyYqJXPQ4065N1tHVjTdvrcJnhu4cTA==","signatures":[{"sig":"MEUCIQDW6zXUZs+FovMj+5RpLIGQglRm4dWeEkQl/9BpKSsssQIgNUyw4EdSg8S10QjjHB64rVr9jGKL9L3aG920eB75LgM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":462857,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdAHp2CRA9TVsSAnZWagAAQ+cP/irgX6BGUDEezt2OcOgl\n8vyRVYdckxMnHrnw7hbrAB9EfI7Knn+3PE6UjFuGq8/RmzBAJNzwzxiVIblb\nojSYzoq+JvuaPeVN+/LSuMLJ1CUEg3hwcFs4XVf/LPpo5zxS+7SSl8O7lWlp\nPZEQl3OmxllP+mOzwIz3bNkQSqWN1ZZTBc0Lo4PeQHSzl5t02VA90A6887q7\n0M4ZnGk0ZewsaBV+eGV+RrAe6KMAiqR+G1aq5sEXsO/U39Tjla+fA/vjX2+U\nP7UoBWIAQYcngMaTpGFxANvuiF/n1xEi5WJKNKWc9yoK7Yir/54xjzEFMnj9\nY91ULw3GWYvWTbIKjT2uAI6EoaBa5Lk6p1jI25iwLo4g9/HnRg9FUG6bW6r/\n4cHZb2HAIam8xNFKx7nCZXmi04SpaFRS1iYU67SOc9nGRqPqcg2tLG3jRqwk\nl08P9FxS1UNzeWkR+pjD6NGZP0hZyJ85VA6WmIWSFkVMazORKWFeOjPNnTN7\nESlIwyAqNMp0SUkA5Cvwnn90sooluvt+Fytud+H28jI2KJYwlQn2DZTO3sgk\neWYzYm2hfZakXtlrSvbhYrWNmZEbNdTrdyLbpxXRoJbIp33rW8vgXxBeLK5X\ncNYMhinijqoKOMRCjkO0vARw3gt5KTOvvMa6t7JCZAdd9WDxXDtnDVKgG+H7\nNjhQ\r\n=t8Kg\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/mdc.tabScroller.js","name":"@material/tab-scroller","types":"dist/mdc.tabScroller.d.ts","module":"index.js","readme":"<!--docs:\ntitle: \"Tab Scroller\"\nlayout: detail\nsection: components\nexcerpt: \"Allows for smooth native and animated scrolling of tabs.\"\niconId: tabs\npath: /catalog/tabs/scroller/\n-->\n\n# Tab Scroller\n\nA Tab Scroller allows for smooth native and animated scrolling of tabs.\n\n## Design & API Documentation\n\n<ul class=\"icon-list\">\n  <li class=\"icon-list-item icon-list-item--spec\">\n    <a href=\"https://material.io/go/design-tabs#scrollable-tabs\">Material Design guidelines: Scrollable Tabs</a>\n  </li>\n  <li class=\"icon-list-item icon-list-item--link\">\n    <a href=\"https://material-components.github.io/material-components-web-catalog/#/component/tabs\">Demo</a>\n  </li>\n</ul>\n\n## Installation\n\n```\nnpm install @material/tab-scroller\n```\n\n## Basic Usage\n\n### HTML Structure\n\n```html\n<div class=\"mdc-tab-scroller\">\n  <div class=\"mdc-tab-scroller__scroll-area\">\n    <div class=\"mdc-tab-scroller__scroll-content\"></div>\n  </div>\n</div>\n```\n\n### Styles\n\n```scss\n@import \"@material/tab-scroller/mdc-tab-scroller\";\n```\n\n### JavaScript Instantiation\n\n```js\nimport {MDCTabScroller} from '@material/tab-scroller';\n\nconst tabScroller = new MDCTabScroller(document.querySelector('.mdc-tab-scroller'));\n```\n\n> See [Importing the JS component](../../docs/importing-js.md) for more information on how to import JavaScript.\n\n## Style Customization\n\n### CSS Classes\n\nCSS Class | Description\n--- | ---\n`mdc-tab-scroller` | Mandatory. Contains the tab scroller content.\n`mdc-tab-scroller__scroll-area` | Mandatory. Denotes the scrolling area.\n`mdc-tab-scroller__scroll-content` | Mandatory. Denotes the scrolling content.\n`mdc-tab-scroller--align-start` | Optional. Sets the elements inside the scroll content element to be aligned to the start of the scroll content element.\n`mdc-tab-scroller--align-end` | Optional. Sets the elements inside the scroll content element to be aligned to the end of the scroll content element.\n`mdc-tab-scroller--align-center` | Optional. Sets the elements inside the scroll content element to be aligned to the center of the scroll content element.\n\n> _NOTE_: The `align` modifier classes are only applicable when the contents do not meet or exceed the width of the Tab Scroller and Tab Bar (i.e., most commonly, when `mdc-tab--min-width` is used on each tab).\n\n## `MDCTabScroller` Methods\n\nMethod Signature | Description\n--- | ---\n`scrollTo(scrollX: number) => void` | Scrolls to the scrollX value.\n`incrementScroll(scrollX: number) => void` | Increments the current scroll value by the scrollX value.\n`getScrollPosition() => number` | Returns the current visual scroll position.\n`getScrollContentWidth() => number` | Returns the width of the scroll content element.\n\n## Usage within Web Frameworks\n\nIf you are using a JavaScript framework, such as React or Angular, you can create a Tab Scroller for your framework. Depending on your needs, you can use the _Simple Approach: Wrapping MDC Web Vanilla Components_, or the _Advanced Approach: Using Foundations and Adapters_. Please follow the instructions [here](../../docs/integrating-into-frameworks.md).\n\n### `MDCTabScrollerAdapter`\n\nMethod Signature | Description\n--- | ---\n`eventTargetMatchesSelector(eventTarget: EventTarget, selector: string) => boolean` | Returns `true` if the given event target satisfies the given CSS selector.\n`addClass(className: string) => void` | Adds a class to the root element.\n`addScrollAreaClass(className: string) => void` | Adds a class to the scroll area element.\n`removeClass(className: string) => void` | Removes a class from the root element.\n`setScrollAreaStyleProperty(property: string, value: string) => void` | Sets the given style property on the scroll area element.\n`setScrollContentStyleProperty(property: string, value: string) => void` | Sets the given style property on the scroll content element.\n`getScrollContentStyleValue(property: string) => string` | Returns the given style property value on the scroll content element.\n`setScrollAreaScrollLeft(scrollLeft: number) => void` | Sets the scroll area element's `scrollLeft`.\n`getScrollAreaScrollLeft() => number` | Returns the scroll area element's `scrollLeft`.\n`getScrollContentOffsetWidth() => number` | Returns the scroll content element's `offsetWidth`.\n`getScrollAreaOffsetWidth() => number` | Returns the scroll area element's `offsetWidth`.\n`computeScrollAreaClientRect() => ClientRect` | Returns the bounding client rect of the scroll area element.\n`computeScrollContentClientRect() => ClientRect` | Returns the bounding client rect of the scroll content element.\n`computeHorizontalScrollbarHeight() => number` | Returns the height of the browser's horizontal scrollbars (in px).\n\n#### `util` Functions\n\nMDC Tab Scroller provides a `util` module with functions to help implement adapter methods.\n\nFunction Signature | Description\n--- | ---\n`computeHorizontalScrollbarHeight(document: Document) => number` | Returns the height of the browser's horizontal scrollbars (in px).\n\n### `MDCTabScrollerFoundation`\n\nMethod Signature | Description\n--- | ---\n`getRTLScroller() => MDCTabScrollerRTL` | Creates an RTL Scroller instance for the current browser.\n`getScrollPosition() => number` | Returns the current visual scroll position.\n`handleInteraction() => void` | Responds to mouse, pointer, touch, and keyboard events.\n`handleTransitionEnd(evt: Event) => void` | Responds to a `transitionend` event on the `mdc-tab-scroller__scroll-content` element.\n`incrementScroll(scrollX: number) => void` | Increments the current scroll value by the `scrollX` value.\n`scrollTo(scrollX: number) => void` | Scrolls to the `scrollX` value.\n\n### `MDCTabScrollerRTL`\n\nAbstract class with three concrete implementations depending on the browser:\n\n* `MDCTabScrollerRTLDefault`\n* `MDCTabScrollerRTLNegative`\n* `MDCTabScrollerRTLReverse`\n\nMethod Signature | Description\n--- | ---\n`getAnimatingScrollPosition(scrollX: number, translateX: number) => number` | Returns the current scroll position during animation.\n`getScrollPositionRTL(translateX: number) => number` | Returns the number of px the user has scrolled horizontally, relative to the leading edge.\n`incrementScrollRTL(scrollX: number) => MDCTabScrollerAnimation` | Returns an object containing the values required to animate from the current scroll position to a new scroll position.\n`scrollToRTL(scrollX: number) => MDCTabScrollerAnimation` | Scrolls content horizontally to the given position in an RTL-friendly way.\n","gitHead":"094e507fcfb488303e5adec97f7f985b30e8567e","license":"MIT","_npmUser":{"name":"abhiomkar","email":"abhiomkar@gmail.com"},"homepage":"https://github.com/material-components/material-components-web#readme","keywords":["material components","material design","tab","scroller"],"repository":{"url":"git+https://github.com/material-components/material-components-web.git","type":"git"},"_npmVersion":"lerna/3.14.1/node@v11.9.0+x64 (darwin)","description":"The Material Components for the web tab scroller component","directories":{},"maintainers":[{"name":"abhiomkar","email":"abhiomkar@gmail.com"},{"name":"acdvorak","email":"acdvorak@gmail.com"},{"name":"aprigogin","email":"andrey.prigogin@gmail.com"},{"name":"azakus","email":"dfreedm2@gmail.com"},{"name":"bicknellr","email":"bicknellr@gmail.com"},{"name":"bonniez","email":"bonniez@google.com"},{"name":"bwobrien","email":"obrien.test@gmail.com"},{"name":"kfranqueiro","email":"kenneth.franqueiro@gmail.com"},{"name":"lynnjepsen","email":"lynnjepsen@google.com"},{"name":"material-admin","email":"lynnjepsen+npm@google.com"},{"name":"moog16","email":"mattgoo@gmail.com"},{"name":"patrickrodee","email":"prodee@google.com"},{"name":"williamernest","email":"williamernest@google.com"}],"sideEffects":false,"_nodeVersion":"11.9.0","dependencies":{"tslib":"^1.9.3","@material/dom":"^3.0.0-alpha.0","@material/tab":"^3.0.0-alpha.0","@material/base":"^1.0.0","@material/animation":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"readmeFilename":"README.md","_npmOperationalInternal":{"tmp":"tmp/tab-scroller_3.0.0-alpha.0_1560312437671_0.8328001995383862","host":"s3://npm-registry-packages"},"_id":"@material/tab-scroller@3.0.0-alpha.0","version":"3.0.0-alpha.0"}