|
|
2 ani în urmă | |
|---|---|---|
| .. | ||
| dist | 2 ani în urmă | |
| CHANGELOG.md | 2 ani în urmă | |
| LICENSE | 2 ani în urmă | |
| README.md | 2 ani în urmă | |
| _index.scss | 2 ani în urmă | |
| _mixins.import.scss | 2 ani în urmă | |
| _mixins.scss | 2 ani în urmă | |
| _variables.import.scss | 2 ani în urmă | |
| _variables.scss | 2 ani în urmă | |
| adapter.d.ts | 2 ani în urmă | |
| adapter.js | 2 ani în urmă | |
| adapter.js.map | 2 ani în urmă | |
| component.d.ts | 2 ani în urmă | |
| component.js | 2 ani în urmă | |
| component.js.map | 2 ani în urmă | |
| constants.d.ts | 2 ani în urmă | |
| constants.js | 2 ani în urmă | |
| constants.js.map | 2 ani în urmă | |
| foundation.d.ts | 2 ani în urmă | |
| foundation.js | 2 ani în urmă | |
| foundation.js.map | 2 ani în urmă | |
| index.d.ts | 2 ani în urmă | |
| index.js | 2 ani în urmă | |
| index.js.map | 2 ani în urmă | |
| mdc-tab-scroller.import.scss | 2 ani în urmă | |
| mdc-tab-scroller.scss | 2 ani în urmă | |
| package.json | 2 ani în urmă | |
| rtl-default-scroller.d.ts | 2 ani în urmă | |
| rtl-default-scroller.js | 2 ani în urmă | |
| rtl-default-scroller.js.map | 2 ani în urmă | |
| rtl-negative-scroller.d.ts | 2 ani în urmă | |
| rtl-negative-scroller.js | 2 ani în urmă | |
| rtl-negative-scroller.js.map | 2 ani în urmă | |
| rtl-reverse-scroller.d.ts | 2 ani în urmă | |
| rtl-reverse-scroller.js | 2 ani în urmă | |
| rtl-reverse-scroller.js.map | 2 ani în urmă | |
| rtl-scroller.d.ts | 2 ani în urmă | |
| rtl-scroller.js | 2 ani în urmă | |
| rtl-scroller.js.map | 2 ani în urmă | |
| types.d.ts | 2 ani în urmă | |
| types.js | 2 ani în urmă | |
| types.js.map | 2 ani în urmă | |
| util.d.ts | 2 ani în urmă | |
| util.js | 2 ani în urmă | |
| util.js.map | 2 ani în urmă | |
A Tab Scroller allows for smooth native and animated scrolling of tabs.
npm install @material/tab-scroller
<div class="mdc-tab-scroller">
<div class="mdc-tab-scroller__scroll-area">
<div class="mdc-tab-scroller__scroll-content"></div>
</div>
</div>
@use "@material/tab-scroller/mdc-tab-scroller";
import {MDCTabScroller} from '@material/tab-scroller';
const tabScroller = new MDCTabScroller(document.querySelector('.mdc-tab-scroller'));
See Importing the JS component for more information on how to import JavaScript.
| CSS Class | Description |
|---|---|
mdc-tab-scroller |
Mandatory. Contains the tab scroller content. |
mdc-tab-scroller__scroll-area |
Mandatory. Denotes the scrolling area. |
mdc-tab-scroller__scroll-content |
Mandatory. Denotes the scrolling content. |
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. |
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. |
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. |
NOTE: The
alignmodifier 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, whenmdc-tab--min-widthis used on each tab).
| Mixin | Description |
|---|---|
transition($duration-ms, $timing-function) |
Sets the scroll animation duration and, optionally, the timing function. |
MDCTabScroller Methods| Method Signature | Description |
|---|---|
scrollTo(scrollX: number) => void |
Scrolls to the scrollX value. |
incrementScroll(scrollX: number) => void |
Increments the current scroll value by the scrollX value using animation. |
incrementScrollImmediate(scrollX: number) => void |
Increments the current scroll value by the scrollX value without animation. |
getScrollPosition() => number |
Returns the current visual scroll position. |
getScrollContentWidth() => number |
Returns the width of the scroll content element. |
If 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.
MDCTabScrollerAdapter| Method Signature | Description |
|---|---|
eventTargetMatchesSelector(eventTarget: EventTarget, selector: string) => boolean |
Returns true if the given event target satisfies the given CSS selector. |
addClass(className: string) => void |
Adds a class to the root element. |
addScrollAreaClass(className: string) => void |
Adds a class to the scroll area element. |
removeClass(className: string) => void |
Removes a class from the root element. |
setScrollAreaStyleProperty(property: string, value: string) => void |
Sets the given style property on the scroll area element. |
setScrollContentStyleProperty(property: string, value: string) => void |
Sets the given style property on the scroll content element. |
getScrollContentStyleValue(property: string) => string |
Returns the given style property value on the scroll content element. |
setScrollAreaScrollLeft(scrollLeft: number) => void |
Sets the scroll area element's scrollLeft. |
getScrollAreaScrollLeft() => number |
Returns the scroll area element's scrollLeft. |
getScrollContentOffsetWidth() => number |
Returns the scroll content element's offsetWidth. |
getScrollAreaOffsetWidth() => number |
Returns the scroll area element's offsetWidth. |
computeScrollAreaClientRect() => ClientRect |
Returns the bounding client rect of the scroll area element. |
computeScrollContentClientRect() => ClientRect |
Returns the bounding client rect of the scroll content element. |
computeHorizontalScrollbarHeight() => number |
Returns the height of the browser's horizontal scrollbars (in px). |
util FunctionsMDC Tab Scroller provides a util module with functions to help implement adapter methods.
| Function Signature | Description |
|---|---|
computeHorizontalScrollbarHeight(document: Document) => number |
Returns the height of the browser's horizontal scrollbars (in px). |
MDCTabScrollerFoundation| Method Signature | Description |
|---|---|
getRTLScroller() => MDCTabScrollerRTL |
Creates an RTL Scroller instance for the current browser. |
getScrollPosition() => number |
Returns the current visual scroll position. |
handleInteraction() => void |
Responds to mouse, pointer, touch, and keyboard events. |
handleTransitionEnd(evt: Event) => void |
Responds to a transitionend event on the mdc-tab-scroller__scroll-content element. |
incrementScroll(scrollX: number) => void |
Increments the current scroll value by the scrollX value. |
scrollTo(scrollX: number) => void |
Scrolls to the scrollX value. |
MDCTabScrollerRTLAbstract class with three concrete implementations depending on the browser:
MDCTabScrollerRTLDefaultMDCTabScrollerRTLNegativeMDCTabScrollerRTLReverse| Method Signature | Description |
|---|---|
getAnimatingScrollPosition(scrollX: number, translateX: number) => number |
Returns the current scroll position during animation. |
getScrollPositionRTL(translateX: number) => number |
Returns the number of px the user has scrolled horizontally, relative to the leading edge. |
incrementScrollRTL(scrollX: number) => MDCTabScrollerAnimation |
Returns an object containing the values required to animate from the current scroll position to a new scroll position. |
scrollToRTL(scrollX: number) => MDCTabScrollerAnimation |
Scrolls content horizontally to the given position in an RTL-friendly way. |