{"version":3,"sources":["webpack:///../components/common/title-bar/index.scss?6592","webpack:///../components/common/title-bar/index.scss","webpack:///../assets/img/icon/left-arrow.png","webpack:///../components/common/embedded-failure/index.scss?9ff6","webpack:///../components/common/embedded-failure/index.scss","webpack:///../components/common/embedded-failure/imgs sync ^\\.\\/.*\\.png$","webpack:///../components/common/embedded-failure/imgs/empty-address.png","webpack:///../components/common/embedded-failure/imgs/empty-aftersale.png","webpack:///../components/common/embedded-failure/imgs/empty-cart.png","webpack:///../components/common/embedded-failure/imgs/empty-coupon-douyin.png","webpack:///../components/common/embedded-failure/imgs/empty-coupon.png","webpack:///../components/common/embedded-failure/imgs/empty-express.png","webpack:///../components/common/embedded-failure/imgs/empty-order.png","webpack:///../components/common/embedded-failure/imgs/empty-product.png","webpack:///../components/common/embedded-failure/imgs/empty-shop.png","webpack:///../components/common/embedded-failure/imgs/failure.png","webpack:///../components/common/embedded-failure/imgs/find-product-fail.png","webpack:///../components/common/embedded-failure/imgs/not-your-order.png","webpack:///../components/common/embedded-failure/imgs/time-fail.png","webpack:///../components/button/index.scss?9f55","webpack:///../components/button/index.scss","webpack:///../node_modules/@better-scroll/core/dist/core.esm.js","webpack:///../node_modules/core-js/modules/es.array.map.js","webpack:///../components/common/title-bar/index.tsx","webpack:///../utils/theme.ts","webpack:///../components/common/embedded-failure/index.tsx","webpack:///../components/button/index.tsx"],"names":["content","module","i","options","transform","undefined","locals","exports","___CSS_LOADER_URL___0___","urlEscape","push","map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","extendStatics","d","b","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__assign","assign","t","s","n","arguments","length","call","apply","warn","msg","console","error","inBrowser","window","ua","navigator","userAgent","toLowerCase","isWeChatDevTools","test","isAndroid","indexOf","getNow","performance","now","timing","navigationStart","Date","extend","target","rest","_i","source","key","isUndef","v","elementStyle","document","createElement","style","vendor","transformNames","webkit","Moz","O","ms","standard","prefixStyle","charAt","toUpperCase","substr","getElement","el","querySelector","addEvent","type","fn","capture","addEventListener","passive","removeEvent","removeEventListener","offset","left","top","offsetLeft","offsetTop","offsetParent","transition","hasPerspective","hasTouch","hasTransition","transitionTimingFunction","transitionDuration","transitionDelay","transformOrigin","transitionEnd","eventTypeMap","touchstart","touchmove","touchend","mousedown","mousemove","mouseup","getRect","SVGElement","rect","getBoundingClientRect","width","height","offsetWidth","offsetHeight","preventDefaultExceptionFn","exceptions","tagExceptionFn","click","event","eventSource","changedTouches","ev","posSrc","screenX","screenY","clientX","clientY","MouseEvent","bubbles","cancelable","createEvent","initEvent","forwardedTouchEvent","_constructed","dispatchEvent","ease","swipe","swipeBounce","bounce","windowCompat","noop","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","oRequestAnimationFrame","callback","setTimeout","interval","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","oCancelAnimationFrame","clearTimeout","noop$1","val","sharedPropertyDefinition","enumerable","configurable","get","set","EventEmitter","names","events","eventTypes","registerType","on","context","hasType","once","_this","magic","args","off","count","splice","trigger","ret","len","eventsCopy","slice","event_1","forEach","destroy","types","_","JSON","stringify","EventRegister","wrapper","addDOMEvents","removeDOMEvents","handleDOMEvents","eventOperation","name","handleEvent","eventType","some","handler","Options","startX","startY","scrollX","scrollY","freeScroll","directionLockThreshold","eventPassthrough","dblclick","tap","bottom","right","bounceTime","momentum","momentumLimitTime","momentumLimitDistance","swipeTime","swipeBounceTime","deceleration","flickLimitTime","flickLimitDistance","resizePolling","probeType","stopPropagation","preventDefault","preventDefaultException","tagName","tagException","HWCompositing","useTransition","bindToWrapper","disableMouse","disableTouch","autoBlur","merge","process","translateZ","resolveBounce","makeMap","ActionsHandler","hooks","_a","wrapperEvents","targetEvents","shouldRegisterTouch","shouldRegisterMouse","bind","start","move","end","wrapperEventRegister","targetEventRegister","beforeHandler","setInitiated","initiated","_eventType","button","beforeStart","point","touches","pointX","pageX","pointY","pageY","deltaX","deltaY","scrollLeft","documentElement","pageXOffset","body","scrollTop","pageYOffset","pX","pY","clientWidth","clientHeight","translaterMetaData","x","y","Translater","getComputedPosition","matrix","getComputedStyle","split","translate","transformStyle","transformFnName","transformFnArgUnit","transformFnArg","beforeTranslate","join","Base","translater","endPoint","setPending","pending","setForceStopped","forceStopped","timer","Transition","_super","startProbe","probe","pos","transitionTime","time","easing","timeFunction","startPoint","easingFn","isSlient","_reflow","stop","beforeForceStop","forceStop","Animation","animate","duration","startTime","destTime","step","newPoint","startValue","endValue","_b","_c","_d","Behavior","children","currentPos","startPos","direction","movingDirection","dist","delta","hasScroll","newPos","minScrollPos","maxScrollPos","bounces","momentumInfo","absDist","Math","abs","wrapperSize","destination","current","lowerMargin","upperMargin","distance","speed","momentumData","rate","max","min","round","updateDirection","absStartPos","refresh","size","position","isWrapperStatic","wrapperRect","contentRect","contentSize","relativeOffset","scrollable","updatePosition","getCurrentPos","checkInBoundary","adjustPosition","inBoundary","roundPos","updateStartPos","updateAbsStartPos","resetStartPos","getAbsDist","PassthroughHandlers","DirectionMap","DirectionLockAction","reset","directionLocked","checkMovingDirection","absDistX","absDistY","computeDirectionLock","handleEventPassthrough","adjustDelta","handleMap","ScrollerActions","scrollBehaviorX","scrollBehaviorY","actionsHandler","animater","directionLockAction","enabled","bindActionsHandler","handleStart","handleMove","handleEnd","handleClick","timestamp","moved","beforeMove","checkMomentum","newX","newY","scrollStart","dispatchScroll","scroll","endTime","beforeEnd","scrollEnd","createBehaviorOptions","bsOptions","extraProp","reduce","prev","cur","bubbling","sourceEvent","targetEvent","concat","Scroller","_e","element","animaterOptions","defineProperty","createAnimater","actions","resizeHandler","resize","resizeRegister","transitionEndRegister","init","bindTranslater","bindAnimater","bindActions","togglePointerEvents","updatePositions","resetPosition","beforeScrollStart","touchEnd","checkClick","scrollCancel","checkFlick","flick","meta","swiper","momentumX","momentumY","scrollTo","_dblclick","dblclickTrigged","lastClickTime","delay","eventName","resizeTimeout","pointerEvents","node","isBScrollContainer","wrapperOffset","scrollBy","extraTransform","isSilent","ignoreDisMoveForSamePos","scrollToElement","offsetX","offsetY","targetEle","getOffset","getPos","wrapperPos","scrollBehavior","xInBoundary","yInBoundary","enable","disable","propertiesConfig","sourceKey","BScroll","plugins","use","ctor","pluginName","plugin","pluginsMap","applyOrder","scroller","eventBubbling","handleAutoBlur","innerRefresh","proxy","applyPlugins","sort","a","applyOrderMap","item","activeElement","blur","obj","lastKey","pop","getProperty","value","temp","setProperty","propertiesProxy","eventRegister","$","$map","arrayMethodHasSpeciesSupport","arrayMethodUsesToLength","HAS_SPECIES_SUPPORT","USES_TO_LENGTH","proto","forced","callbackfn","TitleBar","props","singleOption","env","isInToutiaoProduct","showNotToutiaoPrd","urlParams","hide_custom_title_bar","isInMobile","className","cx","customClass","showBack","onClick","onBackButtonClicked","title","onOptionItemSelected","addThemeClass","isInAweme","classList","add","isInToutiao","isInToutiaoLite","isInVideo","isInHotsoon","isInSuper","query","app","isInDouyin","EmbeddedFailure","showRetry","onRetry","src","require","message","douyin","Button","memo","disabled","sizeClass","typeClass","defaultProps"],"mappings":"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","file":"staticV3/js/74391d77.js","sourcesContent":["\nvar content = require(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Imports\nvar urlEscape = require(\"../../../node_modules/css-loader/dist/runtime/url-escape.js\");\nvar ___CSS_LOADER_URL___0___ = urlEscape(require(\"../../../assets/img/icon/left-arrow.png\"));\n\n// Module\nexports.push([module.id, \".title-bar{position:relative;top:0;height:1.17333rem;width:100%;background:#ffffff;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;justify-content:space-between;-webkit-box-align:stretch;-webkit-align-items:stretch;-moz-box-align:stretch;align-items:stretch;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;-moz-box-orient:horizontal;-moz-box-direction:normal;flex-direction:row;-webkit-flex-shrink:0;flex-shrink:0;z-index:1;-webkit-box-shadow:var(--title-shadow);-moz-box-shadow:var(--title-shadow);box-shadow:var(--title-shadow)}.title-bar__back-button{background:url(\" + ___CSS_LOADER_URL___0___ + \") no-repeat;background-position:left;-webkit-background-size:24px 24px;-moz-background-size:24px;background-size:24px;height:100%;width:1.17333rem;margin-left:0.32rem}.title-bar__title{position:absolute;font-size:0.42667rem;font-weight:bold;color:#262626;left:50%;top:50%;-webkit-transform:translateX(-50%) translateY(-50%);-moz-transform:translateX(-50%) translateY(-50%);-o-transform:translateX(-50%) translateY(-50%);transform:translateX(-50%) translateY(-50%)}.title-bar__option{font-size:0.37333rem;color:#262626;margin-right:0.26667rem;padding-left:0.10667rem;padding-right:0.10667rem;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center}\\n\", \"\"]);\n\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABIBAMAAACnw650AAAAMFBMVEVHcEw3NzcmJiYnJycmJiYmJiYnJycmJiYmJiYmJiYoKCgkJCQnJycmJiYqKiomJiZ3mWksAAAAD3RSTlMABFFA6uPxXvj3ZyrYvjBmhADdAAAAlElEQVRIx2NgGAVYgfSqjYQV2cw8R1CNcP7/v4TUMKr+//+FkCLm+P8ETWI0+///vzMBRUJAg74UElBkCjSoSYCg1/5/USDstf/uAoS99kORCK85jXpt1GuUeY1hDxFeY1hJ2GtEKiLKOqIcTlQQEBeYREULURFMXFIZ9eCoB8nxoDMxHqRO9UpURU1clU9c42FEAQD/mcZ9HqhmFAAAAABJRU5ErkJggg==\"","\nvar content = require(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../../node_modules/postcss-loader/src/index.js!../../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \".failure--embedded{text-align:center}.failure--embedded__img{width:6.58667rem;margin-top:4.02667rem}.failure--embedded__words{margin-top:0.21333rem;color:#a6a6a6;font-size:0.34667rem}.failure--embedded__btn{display:inline-block;width:2.56rem;height:0.85333rem;line-height:0.85333rem;text-align:center;margin-top:0.42667rem;font-size:0.37333rem;color:#737373;position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.failure--embedded__btn::after{content:' ';pointer-events:none;position:absolute;z-index:0;top:0;left:0;border:1Px solid #e8e8e8;border-all:1Px solid #e8e8e8;width:100%;height:100%;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-o-transform-origin:0 0;transform-origin:0 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}@media (-webkit-min-device-pixel-ratio: 2) and (-webkit-max-device-pixel-ratio: 2.99){.failure--embedded__btn::after{-webkit-border-radius:-webkit-calc(20px * 2);-moz-border-radius:-moz-calc(20px * 2);border-radius:calc(0.53333rem * 2);width:200%;height:200%;-webkit-transform:scale(0.5);-moz-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5)}}@media (-webkit-min-device-pixel-ratio: 3){.failure--embedded__btn::after{-webkit-border-radius:-webkit-calc(20px * 3);-moz-border-radius:-moz-calc(20px * 3);border-radius:calc(0.53333rem * 3);width:300%;height:300%;-webkit-transform:scale(0.333);-moz-transform:scale(0.333);-o-transform:scale(0.333);transform:scale(0.333)}}.failure--embedded__btn.douyin{-webkit-border-radius:2px;-moz-border-radius:2px;border-radius:0.05333rem}.failure--embedded__btn.douyin.hair-line.all:after{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:0.10667rem}[data-dpr=\\\"3\\\"] .failure--embedded__btn.douyin.hair-line.all:after{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:0.16rem}\\n\", \"\"]);\n\n","var map = {\n\t\"./empty-address.png\": 156,\n\t\"./empty-aftersale.png\": 157,\n\t\"./empty-cart.png\": 158,\n\t\"./empty-coupon-douyin.png\": 159,\n\t\"./empty-coupon.png\": 160,\n\t\"./empty-express.png\": 161,\n\t\"./empty-order.png\": 162,\n\t\"./empty-product.png\": 163,\n\t\"./empty-shop.png\": 164,\n\t\"./failure.png\": 165,\n\t\"./find-product-fail.png\": 166,\n\t\"./not-your-order.png\": 167,\n\t\"./time-fail.png\": 168\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 155;","module.exports = __webpack_public_path__ + \"staticV3/img/d99eea54.empty-address.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/694b2ec7.empty-aftersale.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/7b2c4d7a.empty-cart.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/d4e8b6f8.empty-coupon-douyin.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/7c562bf0.empty-coupon.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/c81ecdcb.empty-express.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/61881355.empty-order.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/3c9ca031.empty-product.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/9b3cfa39.empty-shop.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/b90ea7e4.failure.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/f6cffced.find-product-fail.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/baa35400.not-your-order.png\";","module.exports = __webpack_public_path__ + \"staticV3/img/509d6988.time-fail.png\";","\nvar content = require(\"!!../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\nif(typeof content === 'string') content = [[module.id, content, '']];\n\nvar transform;\nvar insertInto;\n\n\n\nvar options = {\"hmr\":true}\n\noptions.transform = transform\noptions.insertInto = undefined;\n\nvar update = require(\"!../../node_modules/style-loader/lib/addStyles.js\")(content, options);\n\nif(content.locals) module.exports = content.locals;\n\nif(module.hot) {\n\tmodule.hot.accept(\"!!../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js!./index.scss\", function() {\n\t\tvar newContent = require(\"!!../../node_modules/thread-loader/dist/cjs.js??ref--8-1!../../node_modules/css-loader/dist/cjs.js??ref--8-2!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js!./index.scss\");\n\n\t\tif(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n\n\t\tvar locals = (function(a, b) {\n\t\t\tvar key, idx = 0;\n\n\t\t\tfor(key in a) {\n\t\t\t\tif(!b || a[key] !== b[key]) return false;\n\t\t\t\tidx++;\n\t\t\t}\n\n\t\t\tfor(key in b) idx--;\n\n\t\t\treturn idx === 0;\n\t\t}(content.locals, newContent.locals));\n\n\t\tif(!locals) throw new Error('Aborting CSS HMR due to changed css-modules locals.');\n\n\t\tupdate(newContent);\n\t});\n\n\tmodule.hot.dispose(function() { update(); });\n}","exports = module.exports = require(\"../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"*,*::after,*::before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:none}html,body{min-height:100%}p,button{margin:0}button{padding:0;border:none;background-color:transparent;outline:none}.hair-line{position:relative}.hair-line.top::before{top:0}.hair-line.bottom::after{bottom:0}.hair-line.top::before,.hair-line.bottom::after{position:absolute;height:1PX;left:0;right:0;z-index:1;content:'';background:#e8e8e8;-webkit-transform:scaleY(0.5);-moz-transform:scaleY(0.5);-o-transform:scaleY(0.5);transform:scaleY(0.5)}[data-dpr='3'] .hair-line.top::before,[data-dpr='3'] .hair-line.bottom::after{-webkit-transform:scaleY(0.33333);-moz-transform:scaleY(0.33333);-o-transform:scaleY(0.33333);transform:scaleY(0.33333)}.hair-line.right::before{right:0}.hair-line.left::after{left:0}.hair-line.right::before,.hair-line.left::after{position:absolute;width:1PX;top:0;bottom:0;z-index:1;content:'';background:#e8e8e8;-webkit-transform:scaleX(0.5);-moz-transform:scaleX(0.5);-o-transform:scaleX(0.5);transform:scaleX(0.5)}[data-dpr='3'] .hair-line.right::before,[data-dpr='3'] .hair-line.left::after{-webkit-transform:scaleX(0.33333);-moz-transform:scaleX(0.33333);-o-transform:scaleX(0.33333);transform:scaleX(0.33333)}.hair-line.all:after{position:absolute;content:'';top:-50%;left:-50%;right:-50%;bottom:-50%;border:1PX solid #dddddd;-moz-transform:scale(0.5);-o-transform:scale(0.5);transform:scale(0.5);-webkit-transform:scale(0.5);-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}[data-dpr='3'] .hair-line.all:after{-webkit-transform:scale(0.33333);-moz-transform:scale(0.33333);-o-transform:scale(0.33333);transform:scale(0.33333)}.hair-line.all.radius:after{-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}:root{--main-color: #ff264a;--card-margin: 12px;--card-margin-payment: 12px;--card-padding: 12px;--cart-title-margin: 12px;--img-border-radius: 6px;--card-border-radius: 6px;--title-shadow: 0 4px 8px rgba(0, 0, 0, 0.02);--exlarge-btn-border-radius: 22px;--exlarge-btn-after-radius: 44px;--large-btn-border-radius: 20px;--large-btn-after-radius: 40px;--meduim-btn-border-radius: 16px;--meduim-btn-after-radius: 32px;--small-btn-border-radius: 14px;--small-btn-after-radius: 28px;--main-button-text-color: #fff;--line-button-text-color: #ff264a;--line-button-back-color: #ffffff;--line-button-border-color: #ff264a;--meduim-line-button-text-color: #ff264a;--meduim-line-button-back-color: #ffffff;--meduim-line-button-border-color: #ff264a;--secondary-button-text-color: #737373;--secondary-button-back-color: #fff;--secondary-button-border-color: #a6a6a6;--sub-button-back-color: linear-gradient(\\n 135deg,\\n rgba(255, 196, 77, 1) 0%,\\n rgba(255, 129, 38, 1) 100%\\n );--sub-button-text-color: #fff;--sub-button-border: none;--comment-img-width-one: 216px;--comment-img-width-two: 4.2432rem;--comment-img-width-three: 2.7568rem;--comment-img-width-four: 2.8649rem}.douyin{--main-color: #fe2c55;--card-margin: 0px;--card-margin-payment: 12px;--card-padding: 16px;--cart-title-margin: 16px;--img-border-radius: 2px;--card-border-radius: 0;--title-shadow: 0 4px 8px rgba(0, 0, 0, 0.02);--exlarge-btn-border-radius: 2px;--exlarge-btn-after-radius: 4px;--large-btn-border-radius: 2px;--large-btn-after-radius: 4px;--meduim-btn-border-radius: 2px;--meduim-btn-after-radius: 4px;--small-btn-border-radius: 2px;--small-btn-after-radius: 4px;--main-button-text-color: #fff;--line-button-text-color: #fff;--line-button-back-color: #fe2c55;--line-button-border-color: #fe2c55;--meduim-line-button-text-color: #737373;--meduim-line-button-back-color: #fff;--meduim-line-button-border-color: rgba(22, 24, 35, 0.12);--secondary-button-text-color: #737373;--secondary-button-back-color: #fff;--secondary-button-border-color: rgba(22, 24, 35, 0.12);--sub-button-back-color: linear-gradient(\\n 135deg,\\n rgba(255, 182, 51, 0.85) 0%,\\n rgba(255, 103, 62, 0.83) 100%\\n );--comment-img-width-one: 228px;--comment-img-width-two: 4.5946rem;--comment-img-width-three: 3.027rem;--comment-img-width-four: 3rem}.toutiao{--main-color: #ff5e5e;--card-margin: 12px;--card-margin-payment: 12px;--card-padding: 12px;--cart-title-margin: 12px;--img-border-radius: 2px;--card-border-radius: 6px;--title-shadow: 0 4px 8px rgba(0, 0, 0, 0.02);--exlarge-btn-border-radius: 4px;--exlarge-btn-after-radius: 8px;--large-btn-border-radius: 4px;--large-btn-after-radius: 8px;--meduim-btn-border-radius: 2px;--meduim-btn-after-radius: 4px;--small-btn-border-radius: 2px;--small-btn-after-radius: 4px;--main-button-text-color: #fff;--line-button-text-color: #fff;--line-button-back-color: #ff5e5e;--line-button-border-color: #ff5e5e;--meduim-line-button-text-color: #ff5e5e;--meduim-line-button-back-color: #fff;--meduim-line-button-border-color: #ff5e5e;--secondary-button-text-color: #737373;--secondary-button-back-color: #fff;--secondary-button-border-color: #d8d8d8;--sub-button-back-color: rgba(255, 170, 127, 1)}.huoshan{--main-color: #ff4e33;--card-margin: 12px;--card-margin-payment: 12px;--card-padding: 12px;--cart-title-margin: 12px;--button-text-color: #ff4e33;--img-border-radius: 8px;--card-border-radius: 6px;--title-shadow: 0 4px 8px rgba(0, 0, 0, 0.02);--exlarge-btn-border-radius: 16px;--exlarge-btn-after-radius: 32px;--large-btn-border-radius: 16px;--large-btn-after-radius: 32px;--meduim-btn-border-radius: 16px;--meduim-btn-after-radius: 32px;--small-btn-border-radius: 16px;--small-btn-after-radius: 32px;--main-button-text-color: #fff;--line-button-text-color: #fff;--line-button-back-color: #ff4e33;--line-button-border-color: #ff4e33;--meduim-line-button-text-color: #ff5e5e;--meduim-line-button-back-color: #f8f8f8;--meduim-line-button-border-color: #f8f8f8;--secondary-button-text-color: #737373;--secondary-button-back-color: #f8f8f8;--secondary-button-border-color: #f8f8f8;--sub-button-back-color: rgba(255, 201, 92, 1)}.xigua{--main-color: #ff0000;--card-margin: 12px;--card-margin-payment: 12px;--card-padding: 12px;--cart-title-margin: 12px;--img-border-radius: 6px;--card-border-radius: 6px;--title-shadow: 0 4px 8px rgba(0, 0, 0, 0.02);--exlarge-btn-border-radius: 6px;--exlarge-btn-after-radius: 12px;--large-btn-border-radius: 6px;--large-btn-after-radius: 12px;--meduim-btn-border-radius: 6px;--meduim-btn-after-radius: 12px;--small-btn-border-radius: 6px;--small-btn-after-radius: 12px;--main-button-text-color: #fff;--line-button-text-color: #fff;--line-button-back-color: #ff0000;--line-button-border-color: #ff0000;--meduim-line-button-text-color: #737373;--meduim-line-button-back-color: #f5f5f5;--meduim-line-button-border-color: #f5f5f5;--secondary-button-text-color: #737373;--secondary-button-back-color: #f5f5f5;--secondary-button-border-color: #f5f5f5;--sub-button-back-color: rgba(255, 149, 0, 1)}.pipixia{--main-color: linear-gradient(300deg, rgba(255, 128, 139, 1) 0%, rgba(252, 96, 120, 1) 100%);--card-margin: 12px;--card-margin-payment: 12px;--card-padding: 12px;--cart-title-margin: 12px;--img-border-radius: 2px;--card-border-radius: 6px;--title-shadow: 0 4px 8px rgba(0, 0, 0, 0.02);--exlarge-btn-border-radius: 6px;--exlarge-btn-after-radius: 12px;--large-btn-border-radius: 6px;--large-btn-after-radius: 12px;--meduim-btn-border-radius: 6px;--meduim-btn-after-radius: 12px;--small-btn-border-radius: 6px;--small-btn-after-radius: 12px;--main-button-text-color: #fff;--line-button-text-color: #fff;--line-button-back-color: rgba(255, 104, 128, 1);--line-button-border-color: rgba(255, 104, 128, 1);--meduim-line-button-text-color: rgba(255, 104, 128, 1);--meduim-line-button-back-color: rgba(255, 255, 255, 1);--meduim-line-button-border-color: rgba(255, 104, 128, 1);--secondary-button-text-color: rgba(102, 102, 102, 1);--secondary-button-back-color: rgba(255, 255, 255, 1);--secondary-button-border-color: rgba(219, 219, 219, 1)}.dongchedi{--main-color: rgba(255, 225, 0, 1);--card-margin: 12px;--card-padding: 12px;--cart-title-margin: 12px;--img-border-radius: 4px;--card-border-radius: 6px;--title-shadow: none;--exlarge-btn-border-radius: 22px;--exlarge-btn-after-radius: 32px;--large-btn-border-radius: 20px;--large-btn-after-radius: 32px;--meduim-btn-border-radius: 16px;--meduim-btn-after-radius: 32px;--small-btn-border-radius: 16px;--small-btn-after-radius: 32px;--main-button-text-color: #1A1A1A;--line-button-text-color: #000;--line-button-back-color: rgba(255, 225, 0, 1);--line-button-border-color: rgba(255, 225, 0, 1);--meduim-line-button-text-color: rgba(26, 26, 26, 1);--meduim-line-button-back-color: rgba(255, 255, 255, 1);--meduim-line-button-border-color: rgba(26, 26, 26, 1);--secondary-button-text-color: rgba(26, 26, 26, 1);--secondary-button-back-color: rgba(255, 255, 255, 1);--secondary-button-border-color: rgba(204, 204, 204, 1);--sub-button-back-color: #fff;--sub-button-border: 1px solid rgba(26, 26, 26, 1);--sub-button-text-color: rgba(26, 26, 26, 1)}:root,.huohsan,.xigua,.toutiao,.douyin,.pipixia{--btn-primary: #fff}.dongchedi{--btn-primary: rgba(26, 26, 26, 1)}.ecom-btn{position:relative;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;align-items:center;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:26.64rem}.ecom-btn__name{font-size:0.37333rem;font-family:PingFangSC, sans-serif;line-height:normal;font-weight:700}.btn-primary{background:var(--main-color);color:var(--btn-primary)}.btn-primary.hair-line.all.hair-line.all:after{border:none}.btn-secondary{background-color:var(--meduim-line-button-back-color);color:var(--meduim-line-button-text-color)}.btn-secondary.hair-line.all:after{border:1px solid var(--meduim-line-button-border-color)}.btn-normal{background-color:var(--secondary-button-back-color);color:var(--secondary-button-text-color)}.btn-normal.hair-line.all:after{border:1px solid var(--secondary-button-border-color)}.btn-m{height:0.85333rem;padding:0 0.53333rem;-webkit-border-radius:var(--meduim-btn-border-radius);-moz-border-radius:var(--meduim-btn-border-radius);border-radius:var(--meduim-btn-border-radius)}.btn-m.hair-line.all:after{-webkit-border-radius:var(--meduim-btn-after-radius);-moz-border-radius:var(--meduim-btn-after-radius);border-radius:var(--meduim-btn-after-radius)}.btn-s{height:0.74667rem;padding:0 0.42667rem;-webkit-border-radius:var(--small-btn-border-radius);-moz-border-radius:var(--small-btn-border-radius);border-radius:var(--small-btn-border-radius)}.btn-s .ecom-btn__name{font-size:0.34667rem}.btn-s.hair-line.all:after{-webkit-border-radius:var(--small-btn-after-radius);-moz-border-radius:var(--small-btn-after-radius);border-radius:var(--small-btn-after-radius)}.btn-l{height:1.06667rem;padding:0 1.06667rem;-webkit-border-radius:var(--large-btn-border-radius);-moz-border-radius:var(--large-btn-border-radius);border-radius:var(--large-btn-border-radius)}.btn-l.hair-line.all:after{-webkit-border-radius:var(--large-btn-after-radius);-moz-border-radius:var(--large-btn-after-radius);border-radius:var(--large-btn-after-radius)}.btn-xl{height:1.17333rem;padding:0 0.53333rem;-webkit-border-radius:var(--exlarge-btn-border-radius);-moz-border-radius:var(--exlarge-btn-border-radius);border-radius:var(--exlarge-btn-border-radius);margin:0.21333rem 0.32rem 0.32rem;margin-bottom:0.32rem;margin-bottom:-webkit-calc(env(safe-area-inset-bottom) + 0.32rem);margin-bottom:-moz-calc(env(safe-area-inset-bottom) + 0.32rem);margin-bottom:calc(env(safe-area-inset-bottom) + 0.32rem);margin-bottom:-webkit-calc(constant(safe-area-inset-bottom) + 0.32rem);margin-bottom:-moz-calc(constant(safe-area-inset-bottom) + 0.32rem);margin-bottom:calc(constant(safe-area-inset-bottom) + 0.32rem)}.btn-xl .ecom-btn__name{font-size:0.42667rem}.btn-xl.hair-line.all:after{-webkit-border-radius:var(--exlarge-btn-after-radius);-moz-border-radius:var(--exlarge-btn-after-radius);border-radius:var(--exlarge-btn-after-radius)}.btn-disabled{opacity:0.5}\\n\", \"\"]);\n\n","/*!\n * better-scroll / core\n * (c) 2016-2020 ustbhuangyi\n * Released under the MIT License.\n */\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\n\nfunction warn(msg) {\r\n console.error(\"[BScroll warn]: \" + msg);\r\n}\n\n// ssr support\r\nvar inBrowser = typeof window !== 'undefined';\r\nvar ua = inBrowser && navigator.userAgent.toLowerCase();\r\nvar isWeChatDevTools = ua && /wechatdevtools/.test(ua);\r\nvar isAndroid = ua && ua.indexOf('android') > 0;\n\nfunction getNow() {\r\n return window.performance && window.performance.now && window.performance.timing\r\n ? window.performance.now() + window.performance.timing.navigationStart\r\n : +new Date();\r\n}\r\nfunction extend(target) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n for (var i = 0; i < rest.length; i++) {\r\n var source = rest[i];\r\n for (var key in source) {\r\n target[key] = source[key];\r\n }\r\n }\r\n return target;\r\n}\r\nfunction isUndef(v) {\r\n return v === undefined || v === null;\r\n}\n\nvar elementStyle = (inBrowser &&\r\n document.createElement('div').style);\r\nvar vendor = (function () {\r\n if (!inBrowser) {\r\n return false;\r\n }\r\n var transformNames = {\r\n webkit: 'webkitTransform',\r\n Moz: 'MozTransform',\r\n O: 'OTransform',\r\n ms: 'msTransform',\r\n standard: 'transform'\r\n };\r\n for (var key in transformNames) {\r\n if (elementStyle[transformNames[key]] !== undefined) {\r\n return key;\r\n }\r\n }\r\n return false;\r\n})();\r\nfunction prefixStyle(style) {\r\n if (vendor === false) {\r\n return style;\r\n }\r\n if (vendor === 'standard') {\r\n if (style === 'transitionEnd') {\r\n return 'transitionend';\r\n }\r\n return style;\r\n }\r\n return vendor + style.charAt(0).toUpperCase() + style.substr(1);\r\n}\r\nfunction getElement(el) {\r\n return (typeof el === 'string'\r\n ? document.querySelector(el)\r\n : el);\r\n}\r\nfunction addEvent(el, type, fn, capture) {\r\n el.addEventListener(type, fn, {\r\n passive: false,\r\n capture: !!capture\r\n });\r\n}\r\nfunction removeEvent(el, type, fn, capture) {\r\n el.removeEventListener(type, fn, {\r\n capture: !!capture\r\n });\r\n}\r\nfunction offset(el) {\r\n var left = 0;\r\n var top = 0;\r\n while (el) {\r\n left -= el.offsetLeft;\r\n top -= el.offsetTop;\r\n el = el.offsetParent;\r\n }\r\n return {\r\n left: left,\r\n top: top\r\n };\r\n}\r\nvar cssVendor = vendor && vendor !== 'standard' ? '-' + vendor.toLowerCase() + '-' : '';\r\nvar transform = prefixStyle('transform');\r\nvar transition = prefixStyle('transition');\r\nvar hasPerspective = inBrowser && prefixStyle('perspective') in elementStyle;\r\n// fix issue #361\r\nvar hasTouch = inBrowser && ('ontouchstart' in window || isWeChatDevTools);\r\nvar hasTransition = inBrowser && transition in elementStyle;\r\nvar style = {\r\n transform: transform,\r\n transition: transition,\r\n transitionTimingFunction: prefixStyle('transitionTimingFunction'),\r\n transitionDuration: prefixStyle('transitionDuration'),\r\n transitionDelay: prefixStyle('transitionDelay'),\r\n transformOrigin: prefixStyle('transformOrigin'),\r\n transitionEnd: prefixStyle('transitionEnd')\r\n};\r\nvar eventTypeMap = {\r\n touchstart: 1,\r\n touchmove: 1,\r\n touchend: 1,\r\n mousedown: 2,\r\n mousemove: 2,\r\n mouseup: 2\r\n};\r\nfunction getRect(el) {\r\n if (el instanceof window.SVGElement) {\r\n var rect = el.getBoundingClientRect();\r\n return {\r\n top: rect.top,\r\n left: rect.left,\r\n width: rect.width,\r\n height: rect.height\r\n };\r\n }\r\n else {\r\n return {\r\n top: el.offsetTop,\r\n left: el.offsetLeft,\r\n width: el.offsetWidth,\r\n height: el.offsetHeight\r\n };\r\n }\r\n}\r\nfunction preventDefaultExceptionFn(el, exceptions) {\r\n for (var i in exceptions) {\r\n if (exceptions[i].test(el[i])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\nvar tagExceptionFn = preventDefaultExceptionFn;\r\nfunction tap(e, eventName) {\r\n var ev = document.createEvent('Event');\r\n ev.initEvent(eventName, true, true);\r\n ev.pageX = e.pageX;\r\n ev.pageY = e.pageY;\r\n e.target.dispatchEvent(ev);\r\n}\r\nfunction click(e, event) {\r\n if (event === void 0) { event = 'click'; }\r\n var eventSource;\r\n if (e.type === 'mouseup') {\r\n eventSource = e;\r\n }\r\n else if (e.type === 'touchend' || e.type === 'touchcancel') {\r\n eventSource = e.changedTouches[0];\r\n }\r\n var posSrc = {};\r\n if (eventSource) {\r\n posSrc.screenX = eventSource.screenX || 0;\r\n posSrc.screenY = eventSource.screenY || 0;\r\n posSrc.clientX = eventSource.clientX || 0;\r\n posSrc.clientY = eventSource.clientY || 0;\r\n }\r\n var ev;\r\n var bubbles = true;\r\n var cancelable = true;\r\n if (typeof MouseEvent !== 'undefined') {\r\n try {\r\n ev = new MouseEvent(event, extend({\r\n bubbles: bubbles,\r\n cancelable: cancelable\r\n }, posSrc));\r\n }\r\n catch (e) {\r\n createEvent();\r\n }\r\n }\r\n else {\r\n createEvent();\r\n }\r\n function createEvent() {\r\n ev = document.createEvent('Event');\r\n ev.initEvent(event, bubbles, cancelable);\r\n extend(ev, posSrc);\r\n }\r\n // forwardedTouchEvent set to true in case of the conflict with fastclick\r\n ev.forwardedTouchEvent = true;\r\n ev._constructed = true;\r\n e.target.dispatchEvent(ev);\r\n}\r\nfunction dblclick(e) {\r\n click(e, 'dblclick');\r\n}\n\nvar ease = {\r\n // easeOutQuint\r\n swipe: {\r\n style: 'cubic-bezier(0.23, 1, 0.32, 1)',\r\n fn: function (t) {\r\n return 1 + --t * t * t * t * t;\r\n }\r\n },\r\n // easeOutQuard\r\n swipeBounce: {\r\n style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)',\r\n fn: function (t) {\r\n return t * (2 - t);\r\n }\r\n },\r\n // easeOutQuart\r\n bounce: {\r\n style: 'cubic-bezier(0.165, 0.84, 0.44, 1)',\r\n fn: function (t) {\r\n return 1 - --t * t * t * t;\r\n }\r\n }\r\n};\n\nvar DEFAULT_INTERVAL = 100 / 60;\r\nvar windowCompat = inBrowser && window;\r\nfunction noop() { }\r\nvar requestAnimationFrame = (function () {\r\n if (!inBrowser) {\r\n /* istanbul ignore if */\r\n return noop;\r\n }\r\n return (windowCompat.requestAnimationFrame ||\r\n windowCompat.webkitRequestAnimationFrame ||\r\n windowCompat.mozRequestAnimationFrame ||\r\n windowCompat.oRequestAnimationFrame ||\r\n // if all else fails, use setTimeout\r\n function (callback) {\r\n return window.setTimeout(callback, (callback.interval || DEFAULT_INTERVAL) / 2); // make interval as precise as possible.\r\n });\r\n})();\r\nvar cancelAnimationFrame = (function () {\r\n if (!inBrowser) {\r\n /* istanbul ignore if */\r\n return noop;\r\n }\r\n return (windowCompat.cancelAnimationFrame ||\r\n windowCompat.webkitCancelAnimationFrame ||\r\n windowCompat.mozCancelAnimationFrame ||\r\n windowCompat.oCancelAnimationFrame ||\r\n function (id) {\r\n window.clearTimeout(id);\r\n });\r\n})();\n\nvar noop$1 = function (val) { };\r\nvar sharedPropertyDefinition = {\r\n enumerable: true,\r\n configurable: true,\r\n get: noop$1,\r\n set: noop$1\r\n};\r\nvar getProperty = function (obj, key) {\r\n var keys = key.split('.');\r\n for (var i = 0; i < keys.length - 1; i++) {\r\n obj = obj[keys[i]];\r\n if (typeof obj !== 'object' || !obj)\r\n return;\r\n }\r\n var lastKey = keys.pop();\r\n if (typeof obj[lastKey] === 'function') {\r\n return function () {\r\n return obj[lastKey].apply(obj, arguments);\r\n };\r\n }\r\n else {\r\n return obj[lastKey];\r\n }\r\n};\r\nvar setProperty = function (obj, key, value) {\r\n var keys = key.split('.');\r\n var temp;\r\n for (var i = 0; i < keys.length - 1; i++) {\r\n temp = keys[i];\r\n if (!obj[temp])\r\n obj[temp] = {};\r\n obj = obj[temp];\r\n }\r\n obj[keys.pop()] = value;\r\n};\r\nfunction propertiesProxy(target, sourceKey, key) {\r\n sharedPropertyDefinition.get = function proxyGetter() {\r\n return getProperty(this, sourceKey);\r\n };\r\n sharedPropertyDefinition.set = function proxySetter(val) {\r\n setProperty(this, sourceKey, val);\r\n };\r\n Object.defineProperty(target, key, sharedPropertyDefinition);\r\n}\n\nvar EventEmitter = /** @class */ (function () {\r\n function EventEmitter(names) {\r\n this.events = {};\r\n this.eventTypes = {};\r\n this.registerType(names);\r\n }\r\n EventEmitter.prototype.on = function (type, fn, context) {\r\n if (context === void 0) { context = this; }\r\n this.hasType(type);\r\n if (!this.events[type]) {\r\n this.events[type] = [];\r\n }\r\n this.events[type].push([fn, context]);\r\n return this;\r\n };\r\n EventEmitter.prototype.once = function (type, fn, context) {\r\n var _this = this;\r\n if (context === void 0) { context = this; }\r\n this.hasType(type);\r\n var magic = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n _this.off(type, magic);\r\n fn.apply(context, args);\r\n };\r\n magic.fn = fn;\r\n this.on(type, magic);\r\n return this;\r\n };\r\n EventEmitter.prototype.off = function (type, fn) {\r\n if (!type && !fn) {\r\n this.events = {};\r\n return this;\r\n }\r\n if (type) {\r\n this.hasType(type);\r\n if (!fn) {\r\n this.events[type] = [];\r\n return this;\r\n }\r\n var events = this.events[type];\r\n if (!events) {\r\n return this;\r\n }\r\n var count = events.length;\r\n while (count--) {\r\n if (events[count][0] === fn ||\r\n (events[count][0] && events[count][0].fn === fn)) {\r\n events.splice(count, 1);\r\n }\r\n }\r\n return this;\r\n }\r\n };\r\n EventEmitter.prototype.trigger = function (type) {\r\n var args = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n args[_i - 1] = arguments[_i];\r\n }\r\n this.hasType(type);\r\n var events = this.events[type];\r\n if (!events) {\r\n return;\r\n }\r\n var len = events.length;\r\n var eventsCopy = events.slice();\r\n var ret;\r\n for (var i = 0; i < len; i++) {\r\n var event_1 = eventsCopy[i];\r\n var fn = event_1[0], context = event_1[1];\r\n if (fn) {\r\n ret = fn.apply(context, args);\r\n if (ret === true) {\r\n return ret;\r\n }\r\n }\r\n }\r\n };\r\n EventEmitter.prototype.registerType = function (names) {\r\n var _this = this;\r\n names.forEach(function (type) {\r\n _this.eventTypes[type] = type;\r\n });\r\n };\r\n EventEmitter.prototype.destroy = function () {\r\n this.events = {};\r\n this.eventTypes = {};\r\n };\r\n EventEmitter.prototype.hasType = function (type) {\r\n var types = this.eventTypes;\r\n var isType = types[type] === type;\r\n if (!isType) {\r\n warn(\"EventEmitter has used unknown event type: \\\"\" + type + \"\\\", should be oneof [\" +\r\n (\"\" + Object.keys(types).map(function (_) { return JSON.stringify(_); })) +\r\n \"]\");\r\n }\r\n };\r\n return EventEmitter;\r\n}());\r\nvar EventRegister = /** @class */ (function () {\r\n function EventRegister(wrapper, events) {\r\n this.wrapper = wrapper;\r\n this.events = events;\r\n this.addDOMEvents();\r\n }\r\n EventRegister.prototype.destroy = function () {\r\n this.removeDOMEvents();\r\n this.events = [];\r\n };\r\n EventRegister.prototype.addDOMEvents = function () {\r\n this.handleDOMEvents(addEvent);\r\n };\r\n EventRegister.prototype.removeDOMEvents = function () {\r\n this.handleDOMEvents(removeEvent);\r\n };\r\n EventRegister.prototype.handleDOMEvents = function (eventOperation) {\r\n var _this = this;\r\n var wrapper = this.wrapper;\r\n this.events.forEach(function (event) {\r\n eventOperation(wrapper, event.name, _this, !!event.capture);\r\n });\r\n };\r\n EventRegister.prototype.handleEvent = function (e) {\r\n var eventType = e.type;\r\n this.events.some(function (event) {\r\n if (event.name === eventType) {\r\n event.handler(e);\r\n return true;\r\n }\r\n return false;\r\n });\r\n };\r\n return EventRegister;\r\n}());\n\nvar Options = /** @class */ (function () {\r\n function Options() {\r\n this.startX = 0;\r\n this.startY = 0;\r\n this.scrollX = false;\r\n this.scrollY = true;\r\n this.freeScroll = false;\r\n this.directionLockThreshold = 5;\r\n this.eventPassthrough = \"\" /* None */;\r\n this.click = false;\r\n this.dblclick = false;\r\n this.tap = '';\r\n this.bounce = {\r\n top: true,\r\n bottom: true,\r\n left: true,\r\n right: true\r\n };\r\n this.bounceTime = 800;\r\n this.momentum = true;\r\n this.momentumLimitTime = 300;\r\n this.momentumLimitDistance = 15;\r\n this.swipeTime = 2500;\r\n this.swipeBounceTime = 500;\r\n this.deceleration = 0.0015;\r\n this.flickLimitTime = 200;\r\n this.flickLimitDistance = 100;\r\n this.resizePolling = 60;\r\n this.probeType = 0 /* Default */;\r\n this.stopPropagation = false;\r\n this.preventDefault = true;\r\n this.preventDefaultException = {\r\n tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|AUDIO)$/\r\n };\r\n this.tagException = {\r\n tagName: /^TEXTAREA$/\r\n };\r\n this.HWCompositing = true;\r\n this.useTransition = true;\r\n this.bindToWrapper = false;\r\n this.disableMouse = hasTouch;\r\n this.disableTouch = !hasTouch;\r\n this.autoBlur = true;\r\n }\r\n Options.prototype.merge = function (options) {\r\n if (!options)\r\n return this;\r\n for (var key in options) {\r\n this[key] = options[key];\r\n }\r\n return this;\r\n };\r\n Options.prototype.process = function () {\r\n this.translateZ =\r\n this.HWCompositing && hasPerspective ? ' translateZ(0)' : '';\r\n this.useTransition = this.useTransition && hasTransition;\r\n this.preventDefault = !this.eventPassthrough && this.preventDefault;\r\n this.resolveBounce();\r\n // If you want eventPassthrough I have to lock one of the axes\r\n this.scrollX =\r\n this.eventPassthrough === \"horizontal\" /* Horizontal */\r\n ? false\r\n : this.scrollX;\r\n this.scrollY =\r\n this.eventPassthrough === \"vertical\" /* Vertical */ ? false : this.scrollY;\r\n // With eventPassthrough we also need lockDirection mechanism\r\n this.freeScroll = this.freeScroll && !this.eventPassthrough;\r\n // force true when freeScroll is true\r\n this.scrollX = this.freeScroll ? true : this.scrollX;\r\n this.scrollY = this.freeScroll ? true : this.scrollY;\r\n this.directionLockThreshold = this.eventPassthrough\r\n ? 0\r\n : this.directionLockThreshold;\r\n return this;\r\n };\r\n Options.prototype.resolveBounce = function () {\r\n var directions = ['top', 'right', 'bottom', 'left'];\r\n var bounce = this.bounce;\r\n if (bounce === false || bounce === true) {\r\n this.bounce = makeMap(directions, bounce);\r\n }\r\n };\r\n return Options;\r\n}());\r\nfunction makeMap(keys, val) {\r\n if (val === void 0) { val = true; }\r\n var ret = {};\r\n keys.forEach(function (key) {\r\n ret[key] = val;\r\n });\r\n return ret;\r\n}\n\nvar ActionsHandler = /** @class */ (function () {\r\n function ActionsHandler(wrapper, options) {\r\n this.wrapper = wrapper;\r\n this.options = options;\r\n this.hooks = new EventEmitter([\r\n 'beforeStart',\r\n 'start',\r\n 'move',\r\n 'end',\r\n 'click'\r\n ]);\r\n this.handleDOMEvents();\r\n }\r\n ActionsHandler.prototype.handleDOMEvents = function () {\r\n var _a = this.options, bindToWrapper = _a.bindToWrapper, disableMouse = _a.disableMouse, disableTouch = _a.disableTouch, click = _a.click;\r\n var wrapper = this.wrapper;\r\n var target = bindToWrapper ? wrapper : window;\r\n var wrapperEvents = [];\r\n var targetEvents = [];\r\n var shouldRegisterTouch = hasTouch && !disableTouch;\r\n var shouldRegisterMouse = !disableMouse;\r\n if (click) {\r\n wrapperEvents.push({\r\n name: 'click',\r\n handler: this.click.bind(this),\r\n capture: true\r\n });\r\n }\r\n if (shouldRegisterTouch) {\r\n wrapperEvents.push({\r\n name: 'touchstart',\r\n handler: this.start.bind(this)\r\n });\r\n targetEvents.push({\r\n name: 'touchmove',\r\n handler: this.move.bind(this)\r\n }, {\r\n name: 'touchend',\r\n handler: this.end.bind(this)\r\n }, {\r\n name: 'touchcancel',\r\n handler: this.end.bind(this)\r\n });\r\n }\r\n if (shouldRegisterMouse) {\r\n wrapperEvents.push({\r\n name: 'mousedown',\r\n handler: this.start.bind(this)\r\n });\r\n targetEvents.push({\r\n name: 'mousemove',\r\n handler: this.move.bind(this)\r\n }, {\r\n name: 'mouseup',\r\n handler: this.end.bind(this)\r\n });\r\n }\r\n this.wrapperEventRegister = new EventRegister(wrapper, wrapperEvents);\r\n this.targetEventRegister = new EventRegister(target, targetEvents);\r\n };\r\n ActionsHandler.prototype.beforeHandler = function (e, type) {\r\n var _a = this.options, preventDefault = _a.preventDefault, stopPropagation = _a.stopPropagation, preventDefaultException = _a.preventDefaultException;\r\n var preventDefaultConditions = {\r\n start: function () {\r\n return (preventDefault &&\r\n !preventDefaultExceptionFn(e.target, preventDefaultException));\r\n },\r\n end: function () {\r\n return (preventDefault &&\r\n !preventDefaultExceptionFn(e.target, preventDefaultException));\r\n },\r\n move: function () {\r\n return preventDefault;\r\n }\r\n };\r\n if (preventDefaultConditions[type]()) {\r\n e.preventDefault();\r\n }\r\n if (stopPropagation) {\r\n e.stopPropagation();\r\n }\r\n };\r\n ActionsHandler.prototype.setInitiated = function (type) {\r\n if (type === void 0) { type = 0; }\r\n this.initiated = type;\r\n };\r\n ActionsHandler.prototype.start = function (e) {\r\n var _eventType = eventTypeMap[e.type];\r\n if (this.initiated && this.initiated !== _eventType) {\r\n return;\r\n }\r\n this.setInitiated(_eventType);\r\n // if textarea or other html tags in options.tagException is manipulated\r\n // do not make bs scroll\r\n if (tagExceptionFn(e.target, this.options.tagException)) {\r\n this.setInitiated();\r\n return;\r\n }\r\n // no mouse left button\r\n if (_eventType === 2 /* Mouse */ && e.button !== 0 /* Left */)\r\n return;\r\n if (this.hooks.trigger(this.hooks.eventTypes.beforeStart, e)) {\r\n return;\r\n }\r\n this.beforeHandler(e, 'start');\r\n var point = (e.touches ? e.touches[0] : e);\r\n this.pointX = point.pageX;\r\n this.pointY = point.pageY;\r\n this.hooks.trigger(this.hooks.eventTypes.start, e);\r\n };\r\n ActionsHandler.prototype.move = function (e) {\r\n if (eventTypeMap[e.type] !== this.initiated) {\r\n return;\r\n }\r\n this.beforeHandler(e, 'move');\r\n var point = (e.touches ? e.touches[0] : e);\r\n var deltaX = point.pageX - this.pointX;\r\n var deltaY = point.pageY - this.pointY;\r\n this.pointX = point.pageX;\r\n this.pointY = point.pageY;\r\n if (this.hooks.trigger(this.hooks.eventTypes.move, {\r\n deltaX: deltaX,\r\n deltaY: deltaY,\r\n e: e\r\n })) {\r\n return;\r\n }\r\n // auto end when out of wrapper\r\n var scrollLeft = document.documentElement.scrollLeft ||\r\n window.pageXOffset ||\r\n document.body.scrollLeft;\r\n var scrollTop = document.documentElement.scrollTop ||\r\n window.pageYOffset ||\r\n document.body.scrollTop;\r\n var pX = this.pointX - scrollLeft;\r\n var pY = this.pointY - scrollTop;\r\n if (pX >\r\n document.documentElement.clientWidth -\r\n this.options.momentumLimitDistance ||\r\n pX < this.options.momentumLimitDistance ||\r\n pY < this.options.momentumLimitDistance ||\r\n pY >\r\n document.documentElement.clientHeight -\r\n this.options.momentumLimitDistance) {\r\n this.end(e);\r\n }\r\n };\r\n ActionsHandler.prototype.end = function (e) {\r\n if (eventTypeMap[e.type] !== this.initiated) {\r\n return;\r\n }\r\n this.setInitiated();\r\n this.beforeHandler(e, 'end');\r\n this.hooks.trigger(this.hooks.eventTypes.end, e);\r\n };\r\n ActionsHandler.prototype.click = function (e) {\r\n this.hooks.trigger(this.hooks.eventTypes.click, e);\r\n };\r\n ActionsHandler.prototype.destroy = function () {\r\n this.wrapperEventRegister.destroy();\r\n this.targetEventRegister.destroy();\r\n this.hooks.destroy();\r\n };\r\n return ActionsHandler;\r\n}());\n\nvar translaterMetaData = {\r\n x: ['translateX', 'px'],\r\n y: ['translateY', 'px']\r\n};\r\nvar Translater = /** @class */ (function () {\r\n function Translater(content) {\r\n this.content = content;\r\n this.style = content.style;\r\n this.hooks = new EventEmitter(['beforeTranslate', 'translate']);\r\n }\r\n Translater.prototype.getComputedPosition = function () {\r\n var cssStyle = window.getComputedStyle(this.content, null);\r\n var matrix = cssStyle[style.transform].split(')')[0].split(', ');\r\n var x = +(matrix[12] || matrix[4]);\r\n var y = +(matrix[13] || matrix[5]);\r\n return {\r\n x: x,\r\n y: y\r\n };\r\n };\r\n Translater.prototype.translate = function (point) {\r\n var transformStyle = [];\r\n Object.keys(point).forEach(function (key) {\r\n if (!translaterMetaData[key]) {\r\n return;\r\n }\r\n var transformFnName = translaterMetaData[key][0];\r\n if (transformFnName) {\r\n var transformFnArgUnit = translaterMetaData[key][1];\r\n var transformFnArg = point[key];\r\n transformStyle.push(transformFnName + \"(\" + transformFnArg + transformFnArgUnit + \")\");\r\n }\r\n });\r\n this.hooks.trigger(this.hooks.eventTypes.beforeTranslate, transformStyle, point);\r\n this.style[style.transform] = transformStyle.join(' ');\r\n this.hooks.trigger(this.hooks.eventTypes.translate, point);\r\n };\r\n Translater.prototype.destroy = function () {\r\n this.hooks.destroy();\r\n };\r\n return Translater;\r\n}());\n\nvar Base = /** @class */ (function () {\r\n function Base(content, translater, options) {\r\n this.content = content;\r\n this.translater = translater;\r\n this.options = options;\r\n this.hooks = new EventEmitter([\r\n 'move',\r\n 'end',\r\n 'beforeForceStop',\r\n 'forceStop',\r\n 'time',\r\n 'timeFunction'\r\n ]);\r\n this.style = content.style;\r\n }\r\n Base.prototype.translate = function (endPoint) {\r\n this.translater.translate(endPoint);\r\n };\r\n Base.prototype.setPending = function (pending) {\r\n this.pending = pending;\r\n };\r\n Base.prototype.setForceStopped = function (forceStopped) {\r\n this.forceStopped = forceStopped;\r\n };\r\n Base.prototype.destroy = function () {\r\n this.hooks.destroy();\r\n cancelAnimationFrame(this.timer);\r\n };\r\n return Base;\r\n}());\n\nvar Transition = /** @class */ (function (_super) {\r\n __extends(Transition, _super);\r\n function Transition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Transition.prototype.startProbe = function () {\r\n var _this = this;\r\n var probe = function () {\r\n var pos = _this.translater.getComputedPosition();\r\n _this.hooks.trigger(_this.hooks.eventTypes.move, pos);\r\n // excute when transition ends\r\n if (!_this.pending) {\r\n _this.hooks.trigger(_this.hooks.eventTypes.end, pos);\r\n return;\r\n }\r\n _this.timer = requestAnimationFrame(probe);\r\n };\r\n cancelAnimationFrame(this.timer);\r\n this.timer = requestAnimationFrame(probe);\r\n };\r\n Transition.prototype.transitionTime = function (time) {\r\n if (time === void 0) { time = 0; }\r\n this.style[style.transitionDuration] = time + 'ms';\r\n this.hooks.trigger(this.hooks.eventTypes.time, time);\r\n };\r\n Transition.prototype.transitionTimingFunction = function (easing) {\r\n this.style[style.transitionTimingFunction] = easing;\r\n this.hooks.trigger(this.hooks.eventTypes.timeFunction, easing);\r\n };\r\n Transition.prototype.move = function (startPoint, endPoint, time, easingFn, isSlient) {\r\n this.setPending(time > 0 && (startPoint.x !== endPoint.x || startPoint.y !== endPoint.y));\r\n this.transitionTimingFunction(easingFn);\r\n this.transitionTime(time);\r\n this.translate(endPoint);\r\n if (time && this.options.probeType === 3 /* Realtime */) {\r\n this.startProbe();\r\n }\r\n // if we change content's transformY in a tick\r\n // such as: 0 -> 50px -> 0\r\n // transitionend will not be triggered\r\n // so we forceupdate by reflow\r\n if (!time) {\r\n this._reflow = this.content.offsetHeight;\r\n }\r\n // no need to dispatch move and end when slient\r\n if (!time && !isSlient) {\r\n this.hooks.trigger(this.hooks.eventTypes.move, endPoint);\r\n this.hooks.trigger(this.hooks.eventTypes.end, endPoint);\r\n }\r\n };\r\n Transition.prototype.stop = function () {\r\n // still in transition\r\n if (this.pending) {\r\n this.setPending(false);\r\n cancelAnimationFrame(this.timer);\r\n var _a = this.translater.getComputedPosition(), x = _a.x, y = _a.y;\r\n this.transitionTime();\r\n this.translate({ x: x, y: y });\r\n this.setForceStopped(true);\r\n if (this.hooks.trigger(this.hooks.eventTypes.beforeForceStop, { x: x, y: y })) {\r\n return;\r\n }\r\n this.hooks.trigger(this.hooks.eventTypes.forceStop, { x: x, y: y });\r\n }\r\n };\r\n return Transition;\r\n}(Base));\n\nvar Animation = /** @class */ (function (_super) {\r\n __extends(Animation, _super);\r\n function Animation() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Animation.prototype.move = function (startPoint, endPoint, time, easingFn, isSlient) {\r\n // time is 0\r\n if (!time) {\r\n this.translate(endPoint);\r\n // if we change content's transformY in a tick\r\n // such as: 0 -> 50px -> 0\r\n // transitionend will not be triggered\r\n // so we forceupdate by reflow\r\n this._reflow = this.content.offsetHeight;\r\n // no need to dispatch move and end when slient\r\n if (isSlient)\r\n return;\r\n this.hooks.trigger(this.hooks.eventTypes.move, endPoint);\r\n this.hooks.trigger(this.hooks.eventTypes.end, endPoint);\r\n return;\r\n }\r\n this.animate(startPoint, endPoint, time, easingFn);\r\n };\r\n Animation.prototype.animate = function (startPoint, endPoint, duration, easingFn) {\r\n var _this = this;\r\n var startTime = getNow();\r\n var destTime = startTime + duration;\r\n var step = function () {\r\n var now = getNow();\r\n // js animation end\r\n if (now >= destTime) {\r\n _this.translate(endPoint);\r\n _this.hooks.trigger(_this.hooks.eventTypes.move, endPoint);\r\n _this.hooks.trigger(_this.hooks.eventTypes.end, endPoint);\r\n return;\r\n }\r\n now = (now - startTime) / duration;\r\n var easing = easingFn(now);\r\n var newPoint = {};\r\n Object.keys(endPoint).forEach(function (key) {\r\n var startValue = startPoint[key];\r\n var endValue = endPoint[key];\r\n newPoint[key] = (endValue - startValue) * easing + startValue;\r\n });\r\n _this.translate(newPoint);\r\n if (_this.pending) {\r\n _this.timer = requestAnimationFrame(step);\r\n }\r\n if (_this.options.probeType === 3 /* Realtime */) {\r\n _this.hooks.trigger(_this.hooks.eventTypes.move, newPoint);\r\n }\r\n };\r\n this.setPending(true);\r\n cancelAnimationFrame(this.timer);\r\n step();\r\n };\r\n Animation.prototype.stop = function () {\r\n // still in requestFrameAnimation\r\n if (this.pending) {\r\n this.setPending(false);\r\n cancelAnimationFrame(this.timer);\r\n var pos = this.translater.getComputedPosition();\r\n this.setForceStopped(true);\r\n if (this.hooks.trigger(this.hooks.eventTypes.beforeForceStop, pos)) {\r\n return;\r\n }\r\n this.hooks.trigger(this.hooks.eventTypes.forceStop, pos);\r\n }\r\n };\r\n return Animation;\r\n}(Base));\n\nfunction createAnimater(element, translater, options) {\r\n var useTransition = options.useTransition;\r\n var animaterOptions = {};\r\n Object.defineProperty(animaterOptions, 'probeType', {\r\n enumerable: true,\r\n configurable: false,\r\n get: function () {\r\n return options.probeType;\r\n }\r\n });\r\n if (useTransition) {\r\n return new Transition(element, translater, animaterOptions);\r\n }\r\n else {\r\n return new Animation(element, translater, animaterOptions);\r\n }\r\n}\n\nvar Behavior = /** @class */ (function () {\r\n function Behavior(wrapper, options) {\r\n this.wrapper = wrapper;\r\n this.options = options;\r\n this.hooks = new EventEmitter(['momentum', 'end']);\r\n this.content = this.wrapper.children[0];\r\n this.currentPos = 0;\r\n this.startPos = 0;\r\n }\r\n Behavior.prototype.start = function () {\r\n this.direction = 0 /* Default */;\r\n this.movingDirection = 0 /* Default */;\r\n this.dist = 0;\r\n };\r\n Behavior.prototype.move = function (delta) {\r\n delta = this.hasScroll ? delta : 0;\r\n this.movingDirection =\r\n delta > 0\r\n ? -1 /* Negative */\r\n : delta < 0\r\n ? 1 /* Positive */\r\n : 0 /* Default */;\r\n var newPos = this.currentPos + delta;\r\n // Slow down or stop if outside of the boundaries\r\n if (newPos > this.minScrollPos || newPos < this.maxScrollPos) {\r\n if ((newPos > this.minScrollPos && this.options.bounces[0]) ||\r\n (newPos < this.maxScrollPos && this.options.bounces[1])) {\r\n newPos = this.currentPos + delta / 3;\r\n }\r\n else {\r\n newPos =\r\n newPos > this.minScrollPos ? this.minScrollPos : this.maxScrollPos;\r\n }\r\n }\r\n return newPos;\r\n };\r\n Behavior.prototype.end = function (duration) {\r\n var momentumInfo = {\r\n duration: 0\r\n };\r\n var absDist = Math.abs(this.currentPos - this.startPos);\r\n // start momentum animation if needed\r\n if (this.options.momentum &&\r\n duration < this.options.momentumLimitTime &&\r\n absDist > this.options.momentumLimitDistance) {\r\n var wrapperSize = (this.direction === -1 /* Negative */ && this.options.bounces[0]) ||\r\n (this.direction === 1 /* Positive */ && this.options.bounces[1])\r\n ? this.wrapperSize\r\n : 0;\r\n momentumInfo = this.hasScroll\r\n ? this.momentum(this.currentPos, this.startPos, duration, this.maxScrollPos, this.minScrollPos, wrapperSize, this.options)\r\n : { destination: this.currentPos, duration: 0 };\r\n }\r\n else {\r\n this.hooks.trigger(this.hooks.eventTypes.end, momentumInfo);\r\n }\r\n return momentumInfo;\r\n };\r\n Behavior.prototype.momentum = function (current, start, time, lowerMargin, upperMargin, wrapperSize, options) {\r\n if (options === void 0) { options = this.options; }\r\n var distance = current - start;\r\n var speed = Math.abs(distance) / time;\r\n var deceleration = options.deceleration, swipeBounceTime = options.swipeBounceTime, swipeTime = options.swipeTime;\r\n var momentumData = {\r\n destination: current + (speed / deceleration) * (distance < 0 ? -1 : 1),\r\n duration: swipeTime,\r\n rate: 15\r\n };\r\n this.hooks.trigger(this.hooks.eventTypes.momentum, momentumData, distance);\r\n if (momentumData.destination < lowerMargin) {\r\n momentumData.destination = wrapperSize\r\n ? Math.max(lowerMargin - wrapperSize / 4, lowerMargin - (wrapperSize / momentumData.rate) * speed)\r\n : lowerMargin;\r\n momentumData.duration = swipeBounceTime;\r\n }\r\n else if (momentumData.destination > upperMargin) {\r\n momentumData.destination = wrapperSize\r\n ? Math.min(upperMargin + wrapperSize / 4, upperMargin + (wrapperSize / momentumData.rate) * speed)\r\n : upperMargin;\r\n momentumData.duration = swipeBounceTime;\r\n }\r\n momentumData.destination = Math.round(momentumData.destination);\r\n return momentumData;\r\n };\r\n Behavior.prototype.updateDirection = function () {\r\n var absDist = Math.round(this.currentPos) - this.absStartPos;\r\n this.direction =\r\n absDist > 0\r\n ? -1 /* Negative */\r\n : absDist < 0\r\n ? 1 /* Positive */\r\n : 0 /* Default */;\r\n };\r\n Behavior.prototype.refresh = function () {\r\n var _a = this.options.rect, size = _a.size, position = _a.position;\r\n var isWrapperStatic = window.getComputedStyle(this.wrapper, null).position === 'static';\r\n var wrapperRect = getRect(this.wrapper);\r\n this.wrapperSize = wrapperRect[size];\r\n var contentRect = getRect(this.content);\r\n this.contentSize = contentRect[size];\r\n this.relativeOffset = contentRect[position];\r\n if (isWrapperStatic) {\r\n this.relativeOffset -= wrapperRect[position];\r\n }\r\n this.minScrollPos = 0;\r\n this.maxScrollPos = this.wrapperSize - this.contentSize;\r\n if (this.maxScrollPos < 0) {\r\n this.maxScrollPos -= this.relativeOffset;\r\n this.minScrollPos = -this.relativeOffset;\r\n }\r\n this.hasScroll =\r\n this.options.scrollable && this.maxScrollPos < this.minScrollPos;\r\n if (!this.hasScroll) {\r\n this.maxScrollPos = this.minScrollPos;\r\n this.contentSize = this.wrapperSize;\r\n }\r\n this.direction = 0;\r\n };\r\n Behavior.prototype.updatePosition = function (pos) {\r\n this.currentPos = pos;\r\n };\r\n Behavior.prototype.getCurrentPos = function () {\r\n return Math.round(this.currentPos);\r\n };\r\n Behavior.prototype.checkInBoundary = function () {\r\n var position = this.adjustPosition(this.currentPos);\r\n var inBoundary = position === this.getCurrentPos();\r\n return {\r\n position: position,\r\n inBoundary: inBoundary\r\n };\r\n };\r\n // adjust position when out of boundary\r\n Behavior.prototype.adjustPosition = function (pos) {\r\n var roundPos = Math.round(pos);\r\n if (!this.hasScroll || roundPos > this.minScrollPos) {\r\n roundPos = this.minScrollPos;\r\n }\r\n else if (roundPos < this.maxScrollPos) {\r\n roundPos = this.maxScrollPos;\r\n }\r\n return roundPos;\r\n };\r\n Behavior.prototype.updateStartPos = function () {\r\n this.startPos = this.currentPos;\r\n };\r\n Behavior.prototype.updateAbsStartPos = function () {\r\n this.absStartPos = this.currentPos;\r\n };\r\n Behavior.prototype.resetStartPos = function () {\r\n this.updateStartPos();\r\n this.updateAbsStartPos();\r\n };\r\n Behavior.prototype.getAbsDist = function (delta) {\r\n this.dist += delta;\r\n return Math.abs(this.dist);\r\n };\r\n Behavior.prototype.destroy = function () {\r\n this.hooks.destroy();\r\n };\r\n return Behavior;\r\n}());\n\nvar _a, _b, _c, _d;\r\nvar PassthroughHandlers = (_a = {},\r\n _a[\"yes\" /* Yes */] = function (e) {\r\n return true;\r\n },\r\n _a[\"no\" /* No */] = function (e) {\r\n e.preventDefault();\r\n return false;\r\n },\r\n _a);\r\nvar DirectionMap = (_b = {},\r\n _b[\"horizontal\" /* Horizontal */] = (_c = {},\r\n _c[\"yes\" /* Yes */] = \"horizontal\" /* Horizontal */,\r\n _c[\"no\" /* No */] = \"vertical\" /* Vertical */,\r\n _c),\r\n _b[\"vertical\" /* Vertical */] = (_d = {},\r\n _d[\"yes\" /* Yes */] = \"vertical\" /* Vertical */,\r\n _d[\"no\" /* No */] = \"horizontal\" /* Horizontal */,\r\n _d),\r\n _b);\r\nvar DirectionLockAction = /** @class */ (function () {\r\n function DirectionLockAction(directionLockThreshold, freeScroll, eventPassthrough) {\r\n this.directionLockThreshold = directionLockThreshold;\r\n this.freeScroll = freeScroll;\r\n this.eventPassthrough = eventPassthrough;\r\n this.reset();\r\n }\r\n DirectionLockAction.prototype.reset = function () {\r\n this.directionLocked = \"\" /* Default */;\r\n };\r\n DirectionLockAction.prototype.checkMovingDirection = function (absDistX, absDistY, e) {\r\n this.computeDirectionLock(absDistX, absDistY);\r\n return this.handleEventPassthrough(e);\r\n };\r\n DirectionLockAction.prototype.adjustDelta = function (deltaX, deltaY) {\r\n if (this.directionLocked === \"horizontal\" /* Horizontal */) {\r\n deltaY = 0;\r\n }\r\n else if (this.directionLocked === \"vertical\" /* Vertical */) {\r\n deltaX = 0;\r\n }\r\n return {\r\n deltaX: deltaX,\r\n deltaY: deltaY\r\n };\r\n };\r\n DirectionLockAction.prototype.computeDirectionLock = function (absDistX, absDistY) {\r\n // If you are scrolling in one direction, lock it\r\n if (this.directionLocked === \"\" /* Default */ && !this.freeScroll) {\r\n if (absDistX > absDistY + this.directionLockThreshold) {\r\n this.directionLocked = \"horizontal\" /* Horizontal */; // lock horizontally\r\n }\r\n else if (absDistY >= absDistX + this.directionLockThreshold) {\r\n this.directionLocked = \"vertical\" /* Vertical */; // lock vertically\r\n }\r\n else {\r\n this.directionLocked = \"none\" /* None */; // no lock\r\n }\r\n }\r\n };\r\n DirectionLockAction.prototype.handleEventPassthrough = function (e) {\r\n var handleMap = DirectionMap[this.directionLocked];\r\n if (handleMap) {\r\n if (this.eventPassthrough === handleMap[\"yes\" /* Yes */]) {\r\n return PassthroughHandlers[\"yes\" /* Yes */](e);\r\n }\r\n else if (this.eventPassthrough === handleMap[\"no\" /* No */]) {\r\n return PassthroughHandlers[\"no\" /* No */](e);\r\n }\r\n }\r\n return false;\r\n };\r\n return DirectionLockAction;\r\n}());\n\nvar ScrollerActions = /** @class */ (function () {\r\n function ScrollerActions(scrollBehaviorX, scrollBehaviorY, actionsHandler, animater, options) {\r\n this.hooks = new EventEmitter([\r\n 'start',\r\n 'beforeMove',\r\n 'scrollStart',\r\n 'scroll',\r\n 'beforeEnd',\r\n 'end',\r\n 'scrollEnd'\r\n ]);\r\n this.scrollBehaviorX = scrollBehaviorX;\r\n this.scrollBehaviorY = scrollBehaviorY;\r\n this.actionsHandler = actionsHandler;\r\n this.animater = animater;\r\n this.options = options;\r\n this.directionLockAction = new DirectionLockAction(options.directionLockThreshold, options.freeScroll, options.eventPassthrough);\r\n this.enabled = true;\r\n this.bindActionsHandler();\r\n }\r\n ScrollerActions.prototype.bindActionsHandler = function () {\r\n var _this = this;\r\n // [mouse|touch]start event\r\n this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.start, function (e) {\r\n if (!_this.enabled)\r\n return true;\r\n return _this.handleStart(e);\r\n });\r\n // [mouse|touch]move event\r\n this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.move, function (_a) {\r\n var deltaX = _a.deltaX, deltaY = _a.deltaY, e = _a.e;\r\n if (!_this.enabled)\r\n return true;\r\n return _this.handleMove(deltaX, deltaY, e);\r\n });\r\n // [mouse|touch]end event\r\n this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.end, function (e) {\r\n if (!_this.enabled)\r\n return true;\r\n return _this.handleEnd(e);\r\n });\r\n // click\r\n this.actionsHandler.hooks.on(this.actionsHandler.hooks.eventTypes.click, function (e) {\r\n // handle native click event\r\n if (_this.enabled && !e._constructed) {\r\n _this.handleClick(e);\r\n }\r\n });\r\n };\r\n ScrollerActions.prototype.handleStart = function (e) {\r\n var timestamp = getNow();\r\n this.moved = false;\r\n this.startTime = timestamp;\r\n this.directionLockAction.reset();\r\n this.scrollBehaviorX.start();\r\n this.scrollBehaviorY.start();\r\n // force stopping last transition or animation\r\n this.animater.stop();\r\n this.scrollBehaviorX.resetStartPos();\r\n this.scrollBehaviorY.resetStartPos();\r\n this.hooks.trigger(this.hooks.eventTypes.start, e);\r\n };\r\n ScrollerActions.prototype.handleMove = function (deltaX, deltaY, e) {\r\n if (this.hooks.trigger(this.hooks.eventTypes.beforeMove, e)) {\r\n return;\r\n }\r\n var absDistX = this.scrollBehaviorX.getAbsDist(deltaX);\r\n var absDistY = this.scrollBehaviorY.getAbsDist(deltaY);\r\n var timestamp = getNow();\r\n // We need to move at least momentumLimitDistance pixels\r\n // for the scrolling to initiate\r\n if (this.checkMomentum(absDistX, absDistY, timestamp)) {\r\n return true;\r\n }\r\n if (this.directionLockAction.checkMovingDirection(absDistX, absDistY, e)) {\r\n this.actionsHandler.setInitiated();\r\n return true;\r\n }\r\n var delta = this.directionLockAction.adjustDelta(deltaX, deltaY);\r\n var newX = this.scrollBehaviorX.move(delta.deltaX);\r\n var newY = this.scrollBehaviorY.move(delta.deltaY);\r\n if (!this.moved) {\r\n this.moved = true;\r\n this.hooks.trigger(this.hooks.eventTypes.scrollStart);\r\n }\r\n this.animater.translate({\r\n x: newX,\r\n y: newY\r\n });\r\n this.dispatchScroll(timestamp);\r\n };\r\n ScrollerActions.prototype.dispatchScroll = function (timestamp) {\r\n // dispatch scroll in interval time\r\n if (timestamp - this.startTime > this.options.momentumLimitTime) {\r\n // refresh time and starting position to initiate a momentum\r\n this.startTime = timestamp;\r\n this.scrollBehaviorX.updateStartPos();\r\n this.scrollBehaviorY.updateStartPos();\r\n if (this.options.probeType === 1 /* Throttle */) {\r\n this.hooks.trigger(this.hooks.eventTypes.scroll, this.getCurrentPos());\r\n }\r\n }\r\n // dispatch scroll all the time\r\n if (this.options.probeType > 1 /* Throttle */) {\r\n this.hooks.trigger(this.hooks.eventTypes.scroll, this.getCurrentPos());\r\n }\r\n };\r\n ScrollerActions.prototype.checkMomentum = function (absDistX, absDistY, timestamp) {\r\n return (timestamp - this.endTime > this.options.momentumLimitTime &&\r\n absDistY < this.options.momentumLimitDistance &&\r\n absDistX < this.options.momentumLimitDistance);\r\n };\r\n ScrollerActions.prototype.handleEnd = function (e) {\r\n if (this.hooks.trigger(this.hooks.eventTypes.beforeEnd, e)) {\r\n return;\r\n }\r\n var currentPos = this.getCurrentPos();\r\n this.scrollBehaviorX.updateDirection();\r\n this.scrollBehaviorY.updateDirection();\r\n if (this.hooks.trigger(this.hooks.eventTypes.end, e, currentPos)) {\r\n return true;\r\n }\r\n this.animater.translate(currentPos);\r\n this.endTime = getNow();\r\n var duration = this.endTime - this.startTime;\r\n this.hooks.trigger(this.hooks.eventTypes.scrollEnd, currentPos, duration);\r\n };\r\n ScrollerActions.prototype.handleClick = function (e) {\r\n if (!preventDefaultExceptionFn(e.target, this.options.preventDefaultException)) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n }\r\n };\r\n ScrollerActions.prototype.getCurrentPos = function () {\r\n return {\r\n x: this.scrollBehaviorX.getCurrentPos(),\r\n y: this.scrollBehaviorY.getCurrentPos()\r\n };\r\n };\r\n ScrollerActions.prototype.refresh = function () {\r\n this.endTime = 0;\r\n };\r\n ScrollerActions.prototype.destroy = function () {\r\n this.hooks.destroy();\r\n };\r\n return ScrollerActions;\r\n}());\n\nfunction createActionsHandlerOptions(bsOptions) {\r\n var options = [\r\n 'click',\r\n 'bindToWrapper',\r\n 'disableMouse',\r\n 'disableTouch',\r\n 'preventDefault',\r\n 'stopPropagation',\r\n 'tagException',\r\n 'preventDefaultException'\r\n ].reduce(function (prev, cur) {\r\n prev[cur] = bsOptions[cur];\r\n return prev;\r\n }, {});\r\n return options;\r\n}\r\nfunction createBehaviorOptions(bsOptions, extraProp, bounces, rect) {\r\n var options = [\r\n 'momentum',\r\n 'momentumLimitTime',\r\n 'momentumLimitDistance',\r\n 'deceleration',\r\n 'swipeBounceTime',\r\n 'swipeTime'\r\n ].reduce(function (prev, cur) {\r\n prev[cur] = bsOptions[cur];\r\n return prev;\r\n }, {});\r\n // add extra property\r\n options.scrollable = bsOptions[extraProp];\r\n options.bounces = bounces;\r\n options.rect = rect;\r\n return options;\r\n}\n\nfunction bubbling(source, target, events) {\r\n events.forEach(function (event) {\r\n var sourceEvent;\r\n var targetEvent;\r\n if (typeof event === 'string') {\r\n sourceEvent = targetEvent = event;\r\n }\r\n else {\r\n sourceEvent = event.source;\r\n targetEvent = event.target;\r\n }\r\n source.on(sourceEvent, function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n return target.trigger.apply(target, [targetEvent].concat(args));\r\n });\r\n });\r\n}\n\nvar Scroller = /** @class */ (function () {\r\n function Scroller(wrapper, options) {\r\n this.hooks = new EventEmitter([\r\n 'beforeStart',\r\n 'beforeMove',\r\n 'beforeScrollStart',\r\n 'scrollStart',\r\n 'scroll',\r\n 'beforeEnd',\r\n 'scrollEnd',\r\n 'refresh',\r\n 'touchEnd',\r\n 'end',\r\n 'flick',\r\n 'scrollCancel',\r\n 'momentum',\r\n 'scrollTo',\r\n 'ignoreDisMoveForSamePos',\r\n 'scrollToElement',\r\n 'resize'\r\n ]);\r\n this.wrapper = wrapper;\r\n this.content = wrapper.children[0];\r\n this.options = options;\r\n var _a = this\r\n .options.bounce, _b = _a.left, left = _b === void 0 ? true : _b, _c = _a.right, right = _c === void 0 ? true : _c, _d = _a.top, top = _d === void 0 ? true : _d, _e = _a.bottom, bottom = _e === void 0 ? true : _e;\r\n // direction X\r\n this.scrollBehaviorX = new Behavior(wrapper, createBehaviorOptions(options, 'scrollX', [left, right], {\r\n size: 'width',\r\n position: 'left'\r\n }));\r\n // direction Y\r\n this.scrollBehaviorY = new Behavior(wrapper, createBehaviorOptions(options, 'scrollY', [top, bottom], {\r\n size: 'height',\r\n position: 'top'\r\n }));\r\n this.translater = new Translater(this.content);\r\n this.animater = createAnimater(this.content, this.translater, this.options);\r\n this.actionsHandler = new ActionsHandler(wrapper, createActionsHandlerOptions(this.options));\r\n this.actions = new ScrollerActions(this.scrollBehaviorX, this.scrollBehaviorY, this.actionsHandler, this.animater, this.options);\r\n var resizeHandler = this.resize.bind(this);\r\n this.resizeRegister = new EventRegister(window, [\r\n {\r\n name: 'orientationchange',\r\n handler: resizeHandler\r\n },\r\n {\r\n name: 'resize',\r\n handler: resizeHandler\r\n }\r\n ]);\r\n this.transitionEndRegister = new EventRegister(this.content, [\r\n {\r\n name: style.transitionEnd,\r\n handler: this.transitionEnd.bind(this)\r\n }\r\n ]);\r\n this.init();\r\n }\r\n Scroller.prototype.init = function () {\r\n var _this = this;\r\n this.bindTranslater();\r\n this.bindAnimater();\r\n this.bindActions();\r\n // enable pointer events when scrolling ends\r\n this.hooks.on(this.hooks.eventTypes.scrollEnd, function () {\r\n _this.togglePointerEvents(true);\r\n });\r\n };\r\n Scroller.prototype.bindTranslater = function () {\r\n var _this = this;\r\n var hooks = this.translater.hooks;\r\n hooks.on(hooks.eventTypes.beforeTranslate, function (transformStyle) {\r\n if (_this.options.translateZ) {\r\n transformStyle.push(_this.options.translateZ);\r\n }\r\n });\r\n // disable pointer events when scrolling\r\n hooks.on(hooks.eventTypes.translate, function (pos) {\r\n _this.updatePositions(pos);\r\n _this.togglePointerEvents(false);\r\n });\r\n };\r\n Scroller.prototype.bindAnimater = function () {\r\n var _this = this;\r\n // reset position\r\n this.animater.hooks.on(this.animater.hooks.eventTypes.end, function (pos) {\r\n if (!_this.resetPosition(_this.options.bounceTime)) {\r\n _this.animater.setPending(false);\r\n _this.hooks.trigger(_this.hooks.eventTypes.scrollEnd, pos);\r\n }\r\n });\r\n bubbling(this.animater.hooks, this.hooks, [\r\n {\r\n source: this.animater.hooks.eventTypes.move,\r\n target: this.hooks.eventTypes.scroll\r\n },\r\n {\r\n source: this.animater.hooks.eventTypes.forceStop,\r\n target: this.hooks.eventTypes.scrollEnd\r\n }\r\n ]);\r\n };\r\n Scroller.prototype.bindActions = function () {\r\n var _this = this;\r\n var actions = this.actions;\r\n bubbling(actions.hooks, this.hooks, [\r\n {\r\n source: actions.hooks.eventTypes.start,\r\n target: this.hooks.eventTypes.beforeStart\r\n },\r\n {\r\n source: actions.hooks.eventTypes.start,\r\n target: this.hooks.eventTypes.beforeScrollStart // just for event api\r\n },\r\n {\r\n source: actions.hooks.eventTypes.beforeMove,\r\n target: this.hooks.eventTypes.beforeMove\r\n },\r\n {\r\n source: actions.hooks.eventTypes.scrollStart,\r\n target: this.hooks.eventTypes.scrollStart\r\n },\r\n {\r\n source: actions.hooks.eventTypes.scroll,\r\n target: this.hooks.eventTypes.scroll\r\n },\r\n {\r\n source: actions.hooks.eventTypes.beforeEnd,\r\n target: this.hooks.eventTypes.beforeEnd\r\n }\r\n ]);\r\n actions.hooks.on(actions.hooks.eventTypes.end, function (e, pos) {\r\n _this.hooks.trigger(_this.hooks.eventTypes.touchEnd, pos);\r\n if (_this.hooks.trigger(_this.hooks.eventTypes.end, pos)) {\r\n return true;\r\n }\r\n // check if it is a click operation\r\n if (!actions.moved && _this.checkClick(e)) {\r\n _this.animater.setForceStopped(false);\r\n _this.hooks.trigger(_this.hooks.eventTypes.scrollCancel);\r\n return true;\r\n }\r\n _this.animater.setForceStopped(false);\r\n // reset if we are outside of the boundaries\r\n if (_this.resetPosition(_this.options.bounceTime, ease.bounce)) {\r\n return true;\r\n }\r\n });\r\n actions.hooks.on(actions.hooks.eventTypes.scrollEnd, function (pos, duration) {\r\n var deltaX = Math.abs(pos.x - _this.scrollBehaviorX.startPos);\r\n var deltaY = Math.abs(pos.y - _this.scrollBehaviorY.startPos);\r\n if (_this.checkFlick(duration, deltaX, deltaY)) {\r\n _this.hooks.trigger(_this.hooks.eventTypes.flick);\r\n return;\r\n }\r\n if (_this.momentum(pos, duration)) {\r\n return;\r\n }\r\n _this.hooks.trigger(_this.hooks.eventTypes.scrollEnd, pos);\r\n });\r\n };\r\n Scroller.prototype.checkFlick = function (duration, deltaX, deltaY) {\r\n // flick\r\n if (this.hooks.events.flick.length > 1 &&\r\n duration < this.options.flickLimitTime &&\r\n deltaX < this.options.flickLimitDistance &&\r\n deltaY < this.options.flickLimitDistance) {\r\n return true;\r\n }\r\n };\r\n Scroller.prototype.momentum = function (pos, duration) {\r\n var meta = {\r\n time: 0,\r\n easing: ease.swiper,\r\n newX: pos.x,\r\n newY: pos.y\r\n };\r\n // start momentum animation if needed\r\n var momentumX = this.scrollBehaviorX.end(duration);\r\n var momentumY = this.scrollBehaviorY.end(duration);\r\n meta.newX = isUndef(momentumX.destination)\r\n ? meta.newX\r\n : momentumX.destination;\r\n meta.newY = isUndef(momentumY.destination)\r\n ? meta.newY\r\n : momentumY.destination;\r\n meta.time = Math.max(momentumX.duration, momentumY.duration);\r\n this.hooks.trigger(this.hooks.eventTypes.momentum, meta, this);\r\n // when x or y changed, do momentum animation now!\r\n if (meta.newX !== pos.x || meta.newY !== pos.y) {\r\n // change easing function when scroller goes out of the boundaries\r\n if (meta.newX > this.scrollBehaviorX.minScrollPos ||\r\n meta.newX < this.scrollBehaviorX.maxScrollPos ||\r\n meta.newY > this.scrollBehaviorY.minScrollPos ||\r\n meta.newY < this.scrollBehaviorY.maxScrollPos) {\r\n meta.easing = ease.swipeBounce;\r\n }\r\n this.scrollTo(meta.newX, meta.newY, meta.time, meta.easing);\r\n return true;\r\n }\r\n };\r\n Scroller.prototype.checkClick = function (e) {\r\n // when in the process of pulling down, it should not prevent click\r\n var cancelable = {\r\n preventClick: this.animater.forceStopped\r\n };\r\n // we scrolled less than momentumLimitDistance pixels\r\n if (this.hooks.trigger(this.hooks.eventTypes.checkClick))\r\n return true;\r\n if (!cancelable.preventClick) {\r\n var _dblclick = this.options.dblclick;\r\n var dblclickTrigged = false;\r\n if (_dblclick && this.lastClickTime) {\r\n var _a = _dblclick.delay, delay = _a === void 0 ? 300 : _a;\r\n if (getNow() - this.lastClickTime < delay) {\r\n dblclickTrigged = true;\r\n dblclick(e);\r\n }\r\n }\r\n if (this.options.tap) {\r\n tap(e, this.options.tap);\r\n }\r\n if (this.options.click &&\r\n !preventDefaultExceptionFn(e.target, this.options.preventDefaultException)) {\r\n click(e);\r\n }\r\n this.lastClickTime = dblclickTrigged ? null : getNow();\r\n return true;\r\n }\r\n return false;\r\n };\r\n Scroller.prototype.resize = function () {\r\n var _this = this;\r\n if (!this.actions.enabled) {\r\n return;\r\n }\r\n // fix a scroll problem under Android condition\r\n if (isAndroid) {\r\n this.wrapper.scrollTop = 0;\r\n }\r\n if (!this.hooks.trigger(this.hooks.eventTypes.resize)) {\r\n clearTimeout(this.resizeTimeout);\r\n this.resizeTimeout = window.setTimeout(function () {\r\n _this.refresh();\r\n }, this.options.resizePolling);\r\n }\r\n };\r\n Scroller.prototype.transitionEnd = function (e) {\r\n if (e.target !== this.content || !this.animater.pending) {\r\n return;\r\n }\r\n var animater = this.animater;\r\n animater.transitionTime();\r\n if (!this.resetPosition(this.options.bounceTime, ease.bounce)) {\r\n this.animater.setPending(false);\r\n if (this.options.probeType !== 3 /* Realtime */) {\r\n this.hooks.trigger(this.hooks.eventTypes.scrollEnd, this.getCurrentPos());\r\n }\r\n }\r\n };\r\n Scroller.prototype.togglePointerEvents = function (enabled) {\r\n if (enabled === void 0) { enabled = true; }\r\n var el = this.content.children.length\r\n ? this.content.children\r\n : [this.content];\r\n var pointerEvents = enabled ? 'auto' : 'none';\r\n for (var i = 0; i < el.length; i++) {\r\n var node = el[i];\r\n // ignore BetterScroll instance's wrapper DOM\r\n if (node.isBScrollContainer) {\r\n continue;\r\n }\r\n node.style.pointerEvents = pointerEvents;\r\n }\r\n };\r\n Scroller.prototype.refresh = function () {\r\n this.scrollBehaviorX.refresh();\r\n this.scrollBehaviorY.refresh();\r\n this.actions.refresh();\r\n this.wrapperOffset = offset(this.wrapper);\r\n };\r\n Scroller.prototype.scrollBy = function (deltaX, deltaY, time, easing) {\r\n if (time === void 0) { time = 0; }\r\n var _a = this.getCurrentPos(), x = _a.x, y = _a.y;\r\n easing = !easing ? ease.bounce : easing;\r\n deltaX += x;\r\n deltaY += y;\r\n this.scrollTo(deltaX, deltaY, time, easing);\r\n };\r\n Scroller.prototype.scrollTo = function (x, y, time, easing, extraTransform, isSilent) {\r\n if (time === void 0) { time = 0; }\r\n if (extraTransform === void 0) { extraTransform = {\r\n start: {},\r\n end: {}\r\n }; }\r\n easing = !easing ? ease.bounce : easing;\r\n var easingFn = this.options.useTransition ? easing.style : easing.fn;\r\n var currentPos = this.getCurrentPos();\r\n var startPoint = __assign({ x: currentPos.x, y: currentPos.y }, extraTransform.start);\r\n var endPoint = __assign({ x: x,\r\n y: y }, extraTransform.end);\r\n this.hooks.trigger(this.hooks.eventTypes.scrollTo, endPoint);\r\n if (!this.hooks.trigger(this.hooks.eventTypes.ignoreDisMoveForSamePos)) {\r\n // it is an useless move\r\n if (startPoint.x === endPoint.x && startPoint.y === endPoint.y) {\r\n return;\r\n }\r\n }\r\n this.animater.move(startPoint, endPoint, time, easingFn, isSilent);\r\n };\r\n Scroller.prototype.scrollToElement = function (el, time, offsetX, offsetY, easing) {\r\n var targetEle = getElement(el);\r\n var pos = offset(targetEle);\r\n var getOffset = function (offset, size, wrapperSize) {\r\n if (typeof offset === 'number') {\r\n return offset;\r\n }\r\n // if offsetX/Y are true we center the element to the screen\r\n return offset ? Math.round(size / 2 - wrapperSize / 2) : 0;\r\n };\r\n offsetX = getOffset(offsetX, targetEle.offsetWidth, this.wrapper.offsetWidth);\r\n offsetY = getOffset(offsetY, targetEle.offsetHeight, this.wrapper.offsetHeight);\r\n var getPos = function (pos, wrapperPos, offset, scrollBehavior) {\r\n pos -= wrapperPos;\r\n pos = scrollBehavior.adjustPosition(pos - offset);\r\n return pos;\r\n };\r\n pos.left = getPos(pos.left, this.wrapperOffset.left, offsetX, this.scrollBehaviorX);\r\n pos.top = getPos(pos.top, this.wrapperOffset.top, offsetY, this.scrollBehaviorY);\r\n if (this.hooks.trigger(this.hooks.eventTypes.scrollToElement, targetEle, pos)) {\r\n return;\r\n }\r\n this.scrollTo(pos.left, pos.top, time, easing);\r\n };\r\n Scroller.prototype.resetPosition = function (time, easing) {\r\n if (time === void 0) { time = 0; }\r\n easing = !easing ? ease.bounce : easing;\r\n var _a = this.scrollBehaviorX.checkInBoundary(), x = _a.position, xInBoundary = _a.inBoundary;\r\n var _b = this.scrollBehaviorY.checkInBoundary(), y = _b.position, yInBoundary = _b.inBoundary;\r\n if (xInBoundary && yInBoundary) {\r\n return false;\r\n }\r\n // fix ios 13.4 bouncing\r\n // see it in issues 982\r\n this._reflow = this.content.offsetHeight;\r\n // out of boundary\r\n this.scrollTo(x, y, time, easing);\r\n return true;\r\n };\r\n Scroller.prototype.updatePositions = function (pos) {\r\n this.scrollBehaviorX.updatePosition(pos.x);\r\n this.scrollBehaviorY.updatePosition(pos.y);\r\n };\r\n Scroller.prototype.getCurrentPos = function () {\r\n return this.actions.getCurrentPos();\r\n };\r\n Scroller.prototype.enable = function () {\r\n this.actions.enabled = true;\r\n };\r\n Scroller.prototype.disable = function () {\r\n cancelAnimationFrame(this.animater.timer);\r\n this.actions.enabled = false;\r\n };\r\n Scroller.prototype.destroy = function () {\r\n var _this = this;\r\n var keys = [\r\n 'resizeRegister',\r\n 'transitionEndRegister',\r\n 'actionsHandler',\r\n 'actions',\r\n 'hooks',\r\n 'animater',\r\n 'translater',\r\n 'scrollBehaviorX',\r\n 'scrollBehaviorY'\r\n ];\r\n keys.forEach(function (key) { return _this[key].destroy(); });\r\n };\r\n return Scroller;\r\n}());\n\nvar propertiesConfig = [\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.currentPos',\r\n key: 'x'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.currentPos',\r\n key: 'y'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.hasScroll',\r\n key: 'hasHorizontalScroll'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.hasScroll',\r\n key: 'hasVerticalScroll'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.contentSize',\r\n key: 'scrollerWidth'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.contentSize',\r\n key: 'scrollerHeight'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.maxScrollPos',\r\n key: 'maxScrollX'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.maxScrollPos',\r\n key: 'maxScrollY'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.minScrollPos',\r\n key: 'minScrollX'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.minScrollPos',\r\n key: 'minScrollY'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.movingDirection',\r\n key: 'movingDirectionX'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.movingDirection',\r\n key: 'movingDirectionY'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorX.direction',\r\n key: 'directionX'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBehaviorY.direction',\r\n key: 'directionY'\r\n },\r\n {\r\n sourceKey: 'scroller.actions.enabled',\r\n key: 'enabled'\r\n },\r\n {\r\n sourceKey: 'scroller.animater.pending',\r\n key: 'pending'\r\n },\r\n {\r\n sourceKey: 'scroller.animater.stop',\r\n key: 'stop'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollTo',\r\n key: 'scrollTo'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollBy',\r\n key: 'scrollBy'\r\n },\r\n {\r\n sourceKey: 'scroller.scrollToElement',\r\n key: 'scrollToElement'\r\n },\r\n {\r\n sourceKey: 'scroller.resetPosition',\r\n key: 'resetPosition'\r\n }\r\n];\n\nvar BScroll = /** @class */ (function (_super) {\r\n __extends(BScroll, _super);\r\n function BScroll(el, options) {\r\n var _this = _super.call(this, [\r\n 'refresh',\r\n 'enable',\r\n 'disable',\r\n 'beforeScrollStart',\r\n 'scrollStart',\r\n 'scroll',\r\n 'scrollEnd',\r\n 'scrollCancel',\r\n 'touchEnd',\r\n 'flick',\r\n 'destroy'\r\n ]) || this;\r\n var wrapper = getElement(el);\r\n if (!wrapper) {\r\n warn('Can not resolve the wrapper DOM.');\r\n return _this;\r\n }\r\n var content = wrapper.children[0];\r\n if (!content) {\r\n warn('The wrapper need at least one child element to be scroller.');\r\n return _this;\r\n }\r\n _this.plugins = {};\r\n _this.options = new Options().merge(options).process();\r\n _this.hooks = new EventEmitter([\r\n 'init',\r\n 'refresh',\r\n 'enable',\r\n 'disable',\r\n 'destroy'\r\n ]);\r\n _this.init(wrapper);\r\n return _this;\r\n }\r\n BScroll.use = function (ctor) {\r\n var name = ctor.pluginName;\r\n var installed = this.plugins.some(function (plugin) { return ctor === plugin.ctor; });\r\n if (installed)\r\n return this;\r\n if (isUndef(name)) {\r\n warn(\"Plugin Class must specify plugin's name in static property by 'pluginName' field.\");\r\n return this;\r\n }\r\n if (this.pluginsMap[name]) {\r\n warn(\"This plugin has been registered, maybe you need change plugin's name\");\r\n return this;\r\n }\r\n this.pluginsMap[name] = true;\r\n this.plugins.push({\r\n name: name,\r\n applyOrder: ctor.applyOrder,\r\n ctor: ctor\r\n });\r\n return this;\r\n };\r\n BScroll.prototype.init = function (wrapper) {\r\n this.wrapper = wrapper;\r\n wrapper.isBScrollContainer = true;\r\n this.scroller = new Scroller(wrapper, this.options);\r\n this.eventBubbling();\r\n this.handleAutoBlur();\r\n this.innerRefresh();\r\n this.scroller.scrollTo(this.options.startX, this.options.startY);\r\n this.enable();\r\n this.proxy(propertiesConfig);\r\n this.applyPlugins();\r\n };\r\n BScroll.prototype.applyPlugins = function () {\r\n var _this = this;\r\n var options = this.options;\r\n this.constructor.plugins\r\n .sort(function (a, b) {\r\n var _a;\r\n var applyOrderMap = (_a = {},\r\n _a[\"pre\" /* Pre */] = -1,\r\n _a[\"post\" /* Post */] = 1,\r\n _a);\r\n var aOrder = a.applyOrder ? applyOrderMap[a.applyOrder] : 0;\r\n var bOrder = b.applyOrder ? applyOrderMap[b.applyOrder] : 0;\r\n return aOrder - bOrder;\r\n })\r\n .forEach(function (item) {\r\n var ctor = item.ctor;\r\n if (options[item.name] && typeof ctor === 'function') {\r\n _this.plugins[item.name] = new ctor(_this);\r\n }\r\n });\r\n };\r\n BScroll.prototype.handleAutoBlur = function () {\r\n if (this.options.autoBlur) {\r\n this.on(this.eventTypes.beforeScrollStart, function () {\r\n var activeElement = document.activeElement;\r\n if (activeElement &&\r\n (activeElement.tagName === 'INPUT' ||\r\n activeElement.tagName === 'TEXTAREA')) {\r\n activeElement.blur();\r\n }\r\n });\r\n }\r\n };\r\n BScroll.prototype.eventBubbling = function () {\r\n bubbling(this.scroller.hooks, this, [\r\n 'beforeScrollStart',\r\n 'scrollStart',\r\n 'scroll',\r\n 'scrollEnd',\r\n 'scrollCancel',\r\n 'touchEnd',\r\n 'flick'\r\n ]);\r\n };\r\n BScroll.prototype.innerRefresh = function () {\r\n this.scroller.refresh();\r\n this.hooks.trigger(this.hooks.eventTypes.refresh);\r\n this.trigger(this.eventTypes.refresh);\r\n };\r\n BScroll.prototype.proxy = function (propertiesConfig) {\r\n var _this = this;\r\n propertiesConfig.forEach(function (_a) {\r\n var key = _a.key, sourceKey = _a.sourceKey;\r\n propertiesProxy(_this, sourceKey, key);\r\n });\r\n };\r\n BScroll.prototype.refresh = function () {\r\n this.innerRefresh();\r\n this.scroller.resetPosition();\r\n };\r\n BScroll.prototype.enable = function () {\r\n this.scroller.enable();\r\n this.hooks.trigger(this.hooks.eventTypes.enable);\r\n this.trigger(this.eventTypes.enable);\r\n };\r\n BScroll.prototype.disable = function () {\r\n this.scroller.disable();\r\n this.hooks.trigger(this.hooks.eventTypes.disable);\r\n this.trigger(this.eventTypes.disable);\r\n };\r\n BScroll.prototype.destroy = function () {\r\n this.hooks.trigger(this.hooks.eventTypes.destroy);\r\n this.trigger(this.eventTypes.destroy);\r\n this.scroller.destroy();\r\n };\r\n BScroll.prototype.eventRegister = function (names) {\r\n this.registerType(names);\r\n };\r\n BScroll.plugins = [];\r\n BScroll.pluginsMap = {};\r\n return BScroll;\r\n}(EventEmitter));\n\nexport default BScroll;\nexport { Behavior, Options };\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar arrayMethodUsesToLength = require('../internals/array-method-uses-to-length');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n// FF49- issue\nvar USES_TO_LENGTH = arrayMethodUsesToLength('map');\n\n// `Array.prototype.map` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT || !USES_TO_LENGTH }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","import React, { FunctionComponent } from 'react';\nimport './index.scss';\nimport env from 'libs/env';\nimport urlParams from 'libs/query';\nimport { cx } from 'emotion';\nimport Cookie from 'js-cookie';\nexport interface OptionItem {\n id: number;\n name: string;\n}\n\nexport interface Props {\n title: string;\n showBack: boolean;\n onBackButtonClicked?: () => void;\n options?: OptionItem[];\n onOptionItemSelected?: (item: OptionItem) => void;\n customClass?: string;\n showNotToutiaoPrd?: boolean;\n}\nconst TitleBar: FunctionComponent = (props) => {\n const singleOption = props.options && props.options.length === 1 && props.options[0];\n\n // 头条产品线中,懂车帝无法隐藏端上的返回按钮,所以不隐藏端上的头部,也就不显示这个自定义头部了\n if (\n (!env.isInToutiaoProduct && !props.showNotToutiaoPrd) ||\n urlParams.hide_custom_title_bar ||\n env.isInMobile\n )\n return null;\n return (\n
\n {props.showBack && (\n
\n )}\n
{props.children || props.title}
\n {singleOption && (\n {\n if (props.onOptionItemSelected) props.onOptionItemSelected(singleOption);\n }}\n >\n {singleOption.name}\n
\n )}\n
\n );\n};\n\nexport default TitleBar;\n","import { env } from '@byted/ecom-mobile-lib';\nimport query from 'libs/query';\n\nexport const addThemeClass = () => {\n if (env.isInAweme) {\n document.body.classList.add('douyin');\n }\n\n if (env.isInToutiao || env.isInToutiaoLite) {\n document.body.classList.add('toutiao');\n }\n\n if (env.isInVideo) {\n document.body.classList.add('xigua');\n }\n\n if (env.isInHotsoon) {\n document.body.classList.add('huoshan');\n }\n\n if (env.isInSuper) {\n document.body.classList.add('pipixia');\n }\n\n if (env.isInMobile) {\n document.body.classList.add('dongchedi');\n }\n\n query.app && document.body.classList.add(query.app);\n};\n","import React, { FunctionComponent } from 'react';\nimport cx from 'classnames';\nimport './index.scss';\nimport env from 'libs/env';\n\ninterface Props {\n onRetry?: () => void;\n message: string;\n showRetry?: boolean;\n style?: React.CSSProperties;\n type?: string;\n}\n\nconst isInDouyin = env.isInAweme || env.isInToutiao;\n\nconst EmbeddedFailure: FunctionComponent = (props) => {\n const { showRetry = true, type = 'time-fail', style } = props;\n return (\n
\n \n
{props.message}
\n {showRetry ? (\n
点击重试
\n ) : null}\n
\n );\n};\n\nexport default EmbeddedFailure;\n","import React, { FC, memo, MouseEventHandler, CSSProperties } from 'react';\nimport './index.scss';\n\nexport type buttonSize = 'l' | 'm' | 'xl' | 's';\nexport type buttonType = 'primary' | 'secondary' | 'normal';\nexport interface Props {\n onClick?: MouseEventHandler;\n className?: string;\n style?: CSSProperties;\n size?: buttonSize;\n type?: buttonType;\n disabled?: boolean;\n}\n\nexport const Button: FC = memo(\n ({\n size = 'm',\n children,\n onClick: handleClick,\n type = 'normal',\n className,\n style,\n disabled\n }) => {\n const sizeClass = `btn-${size}`;\n const typeClass = `btn-${type}`;\n\n return (\n \n
{children}
\n \n );\n }\n);\n\nButton.defaultProps = {\n type: 'normal',\n size: 'm'\n};\n\nexport default Button;\n"],"sourceRoot":""}