<template>
<uni-shadow-root class="vant-tabs-index"><view :class="'custom-class '+(utils.bem('tabs', [type]))">
  <view :style="'z-index: '+(zIndex)+'; '+(wrapStyle)" :class="(utils.bem('tabs__wrap', { scrollable }))+' '+(type === 'line' && border ? 'van-hairline--top-bottom' : '')">
    <slot name="nav-left"></slot>

    <scroll-view :scroll-x="scrollable" scroll-with-animation :scroll-left="scrollLeft" :class="'van-tabs__scroll--'+(type)" :style="color ? 'border-color: ' + color : ''">
      <view :class="(utils.bem('tabs__nav', [type]))+' nav-class'">
        <view v-if="type === 'line'" class="van-tabs__line" :style="lineStyle"></view>
        <view v-for="(item,index) in (tabs)" :key="item.index" :data-index="index" :class="'van-ellipsis tab-class '+(index === active ? 'tab-active-class' : '')+' '+(utils.bem('tab', { active: index === active, disabled: item.disabled }))" :style="(color && index !== active && type === 'card' && !item.disabled ? 'color: ' + color : '')+' '+(color && index === active && type === 'card' ? ';background-color:' + color : '')+' '+(color ? ';border-color: ' + color : '')+' '+(scrollable ? ';flex-basis:' + (88 / swipeThreshold) + '%' : '')" @click="onTap">
          <view :class="'van-ellipsis '+(utils.bem('tab__title', { dot: item.dot }))" :style="item.titleStyle">
            {{ item.title }}
            <van-info v-if="item.info !== null" :info="item.info" custom-class="van-tab__title__info"></van-info>
          </view>
        </view>
      </view>
    </scroll-view>

    <slot name="nav-right"></slot>
  </view>
  <view class="van-tabs__content" @touchstart="onTouchStart" @touchmove="onTouchMove" @touchend="onTouchEnd" @touchcancel="onTouchEnd">
    <view class="van-tabs__track" :style="trackStyle">
      <slot></slot>
    </view>
  </view>
</view></uni-shadow-root>
</template>
<wxs src="../wxs/utils.wxs" module="utils"></wxs>
<script>
import VanInfo from '../info/index.vue'
global['__wxVueOptions'] = {components:{'van-info': VanInfo}}

global['__wxRoute'] = 'vant/tabs/index'
"use strict";

Object.defineProperty(exports, "__esModule", { value: true });
var component_1 = require('./../common/component.js');
var touch_1 = require('./../mixins/touch.js');
component_1.VantComponent({
    mixins: [touch_1.touch],
    classes: ['nav-class', 'tab-class', 'tab-active-class', 'line-class'],
    relation: {
        name: 'tab',
        type: 'descendant',
        linked: function linked(child) {
            this.child.push(child);
            this.updateTabs(this.data.tabs.concat(child.data));
        },
        unlinked: function unlinked(child) {
            var index = this.child.indexOf(child);
            var tabs = this.data.tabs;
            tabs.splice(index, 1);
            this.child.splice(index, 1);
            this.updateTabs(tabs);
        }
    },
    props: {
        color: String,
        sticky: Boolean,
        animated: Boolean,
        swipeable: Boolean,
        lineWidth: {
            type: Number,
            value: -1
        },
        lineHeight: {
            type: Number,
            value: -1
        },
        active: {
            type: Number,
            value: 0
        },
        type: {
            type: String,
            value: 'line'
        },
        border: {
            type: Boolean,
            value: true
        },
        duration: {
            type: Number,
            value: 0.3
        },
        zIndex: {
            type: Number,
            value: 1
        },
        swipeThreshold: {
            type: Number,
            value: 4
        },
        offsetTop: {
            type: Number,
            value: 0
        }
    },
    data: {
        tabs: [],
        lineStyle: '',
        scrollLeft: 0,
        scrollable: false,
        trackStyle: '',
        wrapStyle: '',
        position: ''
    },
    watch: {
        swipeThreshold: function swipeThreshold() {
            this.set({
                scrollable: this.child.length > this.data.swipeThreshold
            });
        },
        color: 'setLine',
        lineWidth: 'setLine',
        lineHeight: 'setLine',
        active: 'setActiveTab',
        animated: 'setTrack',
        offsetTop: 'setWrapStyle'
    },
    beforeCreate: function beforeCreate() {
        this.child = [];
    },
    mounted: function mounted() {
        var _this = this;
        this.setLine(true);
        this.setTrack();
        this.scrollIntoView();
        this.getRect('.van-tabs__wrap').then(function (rect) {
            _this.navHeight = rect.height;
            _this.observerContentScroll();
        });
    },
    destroyed: function destroyed() {
        this.createIntersectionObserver().disconnect();
    },
    methods: {
        updateTabs: function updateTabs(tabs) {
            tabs = tabs || this.data.tabs;
            this.set({
                tabs: tabs,
                scrollable: tabs.length > this.data.swipeThreshold
            });
            this.setActiveTab();
        },
        trigger: function trigger(eventName, index) {
            this.$emit(eventName, {
                index: index,
                title: this.data.tabs[index].title
            });
        },
        onTap: function onTap(event) {
            var index = event.currentTarget.dataset.index;
            if (this.data.tabs[index].disabled) {
                this.trigger('disabled', index);
            } else {
                this.trigger('click', index);
                this.setActive(index);
            }
        },
        setActive: function setActive(active) {
            if (active !== this.data.active) {
                this.trigger('change', active);
                this.set({ active: active });
                this.setActiveTab();
            }
        },
        setLine: function setLine(skipTransition) {
            var _this = this;
            if (this.data.type !== 'line') {
                return;
            }
            var _a = this.data,
                color = _a.color,
                active = _a.active,
                duration = _a.duration,
                lineWidth = _a.lineWidth,
                lineHeight = _a.lineHeight;
            this.getRect('.van-tab', true).then(function (rects) {
                var rect = rects[active];
                var width = lineWidth !== -1 ? lineWidth : rect.width / 2;
                var height = lineHeight !== -1 ? "height: " + lineHeight + "px;" : '';
                var left = rects.slice(0, active).reduce(function (prev, curr) {
                    return prev + curr.width;
                }, 0);
                left += (rect.width - width) / 2;
                var transition = skipTransition ? '' : "transition-duration: " + duration + "s; -webkit-transition-duration: " + duration + "s;";
                _this.set({
                    lineStyle: "\n            " + height + "\n            width: " + width + "px;\n            background-color: " + color + ";\n            -webkit-transform: translateX(" + left + "px);\n            transform: translateX(" + left + "px);\n            " + transition + "\n          "
                });
            });
        },
        setTrack: function setTrack() {
            var _this = this;
            var _a = this.data,
                animated = _a.animated,
                active = _a.active,
                duration = _a.duration;
            if (!animated) return '';
            this.getRect('.van-tabs__content').then(function (rect) {
                var width = rect.width;
                _this.set({
                    trackStyle: "\n            width: " + width * _this.child.length + "px;\n            left: " + -1 * active * width + "px;\n            transition: left " + duration + "s;\n            display: -webkit-box;\n            display: flex;\n          "
                });
                var props = { width: width, animated: animated };
                _this.child.forEach(function (item) {
                    item.set(props);
                });
            });
        },
        setActiveTab: function setActiveTab() {
            var _this = this;
            this.child.forEach(function (item, index) {
                var data = {
                    active: index === _this.data.active
                };
                if (data.active) {
                    data.inited = true;
                }
                if (data.active !== item.data.active) {
                    item.set(data);
                }
            });
            this.set({}, function () {
                _this.setLine();
                _this.setTrack();
                _this.scrollIntoView();
            });
        },
        // scroll active tab into view
        scrollIntoView: function scrollIntoView() {
            var _this = this;
            var _a = this.data,
                active = _a.active,
                scrollable = _a.scrollable;
            if (!scrollable) {
                return;
            }
            Promise.all([this.getRect('.van-tab', true), this.getRect('.van-tabs__nav')]).then(function (_a) {
                var tabRects = _a[0],
                    navRect = _a[1];
                var tabRect = tabRects[active];
                var offsetLeft = tabRects.slice(0, active).reduce(function (prev, curr) {
                    return prev + curr.width;
                }, 0);
                _this.set({
                    scrollLeft: offsetLeft - (navRect.width - tabRect.width) / 2
                });
            });
        },
        onTouchStart: function onTouchStart(event) {
            if (!this.data.swipeable) return;
            this.touchStart(event);
        },
        onTouchMove: function onTouchMove(event) {
            if (!this.data.swipeable) return;
            this.touchMove(event);
        },
        // watch swipe touch end
        onTouchEnd: function onTouchEnd() {
            if (!this.data.swipeable) return;
            var _a = this.data,
                active = _a.active,
                tabs = _a.tabs;
            var _b = this,
                direction = _b.direction,
                deltaX = _b.deltaX,
                offsetX = _b.offsetX;
            var minSwipeDistance = 50;
            if (direction === 'horizontal' && offsetX >= minSwipeDistance) {
                if (deltaX > 0 && active !== 0) {
                    this.setActive(active - 1);
                } else if (deltaX < 0 && active !== tabs.length - 1) {
                    this.setActive(active + 1);
                }
            }
        },
        setWrapStyle: function setWrapStyle() {
            var _a = this.data,
                offsetTop = _a.offsetTop,
                position = _a.position;
            var wrapStyle;
            switch (position) {
                case 'top':
                    wrapStyle = "\n            top: " + offsetTop + "px;\n            position: fixed;\n          ";
                    break;
                case 'bottom':
                    wrapStyle = "\n            top: auto;\n            bottom: 0;\n          ";
                    break;
                default:
                    wrapStyle = '';
            }
            // cut down `set`
            if (wrapStyle === this.data.wrapStyle) return;
            this.set({ wrapStyle: wrapStyle });
        },
        observerContentScroll: function observerContentScroll() {
            var _this = this;
            if (!this.data.sticky) {
                return;
            }
            var offsetTop = this.data.offsetTop;
            var windowHeight = wx.getSystemInfoSync().windowHeight;
            this.createIntersectionObserver().disconnect();
            this.createIntersectionObserver().relativeToViewport({ top: -(this.navHeight + offsetTop) }).observe('.van-tabs', function (res) {
                var top = res.boundingClientRect.top;
                if (top > offsetTop) {
                    return;
                }
                var position = res.intersectionRatio > 0 ? 'top' : 'bottom';
                _this.$emit('scroll', {
                    scrollTop: top + offsetTop,
                    isFixed: position === 'top'
                });
                _this.setPosition(position);
            });
            this.createIntersectionObserver().relativeToViewport({ bottom: -(windowHeight - 1 - offsetTop) }).observe('.van-tabs', function (res) {
                var _a = res.boundingClientRect,
                    top = _a.top,
                    bottom = _a.bottom;
                if (bottom < _this.navHeight) {
                    return;
                }
                var position = res.intersectionRatio > 0 ? 'top' : '';
                _this.$emit('scroll', {
                    scrollTop: top + offsetTop,
                    isFixed: position === 'top'
                });
                _this.setPosition(position);
            });
        },
        setPosition: function setPosition(position) {
            var _this = this;
            if (position !== this.data.position) {
                this.set({ position: position }).then(function () {
                    _this.setWrapStyle();
                });
            }
        }
    }
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwidG91Y2hfMSIsIm1peGlucyIsImNsYXNzZXMiLCJyZWxhdGlvbiIsIm5hbWUiLCJ0eXBlIiwibGlua2VkIiwiY2hpbGQiLCJ1bmxpbmtlZCIsImluZGV4IiwidGFicyIsInByb3BzIiwiY29sb3IiLCJzdGlja3kiLCJhbmltYXRlZCIsInN3aXBlYWJsZSIsImxpbmVXaWR0aCIsImxpbmVIZWlnaHQiLCJhY3RpdmUiLCJib3JkZXIiLCJkdXJhdGlvbiIsInpJbmRleCIsInN3aXBlVGhyZXNob2xkIiwib2Zmc2V0VG9wIiwiZGF0YSIsImxpbmVTdHlsZSIsInNjcm9sbExlZnQiLCJzY3JvbGxhYmxlIiwidHJhY2tTdHlsZSIsIndyYXBTdHlsZSIsInBvc2l0aW9uIiwid2F0Y2giLCJiZWZvcmVDcmVhdGUiLCJtb3VudGVkIiwiX3RoaXMiLCJyZWN0IiwiZGVzdHJveWVkIiwibWV0aG9kcyIsInVwZGF0ZVRhYnMiLCJ0cmlnZ2VyIiwidGl0bGUiLCJvblRhcCIsImV2ZW50Iiwic2V0QWN0aXZlIiwic2V0TGluZSIsIl9hIiwicmVjdHMiLCJ3aWR0aCIsImhlaWdodCIsImxlZnQiLCJwcmV2IiwiY3VyciIsInRyYW5zaXRpb24iLCJza2lwVHJhbnNpdGlvbiIsInNldFRyYWNrIiwiaXRlbSIsInNldEFjdGl2ZVRhYiIsInNjcm9sbEludG9WaWV3IiwiUHJvbWlzZSIsInRhYlJlY3RzIiwibmF2UmVjdCIsInRhYlJlY3QiLCJvZmZzZXRMZWZ0Iiwib25Ub3VjaFN0YXJ0Iiwib25Ub3VjaE1vdmUiLCJvblRvdWNoRW5kIiwiX2IiLCJkaXJlY3Rpb24iLCJkZWx0YVgiLCJvZmZzZXRYIiwibWluU3dpcGVEaXN0YW5jZSIsInNldFdyYXBTdHlsZSIsIm9ic2VydmVyQ29udGVudFNjcm9sbCIsIndpbmRvd0hlaWdodCIsInd4IiwidG9wIiwicmVzIiwic2Ny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YUFBQTtBQWhMQyxTQUFBO0FBK0xMOEMscUJBQWEsU0FBQSxXQUFBLENBQUEsUUFBQSxFQUFvQjtBQUM3QixnQkFBSTlDLFFBQUosSUFBQTtBQUNBLGdCQUFJSixhQUFhLEtBQUEsSUFBQSxDQUFqQixRQUFBLEVBQXFDO0FBQ2pDLHFCQUFBLEdBQUEsQ0FBUyxFQUFFQSxVQUFYLFFBQVMsRUFBVCxFQUFBLElBQUEsQ0FBc0MsWUFBWTtBQUM5Q0ksMEJBQUFBLFlBQUFBO0FBREosaUJBQUE7QUFHSDtBQUNKO0FBdE1JO0FBbEdhLENBQTFCcEMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjb21wb25lbnRfMSA9IHJlcXVpcmUoXCIuLi9jb21tb24vY29tcG9uZW50XCIpO1xudmFyIHRvdWNoXzEgPSByZXF1aXJlKFwiLi4vbWl4aW5zL3RvdWNoXCIpO1xuY29tcG9uZW50XzEuVmFudENvbXBvbmVudCh7XG4gICAgbWl4aW5zOiBbdG91Y2hfMS50b3VjaF0sXG4gICAgY2xhc3NlczogWyduYXYtY2xhc3MnLCAndGFiLWNsYXNzJywgJ3RhYi1hY3RpdmUtY2xhc3MnLCAnbGluZS1jbGFzcyddLFxuICAgIHJlbGF0aW9uOiB7XG4gICAgICAgIG5hbWU6ICd0YWInLFxuICAgICAgICB0eXBlOiAnZGVzY2VuZGFudCcsXG4gICAgICAgIGxpbmtlZDogZnVuY3Rpb24gKGNoaWxkKSB7XG4gICAgICAgICAgICB0aGlzLmNoaWxkLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUYWJzKHRoaXMuZGF0YS50YWJzLmNvbmNhdChjaGlsZC5kYXRhKSk7XG4gICAgICAgIH0sXG4gICAgICAgIHVubGlua2VkOiBmdW5jdGlvbiAoY2hpbGQpIHtcbiAgICAgICAgICAgIHZhciBpbmRleCA9IHRoaXMuY2hpbGQuaW5kZXhPZihjaGlsZCk7XG4gICAgICAgICAgICB2YXIgdGFicyA9IHRoaXMuZGF0YS50YWJzO1xuICAgICAgICAgICAgdGFicy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5jaGlsZC5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUYWJzKHRhYnMpO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBjb2xvcjogU3RyaW5nLFxuICAgICAgICBzdGlja3k6IEJvb2xlYW4sXG4gICAgICAgIGFuaW1hdGVkOiBCb29sZWFuLFxuICAgICAgICBzd2lwZWFibGU6IEJvb2xlYW4sXG4gICAgICAgIGxpbmVXaWR0aDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IC0xXG4gICAgICAgIH0sXG4gICAgICAgIGxpbmVIZWlnaHQ6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHZhbHVlOiAtMVxuICAgICAgICB9LFxuICAgICAgICBhY3RpdmU6IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHZhbHVlOiAwXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IHtcbiAgICAgICAgICAgIHR5cGU6IFN0cmluZyxcbiAgICAgICAgICAgIHZhbHVlOiAnbGluZSdcbiAgICAgICAgfSxcbiAgICAgICAgYm9yZGVyOiB7XG4gICAgICAgICAgICB0eXBlOiBCb29sZWFuLFxuICAgICAgICAgICAgdmFsdWU6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZHVyYXRpb246IHtcbiAgICAgICAgICAgIHR5cGU6IE51bWJlcixcbiAgICAgICAgICAgIHZhbHVlOiAwLjNcbiAgICAgICAgfSxcbiAgICAgICAgekluZGV4OiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICB2YWx1ZTogMVxuICAgICAgICB9LFxuICAgICAgICBzd2lwZVRocmVzaG9sZDoge1xuICAgICAgICAgICAgdHlwZTogTnVtYmVyLFxuICAgICAgICAgICAgdmFsdWU6IDRcbiAgICAgICAgfSxcbiAgICAgICAgb2Zmc2V0VG9wOiB7XG4gICAgICAgICAgICB0eXBlOiBOdW1iZXIsXG4gICAgICAgICAgICB2YWx1ZTogMFxuICAgICAgICB9XG4gICAgfSxcbiAgICBkYXRhOiB7XG4gICAgICAgIHRhYnM6IFtdLFxuICAgICAgICBsaW5lU3R5bGU6ICcnLFxuICAgICAgICBzY3JvbGxMZWZ0OiAwLFxuICAgICAgICBzY3JvbGxhYmxlOiBmYWxzZSxcbiAgICAgICAgdHJhY2tTdHlsZTogJycsXG4gICAgICAgIHdyYXBTdHlsZTogJycsXG4gICAgICAgIHBvc2l0aW9uOiAnJ1xuICAgIH0sXG4gICAgd2F0Y2g6IHtcbiAgICAgICAgc3dpcGVUaHJlc2hvbGQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICBzY3JvbGxhYmxlOiB0aGlzLmNoaWxkLmxlbmd0aCA+IHRoaXMuZGF0YS5zd2lwZVRocmVzaG9sZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIGNvbG9yOiAnc2V0TGluZScsXG4gICAgICAgIGxpbmVXaWR0aDogJ3NldExpbmUnLFxuICAgICAgICBsaW5lSGVpZ2h0OiAnc2V0TGluZScsXG4gICAgICAgIGFjdGl2ZTogJ3NldEFjdGl2ZVRhYicsXG4gICAgICAgIGFuaW1hdGVkOiAnc2V0VHJhY2snLFxuICAgICAgICBvZmZzZXRUb3A6ICdzZXRXcmFwU3R5bGUnXG4gICAgfSxcbiAgICBiZWZvcmVDcmVhdGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdGhpcy5jaGlsZCA9IFtdO1xuICAgIH0sXG4gICAgbW91bnRlZDogZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICB0aGlzLnNldExpbmUodHJ1ZSk7XG4gICAgICAgIHRoaXMuc2V0VHJhY2soKTtcbiAgICAgICAgdGhpcy5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICB0aGlzLmdldFJlY3QoJy52YW4tdGFic19fd3JhcCcpLnRoZW4oZnVuY3Rpb24gKHJlY3QpIHtcbiAgICAgICAgICAgIF90aGlzLm5hdkhlaWdodCA9IHJlY3QuaGVpZ2h0O1xuICAgICAgICAgICAgX3RoaXMub2JzZXJ2ZXJDb250ZW50U2Nyb2xsKCk7XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAgZGVzdHJveWVkOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKS5kaXNjb25uZWN0KCk7XG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIHVwZGF0ZVRhYnM6IGZ1bmN0aW9uICh0YWJzKSB7XG4gICAgICAgICAgICB0YWJzID0gdGFicyB8fCB0aGlzLmRhdGEudGFicztcbiAgICAgICAgICAgIHRoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICB0YWJzOiB0YWJzLFxuICAgICAgICAgICAgICAgIHNjcm9sbGFibGU6IHRhYnMubGVuZ3RoID4gdGhpcy5kYXRhLnN3aXBlVGhyZXNob2xkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlVGFiKCk7XG4gICAgICAgIH0sXG4gICAgICAgIHRyaWdnZXI6IGZ1bmN0aW9uIChldmVudE5hbWUsIGluZGV4KSB7XG4gICAgICAgICAgICB0aGlzLiRlbWl0KGV2ZW50TmFtZSwge1xuICAgICAgICAgICAgICAgIGluZGV4OiBpbmRleCxcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5kYXRhLnRhYnNbaW5kZXhdLnRpdGxlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25UYXA6IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICAgICAgdmFyIGluZGV4ID0gZXZlbnQuY3VycmVudFRhcmdldC5kYXRhc2V0LmluZGV4O1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS50YWJzW2luZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMudHJpZ2dlcignZGlzYWJsZWQnLCBpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyaWdnZXIoJ2NsaWNrJywgaW5kZXgpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlKGluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0QWN0aXZlOiBmdW5jdGlvbiAoYWN0aXZlKSB7XG4gICAgICAgICAgICBpZiAoYWN0aXZlICE9PSB0aGlzLmRhdGEuYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50cmlnZ2VyKCdjaGFuZ2UnLCBhY3RpdmUpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0KHsgYWN0aXZlOiBhY3RpdmUgfSk7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBY3RpdmVUYWIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0TGluZTogZnVuY3Rpb24gKHNraXBUcmFuc2l0aW9uKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS50eXBlICE9PSAnbGluZScpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLmRhdGEsIGNvbG9yID0gX2EuY29sb3IsIGFjdGl2ZSA9IF9hLmFjdGl2ZSwgZHVyYXRpb24gPSBfYS5kdXJhdGlvbiwgbGluZVdpZHRoID0gX2EubGluZVdpZHRoLCBsaW5lSGVpZ2h0ID0gX2EubGluZUhlaWdodDtcbiAgICAgICAgICAgIHRoaXMuZ2V0UmVjdCgnLnZhbi10YWInLCB0cnVlKS50aGVuKGZ1bmN0aW9uIChyZWN0cykge1xuICAgICAgICAgICAgICAgIHZhciByZWN0ID0gcmVjdHNbYWN0aXZlXTtcbiAgICAgICAgICAgICAgICB2YXIgd2lkdGggPSBsaW5lV2lkdGggIT09IC0xID8gbGluZVdpZHRoIDogcmVjdC53aWR0aCAvIDI7XG4gICAgICAgICAgICAgICAgdmFyIGhlaWdodCA9IGxpbmVIZWlnaHQgIT09IC0xID8gXCJoZWlnaHQ6IFwiICsgbGluZUhlaWdodCArIFwicHg7XCIgOiAnJztcbiAgICAgICAgICAgICAgICB2YXIgbGVmdCA9IHJlY3RzXG4gICAgICAgICAgICAgICAgICAgIC5zbGljZSgwLCBhY3RpdmUpXG4gICAgICAgICAgICAgICAgICAgIC5yZWR1Y2UoZnVuY3Rpb24gKHByZXYsIGN1cnIpIHsgcmV0dXJuIHByZXYgKyBjdXJyLndpZHRoOyB9LCAwKTtcbiAgICAgICAgICAgICAgICBsZWZ0ICs9IChyZWN0LndpZHRoIC0gd2lkdGgpIC8gMjtcbiAgICAgICAgICAgICAgICB2YXIgdHJhbnNpdGlvbiA9IHNraXBUcmFuc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgID8gJydcbiAgICAgICAgICAgICAgICAgICAgOiBcInRyYW5zaXRpb24tZHVyYXRpb246IFwiICsgZHVyYXRpb24gKyBcInM7IC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogXCIgKyBkdXJhdGlvbiArIFwicztcIjtcbiAgICAgICAgICAgICAgICBfdGhpcy5zZXQoe1xuICAgICAgICAgICAgICAgICAgICBsaW5lU3R5bGU6IFwiXFxuICAgICAgICAgICAgXCIgKyBoZWlnaHQgKyBcIlxcbiAgICAgICAgICAgIHdpZHRoOiBcIiArIHdpZHRoICsgXCJweDtcXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBcIiArIGNvbG9yICsgXCI7XFxuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoXCIgKyBsZWZ0ICsgXCJweCk7XFxuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKFwiICsgbGVmdCArIFwicHgpO1xcbiAgICAgICAgICAgIFwiICsgdHJhbnNpdGlvbiArIFwiXFxuICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0VHJhY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLmRhdGEsIGFuaW1hdGVkID0gX2EuYW5pbWF0ZWQsIGFjdGl2ZSA9IF9hLmFjdGl2ZSwgZHVyYXRpb24gPSBfYS5kdXJhdGlvbjtcbiAgICAgICAgICAgIGlmICghYW5pbWF0ZWQpXG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgdGhpcy5nZXRSZWN0KCcudmFuLXRhYnNfX2NvbnRlbnQnKS50aGVuKGZ1bmN0aW9uIChyZWN0KSB7XG4gICAgICAgICAgICAgICAgdmFyIHdpZHRoID0gcmVjdC53aWR0aDtcbiAgICAgICAgICAgICAgICBfdGhpcy5zZXQoe1xuICAgICAgICAgICAgICAgICAgICB0cmFja1N0eWxlOiBcIlxcbiAgICAgICAgICAgIHdpZHRoOiBcIiArIHdpZHRoICogX3RoaXMuY2hpbGQubGVuZ3RoICsgXCJweDtcXG4gICAgICAgICAgICBsZWZ0OiBcIiArIC0xICogYWN0aXZlICogd2lkdGggKyBcInB4O1xcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGxlZnQgXCIgKyBkdXJhdGlvbiArIFwicztcXG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHZhciBwcm9wcyA9IHsgd2lkdGg6IHdpZHRoLCBhbmltYXRlZDogYW5pbWF0ZWQgfTtcbiAgICAgICAgICAgICAgICBfdGhpcy5jaGlsZC5mb3JFYWNoKGZ1bmN0aW9uIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0KHByb3BzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBzZXRBY3RpdmVUYWI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB0aGlzLmNoaWxkLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGluZGV4KSB7XG4gICAgICAgICAgICAgICAgdmFyIGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZTogaW5kZXggPT09IF90aGlzLmRhdGEuYWN0aXZlXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5pbml0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5hY3RpdmUgIT09IGl0ZW0uZGF0YS5hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXQoZGF0YSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnNldCh7fSwgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIF90aGlzLnNldExpbmUoKTtcbiAgICAgICAgICAgICAgICBfdGhpcy5zZXRUcmFjaygpO1xuICAgICAgICAgICAgICAgIF90aGlzLnNjcm9sbEludG9WaWV3KCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gc2Nyb2xsIGFjdGl2ZSB0YWIgaW50byB2aWV3XG4gICAgICAgIHNjcm9sbEludG9WaWV3OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgICAgICAgICAgdmFyIF9hID0gdGhpcy5kYXRhLCBhY3RpdmUgPSBfYS5hY3RpdmUsIHNjcm9sbGFibGUgPSBfYS5zY3JvbGxhYmxlO1xuICAgICAgICAgICAgaWYgKCFzY3JvbGxhYmxlKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgUHJvbWlzZS5hbGwoW1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UmVjdCgnLnZhbi10YWInLCB0cnVlKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFJlY3QoJy52YW4tdGFic19fbmF2JylcbiAgICAgICAgICAgIF0pLnRoZW4oZnVuY3Rpb24gKF9hKSB7XG4gICAgICAgICAgICAgICAgdmFyIHRhYlJlY3RzID0gX2FbMF0sIG5hdlJlY3QgPSBfYVsxXTtcbiAgICAgICAgICAgICAgICB2YXIgdGFiUmVjdCA9IHRhYlJlY3RzW2FjdGl2ZV07XG4gICAgICAgICAgICAgICAgdmFyIG9mZnNldExlZnQgPSB0YWJSZWN0c1xuICAgICAgICAgICAgICAgICAgICAuc2xpY2UoMCwgYWN0aXZlKVxuICAgICAgICAgICAgICAgICAgICAucmVkdWNlKGZ1bmN0aW9uIChwcmV2LCBjdXJyKSB7IHJldHVybiBwcmV2ICsgY3Vyci53aWR0aDsgfSwgMCk7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0KHtcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsTGVmdDogb2Zmc2V0TGVmdCAtIChuYXZSZWN0LndpZHRoIC0gdGFiUmVjdC53aWR0aCkgLyAyXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgb25Ub3VjaFN0YXJ0OiBmdW5jdGlvbiAoZXZlbnQpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRhLnN3aXBlYWJsZSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aGlzLnRvdWNoU3RhcnQoZXZlbnQpO1xuICAgICAgICB9LFxuICAgICAgICBvblRvdWNoTW92ZTogZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuZGF0YS5zd2lwZWFibGUpXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgdGhpcy50b3VjaE1vdmUoZXZlbnQpO1xuICAgICAgICB9LFxuICAgICAgICAvLyB3YXRjaCBzd2lwZSB0b3VjaCBlbmRcbiAgICAgICAgb25Ub3VjaEVuZDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGEuc3dpcGVhYmxlKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHZhciBfYSA9IHRoaXMuZGF0YSwgYWN0aXZlID0gX2EuYWN0aXZlLCB0YWJzID0gX2EudGFicztcbiAgICAgICAgICAgIHZhciBfYiA9IHRoaXMsIGRpcmVjdGlvbiA9IF9iLmRpcmVjdGlvbiwgZGVsdGFYID0gX2IuZGVsdGFYLCBvZmZzZXRYID0gX2Iub2Zmc2V0WDtcbiAgICAgICAgICAgIHZhciBtaW5Td2lwZURpc3RhbmNlID0gNTA7XG4gICAgICAgICAgICBpZiAoZGlyZWN0aW9uID09PSAnaG9yaXpvbnRhbCcgJiYgb2Zmc2V0WCA+PSBtaW5Td2lwZURpc3RhbmNlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRlbHRhWCA+IDAgJiYgYWN0aXZlICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlKGFjdGl2ZSAtIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChkZWx0YVggPCAwICYmIGFjdGl2ZSAhPT0gdGFicy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWN0aXZlKGFjdGl2ZSArIDEpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0V3JhcFN0eWxlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB2YXIgX2EgPSB0aGlzLmRhdGEsIG9mZnNldFRvcCA9IF9hLm9mZnNldFRvcCwgcG9zaXRpb24gPSBfYS5wb3NpdGlvbjtcbiAgICAgICAgICAgIHZhciB3cmFwU3R5bGU7XG4gICAgICAgICAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndG9wJzpcbiAgICAgICAgICAgICAgICAgICAgd3JhcFN0eWxlID0gXCJcXG4gICAgICAgICAgICB0b3A6IFwiICsgb2Zmc2V0VG9wICsgXCJweDtcXG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XFxuICAgICAgICAgIFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdib3R0b20nOlxuICAgICAgICAgICAgICAgICAgICB3cmFwU3R5bGUgPSBcIlxcbiAgICAgICAgICAgIHRvcDogYXV0bztcXG4gICAgICAgICAgICBib3R0b206IDA7XFxuICAgICAgICAgIFwiO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB3cmFwU3R5bGUgPSAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGN1dCBkb3duIGBzZXRgXG4gICAgICAgICAgICBpZiAod3JhcFN0eWxlID09PSB0aGlzLmRhdGEud3JhcFN0eWxlKVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIHRoaXMuc2V0KHsgd3JhcFN0eWxlOiB3cmFwU3R5bGUgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIG9ic2VydmVyQ29udGVudFNjcm9sbDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgICAgIGlmICghdGhpcy5kYXRhLnN0aWNreSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBvZmZzZXRUb3AgPSB0aGlzLmRhdGEub2Zmc2V0VG9wO1xuICAgICAgICAgICAgdmFyIHdpbmRvd0hlaWdodCA9IHd4LmdldFN5c3RlbUluZm9TeW5jKCkud2luZG93SGVpZ2h0O1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVJbnRlcnNlY3Rpb25PYnNlcnZlcigpLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKVxuICAgICAgICAgICAgICAgIC5yZWxhdGl2ZVRvVmlld3BvcnQoeyB0b3A6IC0odGhpcy5uYXZIZWlnaHQgKyBvZmZzZXRUb3ApIH0pXG4gICAgICAgICAgICAgICAgLm9ic2VydmUoJy52YW4tdGFicycsIGZ1bmN0aW9uIChyZXMpIHtcbiAgICAgICAgICAgICAgICB2YXIgdG9wID0gcmVzLmJvdW5kaW5nQ2xpZW50UmVjdC50b3A7XG4gICAgICAgICAgICAgICAgaWYgKHRvcCA+IG9mZnNldFRvcCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHZhciBwb3NpdGlvbiA9IHJlcy5pbnRlcnNlY3Rpb25SYXRpbyA+IDAgPyAndG9wJyA6ICdib3R0b20nO1xuICAgICAgICAgICAgICAgIF90aGlzLiRlbWl0KCdzY3JvbGwnLCB7XG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbFRvcDogdG9wICsgb2Zmc2V0VG9wLFxuICAgICAgICAgICAgICAgICAgICBpc0ZpeGVkOiBwb3NpdGlvbiA9PT0gJ3RvcCdcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBfdGhpcy5zZXRQb3NpdGlvbihwb3NpdGlvbik7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlSW50ZXJzZWN0aW9uT2JzZXJ2ZXIoKVxuICAgICAgICAgICAgICAgIC5yZWxhdGl2ZVRvVmlld3BvcnQoeyBib3R0b206IC0od2luZG93SGVpZ2h0IC0gMSAtIG9mZnNldFRvcCkgfSlcbiAgICAgICAgICAgICAgICAub2JzZXJ2ZSgnLnZhbi10YWJzJywgZnVuY3Rpb24gKHJlcykge1xuICAgICAgICAgICAgICAgIHZhciBfYSA9IHJlcy5ib3VuZGluZ0NsaWVudFJlY3QsIHRvcCA9IF9hLnRvcCwgYm90dG9tID0gX2EuYm90dG9tO1xuICAgICAgICAgICAgICAgIGlmIChib3R0b20gPCBfdGhpcy5uYXZIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB2YXIgcG9zaXRpb24gPSByZXMuaW50ZXJzZWN0aW9uUmF0aW8gPiAwID8gJ3RvcCcgOiAnJztcbiAgICAgICAgICAgICAgICBfdGhpcy4kZW1pdCgnc2Nyb2xsJywge1xuICAgICAgICAgICAgICAgICAgICBzY3JvbGxUb3A6IHRvcCArIG9mZnNldFRvcCxcbiAgICAgICAgICAgICAgICAgICAgaXNGaXhlZDogcG9zaXRpb24gPT09ICd0b3AnXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgX3RoaXMuc2V0UG9zaXRpb24ocG9zaXRpb24pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICAgIHNldFBvc2l0aW9uOiBmdW5jdGlvbiAocG9zaXRpb24pIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICBpZiAocG9zaXRpb24gIT09IHRoaXMuZGF0YS5wb3NpdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0KHsgcG9zaXRpb246IHBvc2l0aW9uIH0pLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICAgICBfdGhpcy5zZXRXcmFwU3R5bGUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0pO1xuIl0sImZpbGUiOiJpbmRleC5qcyJ9
export default global['__wxComponents']['vant/tabs/index']
</script>
<style platform="mp-weixin">
@import '../common/index.css';.van-tabs{position:relative;-webkit-tap-highlight-color:transparent}.van-tabs__wrap{position:absolute;top:0;right:0;left:0;display:-webkit-flex;display:flex;background-color:#fff}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__wrap--scrollable .van-tab{-webkit-flex:0 0 22%;flex:0 0 22%}.van-tabs__scroll--card{border:1px solid #f44;border-radius:2px}.van-tabs__nav{position:relative;display:-webkit-flex;display:flex;-webkit-user-select:none;user-select:none}.van-tabs__nav--line{height:100%}.van-tabs__nav--card{height:30px}.van-tabs__nav--card .van-tab{line-height:30px;color:#f44;border-right:1px solid #f44}.van-tabs__nav--card .van-tab:last-child{border-right:none}.van-tabs__nav--card .van-tab.van-tab--active{color:#fff;background-color:#f44}.van-tabs__line{position:absolute;bottom:0;left:0;z-index:1;height:3px;background-color:#f44;border-radius:3px}.van-tabs--line{padding-top:44px}.van-tabs--line .van-tabs__wrap{height:44px}.van-tabs--card{padding-top:30px;margin:0 15px}.van-tabs--card .van-tabs__wrap{height:30px}.van-tabs__content{overflow:hidden}.van-tab,.van-tabs__track{position:relative}.van-tab{min-width:0;padding:0 5px;font-size:14px;line-height:44px;color:#7d7e80;text-align:center;cursor:pointer;box-sizing:border-box;-webkit-flex:1;flex:1}.van-tab--active{font-weight:500;color:#333}.van-tab--disabled{color:#c9c9c9}.van-tab__title--dot:after{display:inline-block;width:8px;height:8px;vertical-align:middle;background-color:#f44;border-radius:100%;content:""}.van-tab__title__info{position:relative!important;top:-1px!important;display:inline-block;-webkit-transform:translateX(0)!important;transform:translateX(0)!important}
</style>