From b103b0316bad7c09ce5ccf29b6eee3f97464ea7c Mon Sep 17 00:00:00 2001 From: hbcui1984 Date: Fri, 22 Apr 2016 17:20:00 +0800 Subject: [PATCH] =?UTF-8?q?mui=E7=BC=96=E8=AF=91=E8=87=B3v=203.0.0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dist/css/mui.css | 18 +- dist/css/mui.min.css | 4 +- dist/js/mui.js | 13 +- dist/js/mui.min.js | 6 +- examples/hello-mui/css/mui.min.css | 4 +- examples/hello-mui/examples/info.html | 2 +- examples/hello-mui/examples/setting.html | 2 +- .../examples/tab-vertical-scroll.html | 170 + examples/hello-mui/js/mui.dtpicker.js | 113 +- examples/hello-mui/js/mui.imageViewer.js | 8 +- examples/hello-mui/js/mui.indexedlist.js | 8 +- examples/hello-mui/js/mui.js | 7729 ----------------- examples/hello-mui/js/mui.lazyload.js | 21 +- examples/hello-mui/js/mui.locker.js | 6 +- examples/hello-mui/js/mui.picker.all.js | 143 +- examples/hello-mui/js/mui.picker.js | 26 +- examples/hello-mui/js/mui.picker.min.js | 2 +- examples/hello-mui/js/mui.poppicker.js | 4 +- examples/hello-mui/js/mui.previewimage.js | 24 +- examples/hello-mui/js/mui.view.js | 4 +- examples/hello-mui/js/mui.zoom.js | 36 +- examples/hello-mui/list.html | 5 + js/mui.class.scroll.js | 4 +- js/mui.popup.js | 5 +- js/mui.progressbar.js | 2 + package.json | 2 +- sass/fullscreen.scss | 34 +- sass/popup.scss | 43 +- 28 files changed, 518 insertions(+), 7920 deletions(-) create mode 100644 examples/hello-mui/examples/tab-vertical-scroll.html delete mode 100644 examples/hello-mui/js/mui.js diff --git a/dist/css/mui.css b/dist/css/mui.css index aab2c906..da849430 100644 --- a/dist/css/mui.css +++ b/dist/css/mui.css @@ -1,6 +1,6 @@ /*! * ===================================================== - * Mui v2.9.0 (http://dev.dcloud.net.cn/mui) + * Mui v3.0.0 (http://dev.dcloud.net.cn/mui) * ===================================================== */ @@ -3692,7 +3692,7 @@ select:focus .mui-popup { - position: absolute; + position: fixed; z-index: 10000; top: 50%; left: 50%; @@ -3775,9 +3775,10 @@ select:focus .mui-popup-title + .mui-popup-text { + font-family: inherit; font-size: 14px; - margin-top: 5px; + margin: 5px 0 0; } .mui-popup-buttons @@ -3869,8 +3870,7 @@ select:focus width: 100%; height: 26px; - margin: 0; - margin-top: 15px; + margin: 15px 0 0; padding: 0 5px; border: 1px solid rgba(0, 0, 0, .3); @@ -5299,9 +5299,6 @@ body > .mui-progressbar right: 0; bottom: 0; left: 0; - - width: 100%; - height: 100%; } .mui-fullscreen.mui-slider .mui-slider-group { @@ -5331,6 +5328,11 @@ body > .mui-progressbar transform: none; } +.mui-bar-nav ~ .mui-content .mui-slider.mui-fullscreen +{ + top: 44px; +} + .mui-bar-tab ~ .mui-content .mui-slider.mui-fullscreen .mui-segmented-control ~ .mui-slider-group { bottom: 50px; diff --git a/dist/css/mui.min.css b/dist/css/mui.min.css index 3f8eeec6..f4ec2644 100644 --- a/dist/css/mui.min.css +++ b/dist/css/mui.min.css @@ -1,5 +1,5 @@ /*! * ===================================================== - * Mui v2.9.0 (http://dev.dcloud.net.cn/mui) + * Mui v3.0.0 (http://dev.dcloud.net.cn/mui) * ===================================================== - *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{overflow:hidden;margin:0 15px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:absolute;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-size:14px;margin-top:5px}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:0;margin-top:15px;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:0;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{position:fixed;z-index:9999;bottom:50px;width:100%;-webkit-transition:opacity .8s;transition:opacity .8s;opacity:0}.mui-toast-container.mui-active{opacity:1}.mui-toast-message{font-size:14px;width:270px;margin:5px auto;padding:5px;text-align:center;color:#000;border-radius:7px;background-color:#d8d8d8}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0} \ No newline at end of file + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{overflow:hidden;margin:0 15px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:fixed;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-family:inherit;font-size:14px;margin:5px 0 0}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:15px 0 0;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:0;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{position:fixed;z-index:9999;bottom:50px;width:100%;-webkit-transition:opacity .8s;transition:opacity .8s;opacity:0}.mui-toast-container.mui-active{opacity:1}.mui-toast-message{font-size:14px;width:270px;margin:5px auto;padding:5px;text-align:center;color:#000;border-radius:7px;background-color:#d8d8d8}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{top:44px}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0} \ No newline at end of file diff --git a/dist/js/mui.js b/dist/js/mui.js index 88929da3..41541ec9 100644 --- a/dist/js/mui.js +++ b/dist/js/mui.js @@ -1,6 +1,6 @@ /*! * ===================================================== - * Mui v2.9.0 (http://dev.dcloud.net.cn/mui) + * Mui v3.0.0 (http://dev.dcloud.net.cn/mui) * ===================================================== */ /** @@ -3396,7 +3396,6 @@ Function.prototype.bind = Function.prototype.bind || function(to) { scrollTime: 500, scrollEasing: ease.outCubic, //轮播动画曲线 - directionLockThreshold: 5, parallaxElement: false, //视差元素 @@ -3837,7 +3836,7 @@ Function.prototype.bind = Function.prototype.bind || function(to) { } }, _scrollend: function(e) { - if (Math.abs(this.y) > 0 && this.y <= this.maxScrollY) { + if ((this.y === 0 && this.maxScrollY === 0) || (Math.abs(this.y) > 0 && this.y <= this.maxScrollY)) { $.trigger(this.scroller, 'scrollbottom', this); } }, @@ -4120,7 +4119,6 @@ Function.prototype.bind = Function.prototype.bind || function(to) { speedRatioY: 0 }, options); - this.sizeRatioX = 1; this.sizeRatioY = 1; this.maxPosX = 0; @@ -6999,6 +6997,7 @@ Function.prototype.bind = Function.prototype.bind || function(to) { var backdrop = (function() { var element = document.createElement('div'); element.classList.add(CLASS_POPUP_BACKDROP); + element.addEventListener($.EVENT_MOVE, $.preventDefault); element.addEventListener('webkitTransitionEnd', function() { if (!this.classList.contains(CLASS_ACTIVE)) { element.parentNode && element.parentNode.removeChild(element); @@ -7011,7 +7010,7 @@ Function.prototype.bind = Function.prototype.bind || function(to) { return '
'; }; var createInner = function(message, title, extra) { - return '
' + title + '
' + message + '
' + (extra || '') + '
'; + return '
' + title + '
' + message + '
' + (extra || '') + '
'; }; var createButtons = function(btnArray) { var length = btnArray.length; @@ -7030,7 +7029,7 @@ Function.prototype.bind = Function.prototype.bind || function(to) { popupElement.parentNode && popupElement.parentNode.removeChild(popupElement); popupElement = null; }; - + popupElement.addEventListener($.EVENT_MOVE, $.preventDefault); popupElement.addEventListener('webkitTransitionEnd', function(e) { if (popupElement && e.target === popupElement && popupElement.classList.contains(CLASS_POPUP_OUT)) { removePopupElement(); @@ -7241,6 +7240,8 @@ Function.prototype.bind = Function.prototype.bind || function(to) { progressbar.innerHTML = ''; } container.appendChild(progressbar); + } else { + progressbar.classList.add(CLASS_PROGRESSBAR_IN); } } if (progress) setProgressbar(container, progress); diff --git a/dist/js/mui.min.js b/dist/js/mui.min.js index 2a032a6e..3ed4ac6f 100644 --- a/dist/js/mui.min.js +++ b/dist/js/mui.min.js @@ -1,9 +1,9 @@ /*! * ===================================================== - * Mui v2.9.0 (http://dev.dcloud.net.cn/mui) + * Mui v3.0.0 (http://dev.dcloud.net.cn/mui) * ===================================================== */ var mui=function(a,b){var c=/complete|loaded|interactive/,d=/^#([\w-]+)$/,e=/^\.([\w-]+)$/,f=/^[\w-]+$/,g=/translate(?:3d)?\((.+?)\)/,h=/matrix(3d)?\((.+?)\)/,i=function(b,c){if(c=c||a,!b)return j();if("object"==typeof b)return i.isArrayLike(b)?j(i.slice.call(b),null):j([b],null);if("function"==typeof b)return i.ready(b);if("string"==typeof b)try{if(b=b.trim(),d.test(b)){var e=a.getElementById(RegExp.$1);return j(e?[e]:[])}return j(i.qsa(b,c),b)}catch(f){}return j()},j=function(a,b){return a=a||[],Object.setPrototypeOf(a,i.fn),a.selector=b||"",a};i.uuid=0,i.data={},i.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},j=1,k=arguments.length,l=!1;for("boolean"==typeof h&&(l=h,h=arguments[j]||{},j++),"object"==typeof h||i.isFunction(h)||(h={}),j===k&&(h=this,j--);k>j;j++)if(null!=(a=arguments[j]))for(c in a)d=h[c],e=a[c],h!==e&&(l&&e&&(i.isPlainObject(e)||(f=i.isArray(e)))?(f?(f=!1,g=d&&i.isArray(d)?d:[]):g=d&&i.isPlainObject(d)?d:{},h[c]=i.extend(l,g,e)):e!==b&&(h[c]=e));return h},i.noop=function(){},i.slice=[].slice,i.filter=[].filter,i.type=function(a){return null==a?String(a):k[{}.toString.call(a)]||"object"},i.isArray=Array.isArray||function(a){return a instanceof Array},i.isArrayLike=function(a){var b=!!a&&"length"in a&&a.length,c=i.type(a);return"function"===c||i.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a},i.isWindow=function(a){return null!=a&&a===a.window},i.isObject=function(a){return"object"===i.type(a)},i.isPlainObject=function(a){return i.isObject(a)&&!i.isWindow(a)&&Object.getPrototypeOf(a)===Object.prototype},i.isEmptyObject=function(a){for(var c in a)if(c!==b)return!1;return!0},i.isFunction=function(a){return"function"===i.type(a)},i.qsa=function(b,c){return c=c||a,i.slice.call(e.test(b)?c.getElementsByClassName(RegExp.$1):f.test(b)?c.getElementsByTagName(b):c.querySelectorAll(b))},i.ready=function(b){return c.test(a.readyState)?b(i):a.addEventListener("DOMContentLoaded",function(){b(i)},!1),this},i.each=function(a,b,c){if(!a)return this;if("number"==typeof a.length)[].every.call(a,function(a,c){return b.call(a,c,a)!==!1});else for(var d in a)if(c){if(a.hasOwnProperty(d)&&b.call(a[d],d,a[d])===!1)return a}else if(b.call(a[d],d,a[d])===!1)return a;return this},i.focus=function(a){i.os.ios?setTimeout(function(){a.focus()},10):a.focus()},i.trigger=function(a,b,c){return a.dispatchEvent(new CustomEvent(b,{detail:c,bubbles:!0,cancelable:!0})),this},i.getStyles=function(a,b){var c=a.ownerDocument.defaultView.getComputedStyle(a,null);return b?c.getPropertyValue(b)||c[b]:c},i.parseTranslate=function(a,b){var c=a.match(g||"");return c&&c[1]||(c=["","0,0,0"]),c=c[1].split(","),c={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])},b&&c.hasOwnProperty(b)?c[b]:c},i.parseTranslateMatrix=function(a,b){var c=a.match(h),d=c&&c[1];c?(c=c[2].split(","),"3d"===d?c=c.slice(12,15):(c.push(0),c=c.slice(4,7))):c=[0,0,0];var e={x:parseFloat(c[0]),y:parseFloat(c[1]),z:parseFloat(c[2])};return b&&e.hasOwnProperty(b)?e[b]:e},i.hooks={},i.addAction=function(a,b){var c=i.hooks[a];return c||(c=[]),b.index=b.index||1e3,c.push(b),c.sort(function(a,b){return a.index-b.index}),i.hooks[a]=c,i.hooks[a]},i.doAction=function(a,b){i.isFunction(b)?i.each(i.hooks[a],b):i.each(i.hooks[a],function(a,b){return!b.handle()})},i.later=function(a,b,c,d){b=b||0;var e,f,g=a,h=d;return"string"==typeof a&&(g=c[a]),e=function(){g.apply(c,i.isArray(h)?h:[h])},f=setTimeout(e,b),{id:f,cancel:function(){clearTimeout(f)}}},i.now=Date.now||function(){return+new Date};var k={};return i.each(["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error"],function(a,b){k["[object "+b+"]"]=b.toLowerCase()}),window.JSON&&(i.parseJSON=JSON.parse),i.fn={each:function(a){return[].every.call(this,function(b,c){return a.call(b,c,b)!==!1}),this}},"function"==typeof define&&define.amd&&define("mui",[],function(){return i}),i}(document);!function(a,b){function c(c){this.os={};var d=[function(){var a=c.match(/(MicroMessenger)\/([\d\.]+)/i);return a&&(this.os.wechat={version:a[2].replace(/_/g,".")}),!1},function(){var a=c.match(/(Android);?[\s\/]+([\d.]+)?/);return a&&(this.os.android=!0,this.os.version=a[2],this.os.isBadAndroid=!/Chrome\/\d/.test(b.navigator.appVersion)),this.os.android===!0},function(){var a=c.match(/(iPhone\sOS)\s([\d_]+)/);if(a)this.os.ios=this.os.iphone=!0,this.os.version=a[2].replace(/_/g,".");else{var b=c.match(/(iPad).*OS\s([\d_]+)/);b&&(this.os.ios=this.os.ipad=!0,this.os.version=b[2].replace(/_/g,"."))}return this.os.ios===!0}];[].every.call(d,function(b){return!b.call(a)})}c.call(a,navigator.userAgent)}(mui,window),function(a,b){function c(c){this.os=this.os||{};var d=c.match(/Html5Plus/i);d&&(this.os.plus=!0,a(function(){b.body.classList.add("mui-plus")}),c.match(/StreamApp/i)&&(this.os.stream=!0,a(function(){b.body.classList.add("mui-plus-stream")})))}c.call(a,navigator.userAgent)}(mui,document),function(a){"ontouchstart"in window?(a.isTouchable=!0,a.EVENT_START="touchstart",a.EVENT_MOVE="touchmove",a.EVENT_END="touchend"):(a.isTouchable=!1,a.EVENT_START="mousedown",a.EVENT_MOVE="mousemove",a.EVENT_END="mouseup"),a.EVENT_CANCEL="touchcancel",a.EVENT_CLICK="click";var b=1,c={},d={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"},e=function(){return!0},f=function(){return!1},g=function(b,c){return b.detail?b.detail.currentTarget=c:b.detail={currentTarget:c},a.each(d,function(a,c){var d=b[a];b[a]=function(){return this[c]=e,d&&d.apply(b,arguments)},b[c]=f},!0),b},h=function(a){return a&&(a._mid||(a._mid=b++))},i={},j=function(b,d,e,f){return function(e){for(var f=c[b._mid][d],h=[],i=e.target,j={};i&&i!==document&&i!==b&&(!~["click","tap","doubletap","longtap","hold"].indexOf(d)||!i.disabled&&!i.classList.contains("mui-disabled"));i=i.parentNode){var k={};a.each(f,function(c,d){j[c]||(j[c]=a.qsa(c,b)),j[c]&&~j[c].indexOf(i)&&(k[c]||(k[c]=d))},!0),a.isEmptyObject(k)||h.push({element:i,handlers:k})}j=null,e=g(e),a.each(h,function(b,c){i=c.element;var f=i.tagName;return"tap"===d&&"INPUT"!==f&&"TEXTAREA"!==f&&"SELECT"!==f&&(e.preventDefault(),e.detail&&e.detail.gesture&&e.detail.gesture.preventDefault()),a.each(c.handlers,function(b,c){a.each(c,function(a,b){b.call(i,e)===!1&&(e.preventDefault(),e.stopPropagation())},!0)},!0),e.isPropagationStopped()?!1:void 0},!0)}},k=function(a,b){var c=i[h(a)],d=[];if(c){if(d=[],b){var e=function(a){return a.type===b};return c.filter(e)}d=c}return d},l=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;a.fn.on=function(b,d,e){return this.each(function(){var f=this;h(f),h(e);var g=!1,k=c[f._mid]||(c[f._mid]={}),m=k[b]||(k[b]={});a.isEmptyObject(m)&&(g=!0);var n=m[d]||(m[d]=[]);if(n.push(e),g){var o=i[h(f)];o||(o=[]);var p=j(f,b,d,e);o.push(p),p.i=o.length-1,p.type=b,i[h(f)]=o,f.addEventListener(b,p),"tap"===b&&f.addEventListener("click",function(a){if(a.target){var b=a.target.tagName;if(!l.test(b))if("A"===b){var c=a.target.href;c&&~c.indexOf("tel:")||a.preventDefault()}else a.preventDefault()}})}})},a.fn.off=function(b,d,e){return this.each(function(){var f=h(this);if(b)if(d)if(e){var g=c[f]&&c[f][b]&&c[f][b][d];a.each(g,function(a,b){return h(b)===h(e)?(g.splice(a,1),!1):void 0},!0)}else c[f]&&c[f][b]&&delete c[f][b][d];else c[f]&&delete c[f][b];else c[f]&&delete c[f];c[f]?(!c[f][b]||a.isEmptyObject(c[f][b]))&&k(this,b).forEach(function(a){this.removeEventListener(a.type,a),delete i[f][a.i]}.bind(this)):k(this).forEach(function(a){this.removeEventListener(a.type,a),delete i[f][a.i]}.bind(this))})}}(mui),function(a,b,c){a.targets={},a.targetHandles=[],a.registerTarget=function(b){return b.index=b.index||1e3,a.targetHandles.push(b),a.targetHandles.sort(function(a,b){return a.index-b.index}),a.targetHandles},b.addEventListener(a.EVENT_START,function(b){for(var d=b.target,e={};d&&d!==c;d=d.parentNode){var f=!1;if(a.each(a.targetHandles,function(c,g){var h=g.name;f||e[h]||!g.hasOwnProperty("handle")?e[h]||g.isReset!==!1&&(a.targets[h]=!1):(a.targets[h]=g.handle(b,d),a.targets[h]&&(e[h]=!0,g.isContinue!==!0&&(f=!0)))}),f)break}}),b.addEventListener("click",function(b){for(var d=b.target,e=!1;d&&d!==c&&("A"!==d.tagName||(a.each(a.targetHandles,function(a,c){c.name;return c.hasOwnProperty("handle")&&c.handle(b,d)?(e=!0,b.preventDefault(),!1):void 0}),!e));d=d.parentNode);})}(mui,window,document),function(a){String.prototype.trim===a&&(String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}),Object.setPrototypeOf=Object.setPrototypeOf||function(a,b){return a.__proto__=b,a}}(),function(){function a(a,b){b=b||{bubbles:!1,cancelable:!1,detail:void 0};var c=document.createEvent("Events"),d=!0;for(var e in b)"bubbles"===e?d=!!b[e]:c[e]=b[e];return c.initEvent(a,d,!0),c}"undefined"==typeof window.CustomEvent&&(a.prototype=window.Event.prototype,window.CustomEvent=a)}(),Function.prototype.bind=Function.prototype.bind||function(a){var b=Array.prototype.splice.call(arguments,1),c=this,d=function(){var e=b.concat(Array.prototype.splice.call(arguments,0));return this instanceof d?void c.apply(this,e):c.apply(a,e)};return d.prototype=c.prototype,d},function(a){"classList"in a.documentElement||!Object.defineProperty||"undefined"==typeof HTMLElement||Object.defineProperty(HTMLElement.prototype,"classList",{get:function(){function a(a){return function(c){var d=b.className.split(/\s+/),e=d.indexOf(c);a(d,e,c),b.className=d.join(" ")}}var b=this,c={add:a(function(a,b,c){~b||a.push(c)}),remove:a(function(a,b){~b&&a.splice(b,1)}),toggle:a(function(a,b,c){~b?a.splice(b,1):a.push(c)}),contains:function(a){return!!~b.className.split(/\s+/).indexOf(a)},item:function(a){return b.className.split(/\s+/)[a]||null}};return Object.defineProperty(c,"length",{get:function(){return b.className.split(/\s+/).length}}),c}})}(document),function(a){if(!a.requestAnimationFrame){var b=0;a.requestAnimationFrame=a.webkitRequestAnimationFrame||function(c,d){var e=(new Date).getTime(),f=Math.max(0,16.7-(e-b)),g=a.setTimeout(function(){c(e+f)},f);return b=e+f,g},a.cancelAnimationFrame=a.webkitCancelAnimationFrame||a.webkitCancelRequestAnimationFrame||function(a){clearTimeout(a)}}}(window),function(a,b,c){if((a.os.android||a.os.ios)&&!b.FastClick){var d=function(a,b){return"LABEL"===b.tagName&&b.parentNode&&(b=b.parentNode.querySelector("input")),!b||"radio"!==b.type&&"checkbox"!==b.type||b.disabled?!1:b};a.registerTarget({name:c,index:40,handle:d,target:!1});var e=function(c){var d=a.targets.click;if(d){var e,f;document.activeElement&&document.activeElement!==d&&document.activeElement.blur(),f=c.detail.gesture.changedTouches[0],e=document.createEvent("MouseEvents"),e.initMouseEvent("click",!0,!0,b,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null),e.forwardedTouchEvent=!0,d.dispatchEvent(e),c.detail&&c.detail.gesture.preventDefault()}};b.addEventListener("tap",e),b.addEventListener("doubletap",e),b.addEventListener("click",function(b){return a.targets.click&&!b.forwardedTouchEvent?(b.stopImmediatePropagation?b.stopImmediatePropagation():b.propagationStopped=!0,b.stopPropagation(),b.preventDefault(),!1):void 0},!0)}}(mui,window,"click"),function(a,b){a(function(){if(a.os.ios){var c="mui-focusin",d="mui-bar-tab",e="mui-bar-footer",f="mui-bar-footer-secondary",g="mui-bar-footer-secondary-tab";b.addEventListener("focusin",function(h){if(!(a.os.plus&&window.plus&&plus.webview.currentWebview().children().length>0)){var i=h.target;if(i.tagName&&("TEXTAREA"===i.tagName||"INPUT"===i.tagName&&("text"===i.type||"search"===i.type||"number"===i.type))){if(i.disabled||i.readOnly)return;b.body.classList.add(c);for(var j=!1;i&&i!==b;i=i.parentNode){var k=i.classList;if(k&&k.contains(d)||k.contains(e)||k.contains(f)||k.contains(g)){j=!0;break}}if(j){var l=b.body.scrollHeight,m=b.body.scrollLeft;setTimeout(function(){window.scrollTo(m,l)},20)}}}}),b.addEventListener("focusout",function(a){var d=b.body.classList;d.contains(c)&&(d.remove(c),setTimeout(function(){window.scrollTo(b.body.scrollLeft,b.body.scrollTop)},20))})}})}(mui,document),function(a){a.namespace="mui",a.classNamePrefix=a.namespace+"-",a.classSelectorPrefix="."+a.classNamePrefix,a.className=function(b){return a.classNamePrefix+b},a.classSelector=function(b){return b.replace(/\./g,a.classSelectorPrefix)},a.eventName=function(b,c){return b+(a.namespace?"."+a.namespace:"")+(c?"."+c:"")}}(mui),function(a,b){a.gestures={session:{}},a.preventDefault=function(a){a.preventDefault()},a.stopPropagation=function(a){a.stopPropagation()},a.addGesture=function(b){return a.addAction("gestures",b)};var c=Math.round,d=Math.abs,e=Math.sqrt,f=(Math.atan,Math.atan2),g=function(a,b,c){c||(c=["x","y"]);var d=b[c[0]]-a[c[0]],f=b[c[1]]-a[c[1]];return e(d*d+f*f)},h=function(a,b){if(a.length>=2&&b.length>=2){var c=["pageX","pageY"];return g(b[1],b[0],c)/g(a[1],a[0],c)}return 1},i=function(a,b,c){c||(c=["x","y"]);var d=b[c[0]]-a[c[0]],e=b[c[1]]-a[c[1]];return 180*f(e,d)/Math.PI},j=function(a,b){return a===b?"":d(a)>=d(b)?a>0?"left":"right":b>0?"up":"down"},k=function(a,b){var c=["pageX","pageY"];return i(b[1],b[0],c)-i(a[1],a[0],c)},l=function(a,b,c){return{x:b/a||0,y:c/a||0}},m=function(b,c){a.gestures.stoped||a.doAction("gestures",function(d,e){a.gestures.stoped||a.options.gestureConfig[e.name]!==!1&&e.handle(b,c)})},n=function(a,b){for(;a;){if(a==b)return!0;a=a.parentNode}return!1},o=function(a,b,c){for(var d=[],e=[],f=0;fc[b]}):d.sort()),d},p=function(a){var b=a.length;if(1===b)return{x:c(a[0].pageX),y:c(a[0].pageY)};for(var d=0,e=0,f=0;b>f;)d+=a[f].pageX,e+=a[f].pageY,f++;return{x:c(d/b),y:c(e/b)}},q=function(){return a.options.gestureConfig.pinch},r=function(b){for(var d=[],e=0;e1&&!c.firstMultiTouch?c.firstMultiTouch=r(b):1===e&&(c.firstMultiTouch=!1);var f=c.firstTouch,l=c.firstMultiTouch,m=l?l.center:f.center,n=b.center=p(d);b.timestamp=a.now(),b.deltaTime=b.timestamp-f.timestamp,b.angle=i(m,n),b.distance=g(m,n),s(b),b.offsetDirection=j(b.deltaX,b.deltaY),b.scale=l?h(l.touches,d):1,b.rotation=l?k(l.touches,d):0,v(b)},u=25,v=function(b){var c,e,f,g,h=a.gestures.session,i=h.lastInterval||b,k=b.timestamp-i.timestamp;if(b.gesture.type!=a.EVENT_CANCEL&&(k>u||void 0===i.velocity)){var m=i.deltaX-b.deltaX,n=i.deltaY-b.deltaY,o=l(k,m,n);e=o.x,f=o.y,c=d(o.x)>d(o.y)?o.x:o.y,g=j(m,n)||i.direction,h.lastInterval=b}else c=i.velocity,e=i.velocityX,f=i.velocityY,g=i.direction;b.velocity=c,b.velocityX=e,b.velocityY=f,b.direction=g},w={},x=function(a){for(var b=0;b300&&(c=h,f.flickStart=e.center);break;case a.EVENT_END:case a.EVENT_CANCEL:e.flick=!1,f.flickStart&&g.flickMaxTime>h-c&&e.distance>g.flickMinDistince&&(e.flick=!0,e.flickTime=h-c,e.flickDistanceX=e.center.x-f.flickStart.x,e.flickDistanceY=e.center.y-f.flickStart.y,a.trigger(f.target,b,e),a.trigger(f.target,b+e.direction,e))}};a.addGesture({name:b,index:5,handle:d,options:{flickMaxTime:200,flickMinDistince:10}})}(mui,"flick"),function(a,b){var c=function(c,d){var e=a.gestures.session;if(c.type===a.EVENT_END||c.type===a.EVENT_CANCEL){var f=this.options;d.swipe=!1,d.direction&&f.swipeMaxTime>d.deltaTime&&d.distance>f.swipeMinDistince&&(d.swipe=!0,a.trigger(e.target,b,d),a.trigger(e.target,b+d.direction,d))}};a.addGesture({name:b,index:10,handle:c,options:{swipeMaxTime:300,swipeMinDistince:18}})}(mui,"swipe"),function(a,b){var c=function(c,d){var e=a.gestures.session;switch(c.type){case a.EVENT_START:break;case a.EVENT_MOVE:if(!d.direction||!e.target)return;e.lockDirection&&e.startDirection&&e.startDirection&&e.startDirection!==d.direction&&("up"===e.startDirection||"down"===e.startDirection?d.direction=d.deltaY<0?"up":"down":d.direction=d.deltaX<0?"left":"right"),e.drag||(e.drag=!0,a.trigger(e.target,b+"start",d)),a.trigger(e.target,b,d),a.trigger(e.target,b+d.direction,d);break;case a.EVENT_END:case a.EVENT_CANCEL:e.drag&&d.isFinal&&a.trigger(e.target,b+"end",d)}};a.addGesture({name:b,index:20,handle:c,options:{fingers:1}})}(mui,"drag"),function(a,b){var c,d,e=function(e,f){var g=a.gestures.session,h=this.options;switch(e.type){case a.EVENT_END:if(!f.isFinal)return;var i=g.target;if(!i||i.disabled||i.classList&&i.classList.contains("mui-disabled"))return;if(f.distanceg.holdThreshold&&clearTimeout(c);break;case a.EVENT_END:case a.EVENT_CANCEL:clearTimeout(c)}};a.addGesture({name:b,index:10,handle:d,options:{fingers:1,holdTimeout:500,holdThreshold:2}})}(mui,"longtap"),function(a,b){var c,d=function(d,e){var f=a.gestures.session,g=this.options;switch(d.type){case a.EVENT_START:a.options.gestureConfig.hold&&(c&&clearTimeout(c),c=setTimeout(function(){e.hold=!0,a.trigger(f.target,b,e)},g.holdTimeout));break;case a.EVENT_MOVE:break;case a.EVENT_END:case a.EVENT_CANCEL:c&&(clearTimeout(c)&&(c=null),a.trigger(f.target,"release",e))}};a.addGesture({name:b,index:10,handle:d,options:{fingers:1,holdTimeout:0}})}(mui,"hold"),function(a,b){var c=function(c,d){var e=this.options,f=a.gestures.session;switch(c.type){case a.EVENT_START:break;case a.EVENT_MOVE:if(a.options.gestureConfig.pinch){if(d.touches.length<2)return;f.pinch||(f.pinch=!0,a.trigger(f.target,b+"start",d)),a.trigger(f.target,b,d);var g=d.scale,h=d.rotation,i="undefined"==typeof d.lastScale?1:d.lastScale,j=1e-12;g>i?(i=g-j,a.trigger(f.target,b+"out",d)):i>g&&(i=g+j,a.trigger(f.target,b+"in",d)),Math.abs(h)>e.minRotationAngle&&a.trigger(f.target,"rotate",d)}break;case a.EVENT_END:case a.EVENT_CANCEL:a.options.gestureConfig.pinch&&f.pinch&&2===d.touches.length&&(f.pinch=!1,a.trigger(f.target,b+"end",d))}};a.addGesture({name:b,index:10,handle:c,options:{minRotationAngle:0}})}(mui,"pinch"),function(a){function b(a,b){var c="MUI_SCROLL_POSITION_"+document.location.href+"_"+b.src,d=parseFloat(localStorage.getItem(c))||0;d&&!function(a){b.onload=function(){window.scrollTo(0,a)}}(d),setInterval(function(){var a=window.scrollY;d!==a&&(localStorage.setItem(c,a+""),d=a)},100)}a.global=a.options={gestureConfig:{tap:!0,doubletap:!1,longtap:!1,hold:!1,flick:!0,swipe:!0,drag:!0,pinch:!1}},a.initGlobal=function(b){return a.options=a.extend(!0,a.global,b),this};var c={},d=!1;a.init=function(b){return d=!0,a.options=a.extend(!0,a.global,b||{}),a.ready(function(){a.doAction("inits",function(b,d){var e=!(c[d.name]&&!d.repeat);e&&(d.handle.call(a),c[d.name]=!0)})}),this},a.addInit=function(b){return a.addAction("inits",b)},a.addInit({name:"iframe",index:100,handle:function(){var b=a.options,c=b.subpages||[];!a.os.plus&&c.length&&e(c[0])}});var e=function(c){var d=document.createElement("div");d.className="mui-iframe-wrapper";var e=c.styles||{};"string"!=typeof e.top&&(e.top="0px"),"string"!=typeof e.bottom&&(e.bottom="0px"),d.style.top=e.top,d.style.bottom=e.bottom;var f=document.createElement("iframe");f.src=c.url,f.id=c.id||c.url,f.name=f.id,d.appendChild(f),document.body.appendChild(d),a.os.wechat&&b(d,f)};a(function(){var b=document.body.classList,c=[];a.os.ios?(c.push({os:"ios",version:a.os.version}),b.add("mui-ios")):a.os.android&&(c.push({os:"android",version:a.os.version}),b.add("mui-android")),a.os.wechat&&(c.push({os:"wechat",version:a.os.wechat.version}),b.add("mui-wechat")),c.length&&a.each(c,function(c,d){var e="";d.version&&a.each(d.version.split("."),function(c,f){e=e+(e?"-":"")+f,b.add(a.className(d.os+"-"+e))})})})}(mui),function(a){var b={swipeBack:!1,preloadPages:[],preloadLimit:10,keyEventBind:{backbutton:!0,menubutton:!0}},c={autoShow:!0,duration:a.os.ios?200:100,aniShow:"slide-in-right"};a.options.show&&(c=a.extend(!0,c,a.options.show)),a.currentWebview=null,a.isHomePage=!1,a.extend(!0,a.global,b),a.extend(!0,a.options,b),a.waitingOptions=function(b){return a.extend(!0,{},{autoShow:!0,title:""},b)},a.showOptions=function(b){return a.extend(!0,{},c,b)},a.windowOptions=function(b){return a.extend({scalable:!1,bounce:""},b)},a.plusReady=function(a){return window.plus?setTimeout(function(){a()},0):document.addEventListener("plusready",function(){a()},!1),this},a.fire=function(b,c,d){b&&(""!==d&&(d=d||{},a.isPlainObject(d)&&(d=JSON.stringify(d||{}).replace(/\'/g,"\\u0027").replace(/\\/g,"\\u005c"))),b.evalJS("typeof mui!=='undefined'&&mui.receive('"+c+"','"+d+"')"))},a.receive=function(b,c){if(b){try{c&&(c=JSON.parse(c))}catch(d){}a.trigger(document,b,c)}};var d=function(b){if(!b.preloaded){a.fire(b,"preload");for(var c=b.children(),d=0;da.options.preloadLimit){var h=a.data.preloads.shift(),i=a.webviews[h];i&&i.webview&&a.closeAll(i.webview),delete a.webviews[h]}}else c!==!1&&(d=plus.webview.create(b.url,e,a.windowOptions(b.styles),b.extras),b.subpages&&a.each(b.subpages,function(b,c){var e=c.id||c.url,f=plus.webview.getWebviewById(e);f||(f=plus.webview.create(c.url,e,a.windowOptions(c.styles),c.extras)),d.append(f)}));return d}},a.preload=function(b){return b.preload||(b.preload=!0),a.createWindow(b)},a.closeOpened=function(b){var c=b.opened();if(c)for(var d=0,e=c.length;e>d;d++){var f=c[d],g=f.opened();g&&g.length>0?a.closeOpened(f):f.parent()!==b&&f.close("none")}},a.closeAll=function(b,c){a.closeOpened(b),c?b.close(c):b.close()},a.createWindows=function(b){a.each(b,function(b,c){a.createWindow(c,!1)})},a.appendWebview=function(b){if(window.plus){var c,d=b.id||b.url;return a.webviews[d]||(plus.webview.getWebviewById(d)||(c=plus.webview.create(b.url,d,b.styles,b.extras)),plus.webview.currentWebview().append(c),a.webviews[d]=b),c}},a.webviews={},a.data.preloads=[],a.plusReady(function(){a.currentWebview=plus.webview.currentWebview()}),a.addInit({name:"5+",index:100,handle:function(){var b=a.options,c=b.subpages||[];a.os.plus&&a.plusReady(function(){a.each(c,function(b,c){a.appendWebview(c)}),plus.webview.currentWebview()===plus.webview.getWebviewById(plus.runtime.appid)&&(a.isHomePage=!0,setTimeout(function(){d(plus.webview.currentWebview())},300)),a.os.ios&&a.options.statusBarBackground&&plus.navigator.setStatusBarBackground(a.options.statusBarBackground),a.os.android&&parseFloat(a.os.version)<4.4&&null==plus.webview.currentWebview().parent()&&document.addEventListener("resume",function(){var a=document.body;a.style.display="none",setTimeout(function(){a.style.display=""},10)})})}}),window.addEventListener("preload",function(){var b=a.options.preloadPages||[];a.plusReady(function(){a.each(b,function(b,c){a.createWindow(a.extend(c,{preload:!0}))})})}),a.supportStatusbarOffset=function(){return a.os.plus&&a.os.ios&&parseFloat(a.os.version)>=7},a.ready(function(){a.supportStatusbarOffset()&&document.body.classList.add("mui-statusbar")})}(mui),function(a,b){a.addBack=function(b){return a.addAction("backs",b)},a.addBack({name:"browser",index:100,handle:function(){return b.history.length>1?(b.history.back(),!0):!1}}),a.back=function(){("function"!=typeof a.options.beforeback||a.options.beforeback()!==!1)&&a.doAction("backs")},b.addEventListener("tap",function(b){var c=a.targets.action;c&&c.classList.contains("mui-action-back")&&(a.back(),a.targets.action=!1)}),b.addEventListener("swiperight",function(b){var c=b.detail;a.options.swipeBack===!0&&Math.abs(c.angle)<3&&a.back()})}(mui,window),function(a,b){a.os.plus&&a.os.android&&a.addBack({name:"mui",index:5,handle:function(){if(a.targets._popover&&a.targets._popover.classList.contains("mui-active"))return a(a.targets._popover).popover("hide"),!0;var b=document.querySelector(".mui-off-canvas-wrap.mui-active");if(b)return a(b).offCanvas("close"),!0;var c=a.isFunction(a.getPreviewImage)&&a.getPreviewImage();return c&&c.isShown()?(c.close(),!0):a.closePopup()}}),a.addBack({name:"5+",index:10,handle:function(){if(!b.plus)return!1;var c=plus.webview.currentWebview(),d=c.parent();return d?d.evalJS("mui&&mui.back();"):c.canBack(function(d){d.canBack?b.history.back():c.id===plus.runtime.appid||(c.preload?c.hide("auto"):a.closeAll(c))}),!0}}),a.menu=function(){var c=document.querySelector(".mui-action-menu");if(c)a.trigger(c,a.EVENT_START),a.trigger(c,"tap");else if(b.plus){var d=a.currentWebview,e=d.parent();e&&e.evalJS("mui&&mui.menu();")}};var c=function(){a.back()},d=function(){a.menu()};a.plusReady(function(){a.options.keyEventBind.backbutton&&plus.key.addEventListener("backbutton",c,!1),a.options.keyEventBind.menubutton&&plus.key.addEventListener("menubutton",d,!1)}),a.addInit({name:"keyEventBind",index:1e3,handle:function(){a.plusReady(function(){a.options.keyEventBind.backbutton||plus.key.removeEventListener("backbutton",c),a.options.keyEventBind.menubutton||plus.key.removeEventListener("menubutton",d)})}})}(mui,window),function(a){a.addInit({name:"pullrefresh",index:1e3,handle:function(){var b=a.options,c=b.pullRefresh||{},d=c.down&&c.down.hasOwnProperty("callback"),e=c.up&&c.up.hasOwnProperty("callback");if(d||e){var f=c.container;if(f){var g=a(f);1===g.length&&(a.os.plus&&a.os.android?a.plusReady(function(){var b=plus.webview.currentWebview();if(e){var f={};f.up=c.up,f.webviewId=b.id||b.getURL(),g.pullRefresh(f)}if(d){var h=b.parent(),i=b.id||b.getURL();if(h){e||g.pullRefresh({webviewId:i});var j={webviewId:i};j.down=a.extend({},c.down),j.down.callback="_CALLBACK",h.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify(j)+"')")}}}):g.pullRefresh(c))}}}})}(mui),function(a,b,c){var d="application/json",e="text/html",f=/)<[^<]*)*<\/script>/gi,g=/^(?:text|application)\/javascript/i,h=/^(?:text|application)\/xml/i,i=/^\s*$/;a.ajaxSettings={type:"GET",beforeSend:a.noop,success:a.noop,error:a.noop,complete:a.noop,context:null,xhr:function(a){return new b.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:d,xml:"application/xml, text/xml",html:e,text:"text/plain"},timeout:0,processData:!0,cache:!0};var j=function(a,b){var c=b.context;return b.beforeSend.call(c,a,b)===!1?!1:void 0},k=function(a,b,c){c.success.call(c.context,a,"success",b),m("success",b,c)},l=function(a,b,c,d){d.error.call(d.context,c,b,a),m(b,c,d)},m=function(a,b,c){c.complete.call(c.context,b,a)},n=function(b,c,d,e){var f,g=a.isArray(c),h=a.isPlainObject(c);a.each(c,function(c,i){f=a.type(i),e&&(c=d?e:e+"["+(h||"object"===f||"array"===f?c:"")+"]"),!e&&g?b.add(i.name,i.value):"array"===f||!d&&"object"===f?n(b,i,d,c):b.add(c,i)})},o=function(b){b.processData&&b.data&&"string"!=typeof b.data&&(b.data=a.param(b.data,b.traditional)),!b.data||b.type&&"GET"!==b.type.toUpperCase()||(b.url=p(b.url,b.data),b.data=c)},p=function(a,b){return""===b?a:(a+"&"+b).replace(/[&?]{1,2}/,"?")},q=function(a){return a&&(a=a.split(";",2)[0]),a&&(a===e?"html":a===d?"json":g.test(a)?"script":h.test(a)&&"xml")||"text"},r=function(b,d,e,f){return a.isFunction(d)&&(f=e,e=d,d=c),a.isFunction(e)||(f=e,e=c),{url:b,data:d,success:e,dataType:f}};a.ajax=function(d,e){"object"==typeof d&&(e=d,d=c);var f=e||{};f.url=d||f.url;for(var g in a.ajaxSettings)f[g]===c&&(f[g]=a.ajaxSettings[g]);o(f);var h=f.dataType;f.cache!==!1&&(e&&e.cache===!0||"script"!==h)||(f.url=p(f.url,"_="+a.now()));var m,n=f.accepts[h&&h.toLowerCase()],r={},s=function(a,b){r[a.toLowerCase()]=[a,b]},t=/^([\w-]+:)\/\//.test(f.url)?RegExp.$1:b.location.protocol,u=f.xhr(f),v=u.setRequestHeader; -if(s("X-Requested-With","XMLHttpRequest"),s("Accept",n||"*/*"),(n=f.mimeType||n)&&(n.indexOf(",")>-1&&(n=n.split(",",2)[0]),u.overrideMimeType&&u.overrideMimeType(n)),(f.contentType||f.contentType!==!1&&f.data&&"GET"!==f.type.toUpperCase())&&s("Content-Type",f.contentType||"application/x-www-form-urlencoded"),f.headers)for(var w in f.headers)s(w,f.headers[w]);if(u.setRequestHeader=s,u.onreadystatechange=function(){if(4===u.readyState){u.onreadystatechange=a.noop,clearTimeout(m);var b,c=!1,d="file:"===t;if(u.status>=200&&u.status<300||304===u.status||0===u.status&&d&&u.responseText){h=h||q(f.mimeType||u.getResponseHeader("content-type")),b=u.responseText;try{"script"===h?(1,eval)(b):"xml"===h?b=u.responseXML:"json"===h&&(b=i.test(b)?null:a.parseJSON(b))}catch(e){c=e}c?l(c,"parsererror",u,f):k(b,u,f)}else{var g=u.status?"error":"abort",j=u.statusText||null;d&&(g="error",j="404"),l(j,g,u,f)}}},j(u,f)===!1)return u.abort(),l(null,"abort",u,f),u;if(f.xhrFields)for(var w in f.xhrFields)u[w]=f.xhrFields[w];var x="async"in f?f.async:!0;u.open(f.type.toUpperCase(),f.url,x,f.username,f.password);for(var w in r)v.apply(u,r[w]);return f.timeout>0&&(m=setTimeout(function(){u.onreadystatechange=a.noop,u.abort(),l(null,"timeout",u,f)},f.timeout)),u.send(f.data?f.data:null),u},a.param=function(a,b){var c=[];return c.add=function(a,b){this.push(encodeURIComponent(a)+"="+encodeURIComponent(b))},n(c,a,b),c.join("&").replace(/%20/g,"+")},a.get=function(){return a.ajax(r.apply(null,arguments))},a.post=function(){var b=r.apply(null,arguments);return b.type="POST",a.ajax(b)},a.getJSON=function(){var b=r.apply(null,arguments);return b.dataType="json",a.ajax(b)},a.fn.load=function(b,c,d){if(!this.length)return this;var e,g=this,h=b.split(/\s/),i=r(b,c,d),j=i.success;return h.length>1&&(i.url=h[0],e=h[1]),i.success=function(a){if(e){var b=document.createElement("div");b.innerHTML=a.replace(f,"");var c=document.createElement("div"),d=b.querySelectorAll(e);if(d&&d.length>0)for(var h=0,i=d.length;i>h;h++)c.appendChild(d[h]);g[0].innerHTML=c.innerHTML}else g[0].innerHTML=a;j&&j.apply(g,arguments)},a.ajax(i),this}}(mui,window),function(a){var b=document.createElement("a");b.href=window.location.href,a.plusReady(function(){a.ajaxSettings=a.extend(a.ajaxSettings,{xhr:function(a){if(a.crossDomain)return new plus.net.XMLHttpRequest;if("file:"!==b.protocol){var c=document.createElement("a");if(c.href=a.url,c.href=c.href,a.crossDomain=b.protocol+"//"+b.host!=c.protocol+"//"+c.host,a.crossDomain)return new plus.net.XMLHttpRequest}return new window.XMLHttpRequest}})})}(mui),function(a,b,c){a.offset=function(a){var d={top:0,left:0};return typeof a.getBoundingClientRect!==c&&(d=a.getBoundingClientRect()),{top:d.top+b.pageYOffset-a.clientTop,left:d.left+b.pageXOffset-a.clientLeft}}}(mui,window),function(a,b){a.scrollTo=function(a,c,d){c=c||1e3;var e=function(c){if(0>=c)return b.scrollTo(0,a),void(d&&d());var f=a-b.scrollY;setTimeout(function(){b.scrollTo(0,b.scrollY+f/c*10),e(c-10)},16.7)};e(c)},a.animationFrame=function(a){var b,c,d;return function(){b=arguments,d=this,c||(c=!0,requestAnimationFrame(function(){a.apply(d,b),c=!1}))}}}(mui,window),function(a){var b=!1,c=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/,d=function(){};d.extend=function(a){function d(){!b&&this.init&&this.init.apply(this,arguments)}var e=this.prototype;b=!0;var f=new this;b=!1;for(var g in a)f[g]="function"==typeof a[g]&&"function"==typeof e[g]&&c.test(a[g])?function(a,b){return function(){var c=this._super;this._super=e[a];var d=b.apply(this,arguments);return this._super=c,d}}(g,a[g]):a[g];return d.prototype=f,d.prototype.constructor=d,d.extend=arguments.callee,d},a.Class=d}(mui),function(a,b,c){var d="mui-pull-top-pocket",e="mui-pull-bottom-pocket",f="mui-pull",g="mui-pull-loading",h="mui-pull-caption",i="mui-pull-caption-down",j="mui-pull-caption-refresh",k="mui-pull-caption-nomore",l="mui-icon",m="mui-spinner",n="mui-icon-pulldown",o="mui-block",p="mui-hidden",q="mui-visibility",r=g+" "+l+" "+n,s=g+" "+l+" "+n,t=g+" "+l+" "+m,u=['
','
','
{contentrefresh}
',"
"].join(""),v={init:function(b,c){this._super(b,a.extend(!0,{scrollY:!0,scrollX:!1,indicators:!0,deceleration:.003,down:{height:50,contentinit:"下拉可以刷新",contentdown:"下拉可以刷新",contentover:"释放立即刷新",contentrefresh:"正在刷新..."},up:{height:50,auto:!1,contentinit:"上拉显示更多",contentdown:"上拉显示更多",contentrefresh:"正在加载...",contentnomore:"没有更多数据了",duration:300}},c))},_init:function(){this._super(),this._initPocket()},_initPulldownRefresh:function(){this.pulldown=!0,this.pullPocket=this.topPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.topCaption,this.pullLoading=this.topLoading},_initPullupRefresh:function(){this.pulldown=!1,this.pullPocket=this.bottomPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.bottomCaption,this.pullLoading=this.bottomLoading},_initPocket:function(){var a=this.options;a.down&&a.down.hasOwnProperty("callback")&&(this.topPocket=this.scroller.querySelector("."+d),this.topPocket||(this.topPocket=this._createPocket(d,a.down,s),this.wrapper.insertBefore(this.topPocket,this.wrapper.firstChild)),this.topLoading=this.topPocket.querySelector("."+g),this.topCaption=this.topPocket.querySelector("."+h)),a.up&&a.up.hasOwnProperty("callback")&&(this.bottomPocket=this.scroller.querySelector("."+e),this.bottomPocket||(this.bottomPocket=this._createPocket(e,a.up,t),this.scroller.appendChild(this.bottomPocket)),this.bottomLoading=this.bottomPocket.querySelector("."+g),this.bottomCaption=this.bottomPocket.querySelector("."+h),this.wrapper.addEventListener("scrollbottom",this))},_createPocket:function(a,c,d){var e=b.createElement("div");return e.className=a,e.innerHTML=u.replace("{contentrefresh}",c.contentinit).replace("{icon}",d),e},_resetPullDownLoading:function(){var a=this.pullLoading;a&&(this.pullCaption.innerHTML=this.options.down.contentdown,a.style.webkitTransition="",a.style.webkitTransform="",a.style.webkitAnimation="",a.className=s)},_setCaptionClass:function(a,b,c){if(!a)switch(c){case this.options.up.contentdown:b.className=h+" "+i;break;case this.options.up.contentrefresh:b.className=h+" "+j;break;case this.options.up.contentnomore:b.className=h+" "+k}},_setCaption:function(a,b){if(!this.loading){var c=this.options,d=this.pullPocket,e=this.pullCaption,f=this.pullLoading,g=this.pulldown,h=this;d&&(b?setTimeout(function(){e.innerHTML=h.lastTitle=a,g?f.className=s:(h._setCaptionClass(!1,e,a),f.className=t),f.style.webkitAnimation="",f.style.webkitTransition="",f.style.webkitTransform=""},100):a!==this.lastTitle&&(e.innerHTML=a,g?a===c.down.contentrefresh?(f.className=t,f.style.webkitAnimation="spinner-spin 1s step-end infinite"):a===c.down.contentover?(f.className=r,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(180deg)"):a===c.down.contentdown&&(f.className=s,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(0deg)"):(a===c.up.contentrefresh?f.className=t+" "+q:f.className=t+" "+p,h._setCaptionClass(!1,e,a)),this.lastTitle=a))}}};a.PullRefresh=v}(mui,document),function(a,b,c,d){var e="mui-scroll",f="mui-scrollbar",g="mui-scrollbar-indicator",h=f+"-vertical",i=f+"-horizontal",j="mui-active",k={quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return Math.sqrt(1- --a*a)}},outCirc:{style:"cubic-bezier(0.075, 0.82, 0.165, 1)"},outCubic:{style:"cubic-bezier(0.165, 0.84, 0.44, 1)"}},l=a.Class.extend({init:function(b,c){this.wrapper=this.element=b,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller&&this.scroller.style,this.stopped=!1,this.options=a.extend(!0,{scrollY:!0,scrollX:!1,startX:0,startY:0,indicators:!0,stopPropagation:!1,hardwareAccelerated:!0,fixedBadAndorid:!1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/},momentum:!0,snapX:.5,snap:!1,bounce:!0,bounceTime:500,bounceEasing:k.outCirc,scrollTime:500,scrollEasing:k.outCubic,directionLockThreshold:5,parallaxElement:!1,parallaxRatio:.5},c),this.x=0,this.y=0,this.translateZ=this.options.hardwareAccelerated?" translateZ(0)":"",this._init(),this.scroller&&(this.refresh(),this.scrollTo(this.options.startX,this.options.startY))},_init:function(){this._initParallax(),this._initIndicators(),this._initEvent()},_initParallax:function(){this.options.parallaxElement&&(this.parallaxElement=c.querySelector(this.options.parallaxElement),this.parallaxStyle=this.parallaxElement.style,this.parallaxHeight=this.parallaxElement.offsetHeight,this.parallaxImgStyle=this.parallaxElement.querySelector("img").style)},_initIndicators:function(){var a=this;if(a.indicators=[],this.options.indicators){var b,c=[];a.options.scrollY&&(b={el:this._createScrollBar(h),listenX:!1},this.wrapper.appendChild(b.el),c.push(b)),this.options.scrollX&&(b={el:this._createScrollBar(i),listenY:!1},this.wrapper.appendChild(b.el),c.push(b));for(var d=c.length;d--;)this.indicators.push(new m(this,c[d]))}},_initSnap:function(){this.currentPage={},this.pages=[];for(var a=this.snaps,b=a.length,c=0,d=-1,e=0,f=0,g=0,h=0,i=0;b>i;i++){var k=a[i],l=k.offsetLeft,m=k.offsetWidth;(0===i||l<=a[i-1].offsetLeft)&&(c=0,d++),this.pages[c]||(this.pages[c]=[]),e=this._getSnapX(l),h=Math.round(m*this.options.snapX),f=e-h,g=e-m+h,this.pages[c][d]={x:e,leftX:f,rightX:g,pageX:c,element:k},k.classList.contains(j)&&(this.currentPage=this.pages[c][0]),e>=this.maxScrollX&&c++}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(Math.min(0,-a+this.wrapperWidth/2),this.maxScrollX)},_gotoPage:function(a){this.currentPage=this.pages[Math.min(a,this.pages.length-1)][0];for(var b=0,c=this.snaps.length;c>b;b++)b===a?this.snaps[b].classList.add(j):this.snaps[b].classList.remove(j);this.scrollTo(this.currentPage.x,0,this.options.scrollTime)},_nearestSnap:function(a){if(!this.pages.length)return{x:0,pageX:0};var b=0,c=this.pages.length;for(a>0?a=0:ab;b++){var d="left"===this.direction?this.pages[b][0].leftX:this.pages[b][0].rightX;if(a>=d)return this.pages[b][0]}return{x:0,pageX:0}},_initEvent:function(c){var d=c?"removeEventListener":"addEventListener";b[d]("orientationchange",this),b[d]("resize",this),this.scroller[d]("webkitTransitionEnd",this),this.wrapper[d](a.EVENT_START,this),this.wrapper[d](a.EVENT_CANCEL,this),this.wrapper[d](a.EVENT_END,this),this.wrapper[d]("drag",this),this.wrapper[d]("dragend",this),this.wrapper[d]("flick",this),this.wrapper[d]("scrollend",this),this.options.scrollX&&this.wrapper[d]("swiperight",this);var e=this.wrapper.querySelector(".mui-segmented-control");e&&mui(e)[c?"off":"on"]("click","a",a.preventDefault),this.wrapper[d]("scrollstart",this),this.wrapper[d]("refresh",this)},_handleIndicatorScrollend:function(){this.indicators.map(function(a){a.fade()})},_handleIndicatorScrollstart:function(){this.indicators.map(function(a){a.fade(1)})},_handleIndicatorRefresh:function(){this.indicators.map(function(a){a.refresh()})},handleEvent:function(b){if(this.stopped)return void this.resetPosition();switch(b.type){case a.EVENT_START:this._start(b);break;case"drag":this.options.stopPropagation&&b.stopPropagation(),this._drag(b);break;case"dragend":case"flick":this.options.stopPropagation&&b.stopPropagation(),this._flick(b);break;case a.EVENT_CANCEL:case a.EVENT_END:this._end(b);break;case"webkitTransitionEnd":this.transitionTimer&&this.transitionTimer.cancel(),this._transitionEnd(b);break;case"scrollstart":this._handleIndicatorScrollstart(b);break;case"scrollend":this._handleIndicatorScrollend(b),this._scrollend(b),b.stopPropagation();break;case"orientationchange":case"resize":this._resize();break;case"swiperight":b.stopPropagation();break;case"refresh":this._handleIndicatorRefresh(b)}},_start:function(b){if(this.moved=this.needReset=!1,this._transitionTime(),this.isInTransition){this.needReset=!0,this.isInTransition=!1;var c=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));this.setTranslate(Math.round(c.x),Math.round(c.y)),a.trigger(this.scroller,"scrollend",this),b.preventDefault()}this.reLayout(),a.trigger(this.scroller,"beforescrollstart",this)},_getDirectionByAngle:function(a){return-80>a&&a>-100?"up":a>=80&&100>a?"down":a>=170||-170>=a?"left":a>=-35&&10>=a?"right":null},_drag:function(c){var d=c.detail;if((this.options.scrollY||"up"===d.direction||"down"===d.direction)&&a.os.ios&&parseFloat(a.os.version)>=8){var e=d.gesture.touches[0].clientY;if(e+10>b.innerHeight||10>e)return void this.resetPosition(this.options.bounceTime)}var f=isReturn=!1;this._getDirectionByAngle(d.angle);if("left"===d.direction||"right"===d.direction?this.options.scrollX?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollY&&!this.moved&&(isReturn=!0):"up"===d.direction||"down"===d.direction?this.options.scrollY?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollX&&!this.moved&&(isReturn=!0):isReturn=!0,(this.moved||f)&&(c.stopPropagation(),d.gesture&&d.gesture.preventDefault()),!isReturn){this.moved?c.stopPropagation():a.trigger(this.scroller,"scrollstart",this);var g=0,h=0;this.moved?(g=d.deltaX-a.gestures.session.prevTouch.deltaX,h=d.deltaY-a.gestures.session.prevTouch.deltaY):(g=d.deltaX,h=d.deltaY);var i=Math.abs(d.deltaX),j=Math.abs(d.deltaY);i>j+this.options.directionLockThreshold?h=0:j>=i+this.options.directionLockThreshold&&(g=0),g=this.hasHorizontalScroll?g:0,h=this.hasVerticalScroll?h:0;var k=this.x+g,l=this.y+h;(k>0||k0?0:this.maxScrollX),(l>0||l0?0:this.maxScrollY),this.requestAnimationFrame||this._updateTranslate(),this.direction=d.deltaX>0?"right":"left",this.moved=!0,this.x=k,this.y=l,a.trigger(this.scroller,"scroll",this)}},_flick:function(b){if(this.moved){b.stopPropagation();var c=b.detail;if(this._clearRequestAnimationFrame(),"dragend"!==b.type||!c.flick){var d=Math.round(this.x),e=Math.round(this.y);if(this.isInTransition=!1,!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(d,e),"dragend"===b.type)return void a.trigger(this.scroller,"scrollend",this);var f=0,g="";return this.options.momentum&&c.flickTime<300&&(momentumX=this.hasHorizontalScroll?this._momentum(this.x,c.flickDistanceX,c.flickTime,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:d,duration:0},momentumY=this.hasVerticalScroll?this._momentum(this.y,c.flickDistanceY,c.flickTime,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:e,duration:0},d=momentumX.destination,e=momentumY.destination,f=Math.max(momentumX.duration,momentumY.duration),this.isInTransition=!0),d!=this.x||e!=this.y?((d>0||d0||e0&&this.y<=this.maxScrollY&&a.trigger(this.scroller,"scrollbottom",this)},_resize:function(){var a=this;clearTimeout(a.resizeTimeout),a.resizeTimeout=setTimeout(function(){a.refresh()},a.options.resizePolling)},_transitionTime:function(b){if(b=b||0,this.scrollerStyle.webkitTransitionDuration=b+"ms",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=b+"ms"),this.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.scrollerStyle.webkitTransitionDuration="0.001s",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration="0.001s")),this.indicators)for(var c=this.indicators.length;c--;)this.indicators[c].transitionTime(b);b&&(this.transitionTimer&&this.transitionTimer.cancel(),this.transitionTimer=a.later(function(){a.trigger(this.scroller,"webkitTransitionEnd")},b+100,this))},_transitionTimingFunction:function(a){if(this.scrollerStyle.webkitTransitionTimingFunction=a,this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=a),this.indicators)for(var b=this.indicators.length;b--;)this.indicators[b].transitionTimingFunction(a)},_translate:function(a,b){this.x=a,this.y=b},_clearRequestAnimationFrame:function(){this.requestAnimationFrame&&(cancelAnimationFrame(this.requestAnimationFrame),this.requestAnimationFrame=null)},_updateTranslate:function(){var a=this;(a.x!==a.lastX||a.y!==a.lastY)&&a.setTranslate(a.x,a.y),a.requestAnimationFrame=requestAnimationFrame(function(){a._updateTranslate()})},_createScrollBar:function(a){var b=c.createElement("div"),d=c.createElement("div");return b.className=f+" "+a,d.className=g,b.appendChild(d),a===h?(this.scrollbarY=b,this.scrollbarIndicatorY=d):a===i&&(this.scrollbarX=b,this.scrollbarIndicatorX=d),this.wrapper.appendChild(b),b},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},_reLayout:function(){if(this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.indicators.map(function(a){a.refresh()}),this.options.snap&&"string"==typeof this.options.snap){var a=this.scroller.querySelectorAll(this.options.snap);this.itemLength=0,this.snaps=[];for(var b=0,c=a.length;c>b;b++){var d=a[b];d.parentNode===this.scroller&&(this.itemLength++,this.snaps.push(d))}this._initSnap()}},_momentum:function(a,b,c,e,f,g){var h,i,j=parseFloat(Math.abs(b)/c);return g=g===d?6e-4:g,h=a+j*j/(2*g)*(0>b?-1:1),i=j/g,e>h?(h=f?e-f/2.5*(j/8):e,b=Math.abs(h-a),i=b/j):h>0&&(h=f?f/2.5*(j/8):0,b=Math.abs(a)+h,i=b/j),{destination:Math.round(h),duration:i}},_getTranslateStr:function(a,b){return this.options.hardwareAccelerated?"translate3d("+a+"px,"+b+"px,0px) "+this.translateZ:"translate("+a+"px,"+b+"px) "},setStopped:function(a){this.stopped=!!a},setTranslate:function(b,c){if(this.x=b,this.y=c,this.scrollerStyle.webkitTransform=this._getTranslateStr(b,c),this.parallaxElement&&this.options.scrollY){var d=c*this.options.parallaxRatio,e=1+d/((this.parallaxHeight-d)/2);e>1?(this.parallaxImgStyle.opacity=1-d/100*this.options.parallaxRatio,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-d)+" scale("+e+","+e+")"):(this.parallaxImgStyle.opacity=1,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-1)+" scale(1,1)")}if(this.indicators)for(var f=this.indicators.length;f--;)this.indicators[f].updatePosition();this.lastX=this.x,this.lastY=this.y,a.trigger(this.scroller,"scroll",this)},reLayout:function(){this.wrapper.offsetHeight;var b=parseFloat(a.getStyles(this.wrapper,"padding-left"))||0,c=parseFloat(a.getStyles(this.wrapper,"padding-right"))||0,d=parseFloat(a.getStyles(this.wrapper,"padding-top"))||0,e=parseFloat(a.getStyles(this.wrapper,"padding-bottom"))||0,f=this.wrapper.clientWidth,g=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.wrapperWidth=f-b-c,this.wrapperHeight=g-d-e,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this.maxScrollY=Math.min(this.wrapperHeight-this.scrollerHeight,0),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this._reLayout()},resetPosition:function(a){var b=this.x,c=this.y;return a=a||0,!this.hasHorizontalScroll||this.x>0?b=0:this.x0?c=0:this.yb;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style},refresh:function(){this._reInit(),this.reLayout(),a.trigger(this.scroller,"refresh",this),this.resetPosition()},scrollTo:function(a,b,c,d){var d=d||k.circular;this.isInTransition=c>0,this.isInTransition?(this._clearRequestAnimationFrame(),this._transitionTimingFunction(d.style),this._transitionTime(c),this.setTranslate(a,b)):this.setTranslate(a,b)},scrollToBottom:function(a,b){a=a||this.options.scrollTime,this.scrollTo(0,this.maxScrollY,a,b)},gotoPage:function(a){this._gotoPage(a)},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-scroll")],this.wrapper.setAttribute("data-scroll","")}}),m=function(b,d){this.wrapper="string"==typeof d.el?c.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=b,this.options=a.extend({listenX:!0,listenY:!0,fade:!1,speedRatioX:0,speedRatioY:0},d),this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.fade&&(this.wrapperStyle.webkitTransform=this.scroller.translateZ,this.wrapperStyle.webkitTransitionDuration=this.options.fixedBadAndorid&&a.os.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")};m.prototype={handleEvent:function(a){},transitionTime:function(b){b=b||0,this.indicatorStyle.webkitTransitionDuration=b+"ms",this.scroller.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.indicatorStyle.webkitTransitionDuration="0.001s")},transitionTimingFunction:function(a){this.indicatorStyle.webkitTransitionTimingFunction=a},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.wrapper.offsetHeight,this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px",this.maxPosX=this.wrapperWidth-this.indicatorWidth,this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX,this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px",this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;athis.maxBoundaryX?(this.width=Math.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),bthis.maxBoundaryY?(this.height=Math.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px"),this.x=a,this.y=b,this.indicatorStyle.webkitTransform=this.scroller._getTranslateStr(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle.webkitTransitionDuration=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},a.Scroll=l,a.fn.scroll=function(b){var c=[];return this.each(function(){var d=null,e=this,f=e.getAttribute("data-scroll");if(f)d=a.data[f];else{f=++a.uuid;var g=a.extend({},b);e.classList.contains("mui-segmented-control")&&(g=a.extend(g,{scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})),a.data[f]=d=new l(e,g),e.setAttribute("data-scroll",f)}c.push(d)}),1===c.length?c[0]:c}}(mui,window,document),function(a,b,c,d){var e="mui-visibility",f="mui-hidden",g=a.Scroll.extend(a.extend({handleEvent:function(a){this._super(a),"scrollbottom"===a.type&&a.target===this.scroller&&this._scrollbottom()},_scrollbottom:function(){this.pulldown||this.loading||(this.pulldown=!1,this._initPullupRefresh(),this.pullupLoading())},_start:function(a){a.touches&&a.touches.length&&a.touches[0].clientX>30&&a.target&&!this._preventDefaultException(a.target,this.options.preventDefaultException)&&a.preventDefault(),this.loading||(this.pulldown=this.pullPocket=this.pullCaption=this.pullLoading=!1),this._super(a)},_drag:function(a){this._super(a),!this.pulldown&&!this.loading&&this.topPocket&&"down"===a.detail.direction&&this.y>=0&&this._initPulldownRefresh(),this.pulldown&&this._setCaption(this.y>this.options.down.height?this.options.down.contentover:this.options.down.contentdown)},_reLayout:function(){this.hasVerticalScroll=!0,this._super()},resetPosition:function(a){if(this.pulldown){if(this.y>=this.options.down.height)return this.pulldownLoading(d,a||0),!0;!this.loading&&this.topPocket.classList.remove(e)}return this._super(a)},pulldownLoading:function(a,b){if("undefined"==typeof a&&(a=this.options.down.height),this.scrollTo(0,a,b,this.options.bounceEasing),!this.loading){this._initPulldownRefresh(),this._setCaption(this.options.down.contentrefresh),this.loading=!0,this.indicators.map(function(a){a.fade(0)});var c=this.options.down.callback;c&&c.call(this)}},endPulldownToRefresh:function(){var a=this;a.topPocket&&a.loading&&this.pulldown&&(a.scrollTo(0,0,a.options.bounceTime,a.options.bounceEasing),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(e)},350))},pullupLoading:function(a,b,c){b=b||0,this.scrollTo(b,this.maxScrollY,c,this.options.bounceEasing),this.loading||(this._initPullupRefresh(),this._setCaption(this.options.up.contentrefresh),this.indicators.map(function(a){a.fade(0)}),this.loading=!0,a=a||this.options.up.callback,a&&a.call(this))},endPullupToRefresh:function(a){var b=this;b.bottomPocket&&(b.loading=!1,a?(this.finished=!0,b._setCaption(b.options.up.contentnomore),b.wrapper.removeEventListener("scrollbottom",b)):(b._setCaption(b.options.up.contentdown),b.loading||b.bottomPocket.classList.remove(e)))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+f,this.wrapper.removeEventListener("scrollbottom",this)},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(f),this._setCaption(this.options.up.contentdown),this.wrapper.addEventListener("scrollbottom",this)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1),this._super()}},a.PullRefresh));a.fn.pullRefresh=function(b){if(1===this.length){var c=this[0],d=null;b=b||{};var e=c.getAttribute("data-pullrefresh");return e?d=a.data[e]:(e=++a.uuid,a.data[e]=d=new g(c,b),c.setAttribute("data-pullrefresh",e)),b.down&&b.down.auto?d.pulldownLoading(b.down.autoY):b.up&&b.up.auto&&d.pullupLoading(),d}}}(mui,window,document),function(a,b){var c="mui-slider",d="mui-slider-group",e="mui-slider-loop",f="mui-action-previous",g="mui-action-next",h="mui-slider-item",i="mui-active",j="."+h,k=".mui-slider-progress-bar",l=a.Slider=a.Scroll.extend({init:function(b,c){this._super(b,a.extend(!0,{fingers:1,interval:0,scrollY:!1,scrollX:!0,indicators:!1,scrollTime:1e3,startX:!1,slideTime:0,snap:j},c)),this.options.startX},_init:function(){this._reInit(),this.scroller&&(this.scrollerStyle=this.scroller.style,this.progressBar=this.wrapper.querySelector(k),this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style),this._super(),this._initTimer())},_triggerSlide:function(){var b=this;b.isInTransition=!1;b.currentPage;b.slideNumber=b._fixedSlideNumber(),b.loop&&(0===b.slideNumber?b.setTranslate(b.pages[1][0].x,0):b.slideNumber===b.itemLength-3&&b.setTranslate(b.pages[b.itemLength-2][0].x,0)),b.lastSlideNumber!=b.slideNumber&&(b.lastSlideNumber=b.slideNumber,b.lastPage=b.currentPage,a.trigger(b.wrapper,"slide",{slideNumber:b.slideNumber})),b._initTimer()},_handleSlide:function(b){var c=this;if(b.target===c.wrapper){var d=b.detail;d.slideNumber=d.slideNumber||0;for(var e=c.scroller.querySelectorAll(j),f=[],g=0,h=e.length;h>g;g++){var k=e[g];k.parentNode===c.scroller&&f.push(k)}var l=d.slideNumber;if(c.loop&&(l+=1),!c.wrapper.classList.contains("mui-segmented-control"))for(var g=0,h=f.length;h>g;g++){var k=f[g];k.parentNode===c.scroller&&(g===l?k.classList.add(i):k.classList.remove(i))}var m=c.wrapper.querySelector(".mui-slider-indicator");if(m){m.getAttribute("data-scroll")&&a(m).scroll().gotoPage(d.slideNumber);var n=m.querySelectorAll(".mui-indicator");if(n.length>0)for(var g=0,h=n.length;h>g;g++)n[g].classList[g===d.slideNumber?"add":"remove"](i);else{var o=m.querySelector(".mui-number span");if(o)o.innerText=d.slideNumber+1;else for(var p=c.wrapper.querySelectorAll(".mui-control-item"),g=0,h=p.length;h>g;g++)p[g].classList[g===d.slideNumber?"add":"remove"](i)}}b.stopPropagation()}},_handleTabShow:function(a){var b=this;b.gotoItem(a.detail.tabNumber||0,b.options.slideTime)},_handleIndicatorTap:function(a){var b=this,c=a.target;(c.classList.contains(f)||c.classList.contains(g))&&(b[c.classList.contains(f)?"prevItem":"nextItem"](),a.stopPropagation())},_initEvent:function(b){var c=this;c._super(b);var d=b?"removeEventListener":"addEventListener";c.wrapper[d]("slide",this),c.wrapper[d](a.eventName("shown","tab"),this)},handleEvent:function(b){switch(this._super(b),b.type){case"slide":this._handleSlide(b);break;case a.eventName("shown","tab"):this._handleTabShow(b)}},_scrollend:function(a){this._super(a),this._triggerSlide(a)},_drag:function(a){this._super(a);var c=a.detail.direction;if("left"===c||"right"===c){var d=this.wrapper.getAttribute("data-slidershowTimer");d&&b.clearTimeout(d),a.stopPropagation()}},_initTimer:function(){var a=this,c=a.wrapper,d=a.options.interval,e=c.getAttribute("data-slidershowTimer");e&&b.clearTimeout(e),d&&(e=b.setTimeout(function(){c&&((c.offsetWidth||c.offsetHeight)&&a.nextItem(!0),a._initTimer())},d),c.setAttribute("data-slidershowTimer",e))},_fixedSlideNumber:function(a){a=a||this.currentPage;var b=a.pageX;return this.loop&&(b=0===a.pageX?this.itemLength-3:a.pageX===this.itemLength-1?0:a.pageX-1),b},_reLayout:function(){this.hasHorizontalScroll=!0,this.loop=this.scroller.classList.contains(e),this._super()},_getScroll:function(){var b=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));return b?b.x:0},_transitionEnd:function(b){b.target===this.scroller&&this.isInTransition&&(this._transitionTime(),this.isInTransition=!1,a.trigger(this.wrapper,"scrollend",this))},_flick:function(a){if(this.moved){var b=a.detail,c=b.direction;this._clearRequestAnimationFrame(),this.isInTransition=!0,"flick"===a.type?(b.deltaTime<200&&(this.x=this._getPage(this.slideNumber+("right"===c?-1:1),!0).x), +if(s("X-Requested-With","XMLHttpRequest"),s("Accept",n||"*/*"),(n=f.mimeType||n)&&(n.indexOf(",")>-1&&(n=n.split(",",2)[0]),u.overrideMimeType&&u.overrideMimeType(n)),(f.contentType||f.contentType!==!1&&f.data&&"GET"!==f.type.toUpperCase())&&s("Content-Type",f.contentType||"application/x-www-form-urlencoded"),f.headers)for(var w in f.headers)s(w,f.headers[w]);if(u.setRequestHeader=s,u.onreadystatechange=function(){if(4===u.readyState){u.onreadystatechange=a.noop,clearTimeout(m);var b,c=!1,d="file:"===t;if(u.status>=200&&u.status<300||304===u.status||0===u.status&&d&&u.responseText){h=h||q(f.mimeType||u.getResponseHeader("content-type")),b=u.responseText;try{"script"===h?(1,eval)(b):"xml"===h?b=u.responseXML:"json"===h&&(b=i.test(b)?null:a.parseJSON(b))}catch(e){c=e}c?l(c,"parsererror",u,f):k(b,u,f)}else{var g=u.status?"error":"abort",j=u.statusText||null;d&&(g="error",j="404"),l(j,g,u,f)}}},j(u,f)===!1)return u.abort(),l(null,"abort",u,f),u;if(f.xhrFields)for(var w in f.xhrFields)u[w]=f.xhrFields[w];var x="async"in f?f.async:!0;u.open(f.type.toUpperCase(),f.url,x,f.username,f.password);for(var w in r)v.apply(u,r[w]);return f.timeout>0&&(m=setTimeout(function(){u.onreadystatechange=a.noop,u.abort(),l(null,"timeout",u,f)},f.timeout)),u.send(f.data?f.data:null),u},a.param=function(a,b){var c=[];return c.add=function(a,b){this.push(encodeURIComponent(a)+"="+encodeURIComponent(b))},n(c,a,b),c.join("&").replace(/%20/g,"+")},a.get=function(){return a.ajax(r.apply(null,arguments))},a.post=function(){var b=r.apply(null,arguments);return b.type="POST",a.ajax(b)},a.getJSON=function(){var b=r.apply(null,arguments);return b.dataType="json",a.ajax(b)},a.fn.load=function(b,c,d){if(!this.length)return this;var e,g=this,h=b.split(/\s/),i=r(b,c,d),j=i.success;return h.length>1&&(i.url=h[0],e=h[1]),i.success=function(a){if(e){var b=document.createElement("div");b.innerHTML=a.replace(f,"");var c=document.createElement("div"),d=b.querySelectorAll(e);if(d&&d.length>0)for(var h=0,i=d.length;i>h;h++)c.appendChild(d[h]);g[0].innerHTML=c.innerHTML}else g[0].innerHTML=a;j&&j.apply(g,arguments)},a.ajax(i),this}}(mui,window),function(a){var b=document.createElement("a");b.href=window.location.href,a.plusReady(function(){a.ajaxSettings=a.extend(a.ajaxSettings,{xhr:function(a){if(a.crossDomain)return new plus.net.XMLHttpRequest;if("file:"!==b.protocol){var c=document.createElement("a");if(c.href=a.url,c.href=c.href,a.crossDomain=b.protocol+"//"+b.host!=c.protocol+"//"+c.host,a.crossDomain)return new plus.net.XMLHttpRequest}return new window.XMLHttpRequest}})})}(mui),function(a,b,c){a.offset=function(a){var d={top:0,left:0};return typeof a.getBoundingClientRect!==c&&(d=a.getBoundingClientRect()),{top:d.top+b.pageYOffset-a.clientTop,left:d.left+b.pageXOffset-a.clientLeft}}}(mui,window),function(a,b){a.scrollTo=function(a,c,d){c=c||1e3;var e=function(c){if(0>=c)return b.scrollTo(0,a),void(d&&d());var f=a-b.scrollY;setTimeout(function(){b.scrollTo(0,b.scrollY+f/c*10),e(c-10)},16.7)};e(c)},a.animationFrame=function(a){var b,c,d;return function(){b=arguments,d=this,c||(c=!0,requestAnimationFrame(function(){a.apply(d,b),c=!1}))}}}(mui,window),function(a){var b=!1,c=/xyz/.test(function(){xyz})?/\b_super\b/:/.*/,d=function(){};d.extend=function(a){function d(){!b&&this.init&&this.init.apply(this,arguments)}var e=this.prototype;b=!0;var f=new this;b=!1;for(var g in a)f[g]="function"==typeof a[g]&&"function"==typeof e[g]&&c.test(a[g])?function(a,b){return function(){var c=this._super;this._super=e[a];var d=b.apply(this,arguments);return this._super=c,d}}(g,a[g]):a[g];return d.prototype=f,d.prototype.constructor=d,d.extend=arguments.callee,d},a.Class=d}(mui),function(a,b,c){var d="mui-pull-top-pocket",e="mui-pull-bottom-pocket",f="mui-pull",g="mui-pull-loading",h="mui-pull-caption",i="mui-pull-caption-down",j="mui-pull-caption-refresh",k="mui-pull-caption-nomore",l="mui-icon",m="mui-spinner",n="mui-icon-pulldown",o="mui-block",p="mui-hidden",q="mui-visibility",r=g+" "+l+" "+n,s=g+" "+l+" "+n,t=g+" "+l+" "+m,u=['
','
','
{contentrefresh}
',"
"].join(""),v={init:function(b,c){this._super(b,a.extend(!0,{scrollY:!0,scrollX:!1,indicators:!0,deceleration:.003,down:{height:50,contentinit:"下拉可以刷新",contentdown:"下拉可以刷新",contentover:"释放立即刷新",contentrefresh:"正在刷新..."},up:{height:50,auto:!1,contentinit:"上拉显示更多",contentdown:"上拉显示更多",contentrefresh:"正在加载...",contentnomore:"没有更多数据了",duration:300}},c))},_init:function(){this._super(),this._initPocket()},_initPulldownRefresh:function(){this.pulldown=!0,this.pullPocket=this.topPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.topCaption,this.pullLoading=this.topLoading},_initPullupRefresh:function(){this.pulldown=!1,this.pullPocket=this.bottomPocket,this.pullPocket.classList.add(o),this.pullPocket.classList.add(q),this.pullCaption=this.bottomCaption,this.pullLoading=this.bottomLoading},_initPocket:function(){var a=this.options;a.down&&a.down.hasOwnProperty("callback")&&(this.topPocket=this.scroller.querySelector("."+d),this.topPocket||(this.topPocket=this._createPocket(d,a.down,s),this.wrapper.insertBefore(this.topPocket,this.wrapper.firstChild)),this.topLoading=this.topPocket.querySelector("."+g),this.topCaption=this.topPocket.querySelector("."+h)),a.up&&a.up.hasOwnProperty("callback")&&(this.bottomPocket=this.scroller.querySelector("."+e),this.bottomPocket||(this.bottomPocket=this._createPocket(e,a.up,t),this.scroller.appendChild(this.bottomPocket)),this.bottomLoading=this.bottomPocket.querySelector("."+g),this.bottomCaption=this.bottomPocket.querySelector("."+h),this.wrapper.addEventListener("scrollbottom",this))},_createPocket:function(a,c,d){var e=b.createElement("div");return e.className=a,e.innerHTML=u.replace("{contentrefresh}",c.contentinit).replace("{icon}",d),e},_resetPullDownLoading:function(){var a=this.pullLoading;a&&(this.pullCaption.innerHTML=this.options.down.contentdown,a.style.webkitTransition="",a.style.webkitTransform="",a.style.webkitAnimation="",a.className=s)},_setCaptionClass:function(a,b,c){if(!a)switch(c){case this.options.up.contentdown:b.className=h+" "+i;break;case this.options.up.contentrefresh:b.className=h+" "+j;break;case this.options.up.contentnomore:b.className=h+" "+k}},_setCaption:function(a,b){if(!this.loading){var c=this.options,d=this.pullPocket,e=this.pullCaption,f=this.pullLoading,g=this.pulldown,h=this;d&&(b?setTimeout(function(){e.innerHTML=h.lastTitle=a,g?f.className=s:(h._setCaptionClass(!1,e,a),f.className=t),f.style.webkitAnimation="",f.style.webkitTransition="",f.style.webkitTransform=""},100):a!==this.lastTitle&&(e.innerHTML=a,g?a===c.down.contentrefresh?(f.className=t,f.style.webkitAnimation="spinner-spin 1s step-end infinite"):a===c.down.contentover?(f.className=r,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(180deg)"):a===c.down.contentdown&&(f.className=s,f.style.webkitTransition="-webkit-transform 0.3s ease-in",f.style.webkitTransform="rotate(0deg)"):(a===c.up.contentrefresh?f.className=t+" "+q:f.className=t+" "+p,h._setCaptionClass(!1,e,a)),this.lastTitle=a))}}};a.PullRefresh=v}(mui,document),function(a,b,c,d){var e="mui-scroll",f="mui-scrollbar",g="mui-scrollbar-indicator",h=f+"-vertical",i=f+"-horizontal",j="mui-active",k={quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return Math.sqrt(1- --a*a)}},outCirc:{style:"cubic-bezier(0.075, 0.82, 0.165, 1)"},outCubic:{style:"cubic-bezier(0.165, 0.84, 0.44, 1)"}},l=a.Class.extend({init:function(b,c){this.wrapper=this.element=b,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller&&this.scroller.style,this.stopped=!1,this.options=a.extend(!0,{scrollY:!0,scrollX:!1,startX:0,startY:0,indicators:!0,stopPropagation:!1,hardwareAccelerated:!0,fixedBadAndorid:!1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/},momentum:!0,snapX:.5,snap:!1,bounce:!0,bounceTime:500,bounceEasing:k.outCirc,scrollTime:500,scrollEasing:k.outCubic,directionLockThreshold:5,parallaxElement:!1,parallaxRatio:.5},c),this.x=0,this.y=0,this.translateZ=this.options.hardwareAccelerated?" translateZ(0)":"",this._init(),this.scroller&&(this.refresh(),this.scrollTo(this.options.startX,this.options.startY))},_init:function(){this._initParallax(),this._initIndicators(),this._initEvent()},_initParallax:function(){this.options.parallaxElement&&(this.parallaxElement=c.querySelector(this.options.parallaxElement),this.parallaxStyle=this.parallaxElement.style,this.parallaxHeight=this.parallaxElement.offsetHeight,this.parallaxImgStyle=this.parallaxElement.querySelector("img").style)},_initIndicators:function(){var a=this;if(a.indicators=[],this.options.indicators){var b,c=[];a.options.scrollY&&(b={el:this._createScrollBar(h),listenX:!1},this.wrapper.appendChild(b.el),c.push(b)),this.options.scrollX&&(b={el:this._createScrollBar(i),listenY:!1},this.wrapper.appendChild(b.el),c.push(b));for(var d=c.length;d--;)this.indicators.push(new m(this,c[d]))}},_initSnap:function(){this.currentPage={},this.pages=[];for(var a=this.snaps,b=a.length,c=0,d=-1,e=0,f=0,g=0,h=0,i=0;b>i;i++){var k=a[i],l=k.offsetLeft,m=k.offsetWidth;(0===i||l<=a[i-1].offsetLeft)&&(c=0,d++),this.pages[c]||(this.pages[c]=[]),e=this._getSnapX(l),h=Math.round(m*this.options.snapX),f=e-h,g=e-m+h,this.pages[c][d]={x:e,leftX:f,rightX:g,pageX:c,element:k},k.classList.contains(j)&&(this.currentPage=this.pages[c][0]),e>=this.maxScrollX&&c++}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(Math.min(0,-a+this.wrapperWidth/2),this.maxScrollX)},_gotoPage:function(a){this.currentPage=this.pages[Math.min(a,this.pages.length-1)][0];for(var b=0,c=this.snaps.length;c>b;b++)b===a?this.snaps[b].classList.add(j):this.snaps[b].classList.remove(j);this.scrollTo(this.currentPage.x,0,this.options.scrollTime)},_nearestSnap:function(a){if(!this.pages.length)return{x:0,pageX:0};var b=0,c=this.pages.length;for(a>0?a=0:ab;b++){var d="left"===this.direction?this.pages[b][0].leftX:this.pages[b][0].rightX;if(a>=d)return this.pages[b][0]}return{x:0,pageX:0}},_initEvent:function(c){var d=c?"removeEventListener":"addEventListener";b[d]("orientationchange",this),b[d]("resize",this),this.scroller[d]("webkitTransitionEnd",this),this.wrapper[d](a.EVENT_START,this),this.wrapper[d](a.EVENT_CANCEL,this),this.wrapper[d](a.EVENT_END,this),this.wrapper[d]("drag",this),this.wrapper[d]("dragend",this),this.wrapper[d]("flick",this),this.wrapper[d]("scrollend",this),this.options.scrollX&&this.wrapper[d]("swiperight",this);var e=this.wrapper.querySelector(".mui-segmented-control");e&&mui(e)[c?"off":"on"]("click","a",a.preventDefault),this.wrapper[d]("scrollstart",this),this.wrapper[d]("refresh",this)},_handleIndicatorScrollend:function(){this.indicators.map(function(a){a.fade()})},_handleIndicatorScrollstart:function(){this.indicators.map(function(a){a.fade(1)})},_handleIndicatorRefresh:function(){this.indicators.map(function(a){a.refresh()})},handleEvent:function(b){if(this.stopped)return void this.resetPosition();switch(b.type){case a.EVENT_START:this._start(b);break;case"drag":this.options.stopPropagation&&b.stopPropagation(),this._drag(b);break;case"dragend":case"flick":this.options.stopPropagation&&b.stopPropagation(),this._flick(b);break;case a.EVENT_CANCEL:case a.EVENT_END:this._end(b);break;case"webkitTransitionEnd":this.transitionTimer&&this.transitionTimer.cancel(),this._transitionEnd(b);break;case"scrollstart":this._handleIndicatorScrollstart(b);break;case"scrollend":this._handleIndicatorScrollend(b),this._scrollend(b),b.stopPropagation();break;case"orientationchange":case"resize":this._resize();break;case"swiperight":b.stopPropagation();break;case"refresh":this._handleIndicatorRefresh(b)}},_start:function(b){if(this.moved=this.needReset=!1,this._transitionTime(),this.isInTransition){this.needReset=!0,this.isInTransition=!1;var c=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));this.setTranslate(Math.round(c.x),Math.round(c.y)),a.trigger(this.scroller,"scrollend",this),b.preventDefault()}this.reLayout(),a.trigger(this.scroller,"beforescrollstart",this)},_getDirectionByAngle:function(a){return-80>a&&a>-100?"up":a>=80&&100>a?"down":a>=170||-170>=a?"left":a>=-35&&10>=a?"right":null},_drag:function(c){var d=c.detail;if((this.options.scrollY||"up"===d.direction||"down"===d.direction)&&a.os.ios&&parseFloat(a.os.version)>=8){var e=d.gesture.touches[0].clientY;if(e+10>b.innerHeight||10>e)return void this.resetPosition(this.options.bounceTime)}var f=isReturn=!1;this._getDirectionByAngle(d.angle);if("left"===d.direction||"right"===d.direction?this.options.scrollX?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollY&&!this.moved&&(isReturn=!0):"up"===d.direction||"down"===d.direction?this.options.scrollY?(f=!0,this.moved||(a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=d.direction)):this.options.scrollX&&!this.moved&&(isReturn=!0):isReturn=!0,(this.moved||f)&&(c.stopPropagation(),d.gesture&&d.gesture.preventDefault()),!isReturn){this.moved?c.stopPropagation():a.trigger(this.scroller,"scrollstart",this);var g=0,h=0;this.moved?(g=d.deltaX-a.gestures.session.prevTouch.deltaX,h=d.deltaY-a.gestures.session.prevTouch.deltaY):(g=d.deltaX,h=d.deltaY);var i=Math.abs(d.deltaX),j=Math.abs(d.deltaY);i>j+this.options.directionLockThreshold?h=0:j>=i+this.options.directionLockThreshold&&(g=0),g=this.hasHorizontalScroll?g:0,h=this.hasVerticalScroll?h:0;var k=this.x+g,l=this.y+h;(k>0||k0?0:this.maxScrollX),(l>0||l0?0:this.maxScrollY),this.requestAnimationFrame||this._updateTranslate(),this.direction=d.deltaX>0?"right":"left",this.moved=!0,this.x=k,this.y=l,a.trigger(this.scroller,"scroll",this)}},_flick:function(b){if(this.moved){b.stopPropagation();var c=b.detail;if(this._clearRequestAnimationFrame(),"dragend"!==b.type||!c.flick){var d=Math.round(this.x),e=Math.round(this.y);if(this.isInTransition=!1,!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(d,e),"dragend"===b.type)return void a.trigger(this.scroller,"scrollend",this);var f=0,g="";return this.options.momentum&&c.flickTime<300&&(momentumX=this.hasHorizontalScroll?this._momentum(this.x,c.flickDistanceX,c.flickTime,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:d,duration:0},momentumY=this.hasVerticalScroll?this._momentum(this.y,c.flickDistanceY,c.flickTime,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:e,duration:0},d=momentumX.destination,e=momentumY.destination,f=Math.max(momentumX.duration,momentumY.duration),this.isInTransition=!0),d!=this.x||e!=this.y?((d>0||d0||e0&&this.y<=this.maxScrollY)&&a.trigger(this.scroller,"scrollbottom",this)},_resize:function(){var a=this;clearTimeout(a.resizeTimeout),a.resizeTimeout=setTimeout(function(){a.refresh()},a.options.resizePolling)},_transitionTime:function(b){if(b=b||0,this.scrollerStyle.webkitTransitionDuration=b+"ms",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=b+"ms"),this.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.scrollerStyle.webkitTransitionDuration="0.001s",this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration="0.001s")),this.indicators)for(var c=this.indicators.length;c--;)this.indicators[c].transitionTime(b);b&&(this.transitionTimer&&this.transitionTimer.cancel(),this.transitionTimer=a.later(function(){a.trigger(this.scroller,"webkitTransitionEnd")},b+100,this))},_transitionTimingFunction:function(a){if(this.scrollerStyle.webkitTransitionTimingFunction=a,this.parallaxElement&&this.options.scrollY&&(this.parallaxStyle.webkitTransitionDuration=a),this.indicators)for(var b=this.indicators.length;b--;)this.indicators[b].transitionTimingFunction(a)},_translate:function(a,b){this.x=a,this.y=b},_clearRequestAnimationFrame:function(){this.requestAnimationFrame&&(cancelAnimationFrame(this.requestAnimationFrame),this.requestAnimationFrame=null)},_updateTranslate:function(){var a=this;(a.x!==a.lastX||a.y!==a.lastY)&&a.setTranslate(a.x,a.y),a.requestAnimationFrame=requestAnimationFrame(function(){a._updateTranslate()})},_createScrollBar:function(a){var b=c.createElement("div"),d=c.createElement("div");return b.className=f+" "+a,d.className=g,b.appendChild(d),a===h?(this.scrollbarY=b,this.scrollbarIndicatorY=d):a===i&&(this.scrollbarX=b,this.scrollbarIndicatorX=d),this.wrapper.appendChild(b),b},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},_reLayout:function(){if(this.hasHorizontalScroll||(this.maxScrollX=0,this.scrollerWidth=this.wrapperWidth),this.hasVerticalScroll||(this.maxScrollY=0,this.scrollerHeight=this.wrapperHeight),this.indicators.map(function(a){a.refresh()}),this.options.snap&&"string"==typeof this.options.snap){var a=this.scroller.querySelectorAll(this.options.snap);this.itemLength=0,this.snaps=[];for(var b=0,c=a.length;c>b;b++){var d=a[b];d.parentNode===this.scroller&&(this.itemLength++,this.snaps.push(d))}this._initSnap()}},_momentum:function(a,b,c,e,f,g){var h,i,j=parseFloat(Math.abs(b)/c);return g=g===d?6e-4:g,h=a+j*j/(2*g)*(0>b?-1:1),i=j/g,e>h?(h=f?e-f/2.5*(j/8):e,b=Math.abs(h-a),i=b/j):h>0&&(h=f?f/2.5*(j/8):0,b=Math.abs(a)+h,i=b/j),{destination:Math.round(h),duration:i}},_getTranslateStr:function(a,b){return this.options.hardwareAccelerated?"translate3d("+a+"px,"+b+"px,0px) "+this.translateZ:"translate("+a+"px,"+b+"px) "},setStopped:function(a){this.stopped=!!a},setTranslate:function(b,c){if(this.x=b,this.y=c,this.scrollerStyle.webkitTransform=this._getTranslateStr(b,c),this.parallaxElement&&this.options.scrollY){var d=c*this.options.parallaxRatio,e=1+d/((this.parallaxHeight-d)/2);e>1?(this.parallaxImgStyle.opacity=1-d/100*this.options.parallaxRatio,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-d)+" scale("+e+","+e+")"):(this.parallaxImgStyle.opacity=1,this.parallaxStyle.webkitTransform=this._getTranslateStr(0,-1)+" scale(1,1)")}if(this.indicators)for(var f=this.indicators.length;f--;)this.indicators[f].updatePosition();this.lastX=this.x,this.lastY=this.y,a.trigger(this.scroller,"scroll",this)},reLayout:function(){this.wrapper.offsetHeight;var b=parseFloat(a.getStyles(this.wrapper,"padding-left"))||0,c=parseFloat(a.getStyles(this.wrapper,"padding-right"))||0,d=parseFloat(a.getStyles(this.wrapper,"padding-top"))||0,e=parseFloat(a.getStyles(this.wrapper,"padding-bottom"))||0,f=this.wrapper.clientWidth,g=this.wrapper.clientHeight;this.scrollerWidth=this.scroller.offsetWidth,this.scrollerHeight=this.scroller.offsetHeight,this.wrapperWidth=f-b-c,this.wrapperHeight=g-d-e,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this.maxScrollY=Math.min(this.wrapperHeight-this.scrollerHeight,0),this.hasHorizontalScroll=this.options.scrollX&&this.maxScrollX<0,this.hasVerticalScroll=this.options.scrollY&&this.maxScrollY<0,this._reLayout()},resetPosition:function(a){var b=this.x,c=this.y;return a=a||0,!this.hasHorizontalScroll||this.x>0?b=0:this.x0?c=0:this.yb;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style},refresh:function(){this._reInit(),this.reLayout(),a.trigger(this.scroller,"refresh",this),this.resetPosition()},scrollTo:function(a,b,c,d){var d=d||k.circular;this.isInTransition=c>0,this.isInTransition?(this._clearRequestAnimationFrame(),this._transitionTimingFunction(d.style),this._transitionTime(c),this.setTranslate(a,b)):this.setTranslate(a,b)},scrollToBottom:function(a,b){a=a||this.options.scrollTime,this.scrollTo(0,this.maxScrollY,a,b)},gotoPage:function(a){this._gotoPage(a)},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-scroll")],this.wrapper.setAttribute("data-scroll","")}}),m=function(b,d){this.wrapper="string"==typeof d.el?c.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=b,this.options=a.extend({listenX:!0,listenY:!0,fade:!1,speedRatioX:0,speedRatioY:0},d),this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.fade&&(this.wrapperStyle.webkitTransform=this.scroller.translateZ,this.wrapperStyle.webkitTransitionDuration=this.options.fixedBadAndorid&&a.os.isBadAndroid?"0.001s":"0ms",this.wrapperStyle.opacity="0")};m.prototype={handleEvent:function(a){},transitionTime:function(b){b=b||0,this.indicatorStyle.webkitTransitionDuration=b+"ms",this.scroller.options.fixedBadAndorid&&!b&&a.os.isBadAndroid&&(this.indicatorStyle.webkitTransitionDuration="0.001s")},transitionTimingFunction:function(a){this.indicatorStyle.webkitTransitionTimingFunction=a},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.wrapper.offsetHeight,this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.indicatorWidth=Math.max(Math.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px",this.maxPosX=this.wrapperWidth-this.indicatorWidth,this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX,this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.indicatorHeight=Math.max(Math.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px",this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&Math.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&Math.round(this.sizeRatioY*this.scroller.y)||0;athis.maxBoundaryX?(this.width=Math.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),bthis.maxBoundaryY?(this.height=Math.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px"),this.x=a,this.y=b,this.indicatorStyle.webkitTransform=this.scroller._getTranslateStr(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle.webkitTransitionDuration=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},a.Scroll=l,a.fn.scroll=function(b){var c=[];return this.each(function(){var d=null,e=this,f=e.getAttribute("data-scroll");if(f)d=a.data[f];else{f=++a.uuid;var g=a.extend({},b);e.classList.contains("mui-segmented-control")&&(g=a.extend(g,{scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})),a.data[f]=d=new l(e,g),e.setAttribute("data-scroll",f)}c.push(d)}),1===c.length?c[0]:c}}(mui,window,document),function(a,b,c,d){var e="mui-visibility",f="mui-hidden",g=a.Scroll.extend(a.extend({handleEvent:function(a){this._super(a),"scrollbottom"===a.type&&a.target===this.scroller&&this._scrollbottom()},_scrollbottom:function(){this.pulldown||this.loading||(this.pulldown=!1,this._initPullupRefresh(),this.pullupLoading())},_start:function(a){a.touches&&a.touches.length&&a.touches[0].clientX>30&&a.target&&!this._preventDefaultException(a.target,this.options.preventDefaultException)&&a.preventDefault(),this.loading||(this.pulldown=this.pullPocket=this.pullCaption=this.pullLoading=!1),this._super(a)},_drag:function(a){this._super(a),!this.pulldown&&!this.loading&&this.topPocket&&"down"===a.detail.direction&&this.y>=0&&this._initPulldownRefresh(),this.pulldown&&this._setCaption(this.y>this.options.down.height?this.options.down.contentover:this.options.down.contentdown)},_reLayout:function(){this.hasVerticalScroll=!0,this._super()},resetPosition:function(a){if(this.pulldown){if(this.y>=this.options.down.height)return this.pulldownLoading(d,a||0),!0;!this.loading&&this.topPocket.classList.remove(e)}return this._super(a)},pulldownLoading:function(a,b){if("undefined"==typeof a&&(a=this.options.down.height),this.scrollTo(0,a,b,this.options.bounceEasing),!this.loading){this._initPulldownRefresh(),this._setCaption(this.options.down.contentrefresh),this.loading=!0,this.indicators.map(function(a){a.fade(0)});var c=this.options.down.callback;c&&c.call(this)}},endPulldownToRefresh:function(){var a=this;a.topPocket&&a.loading&&this.pulldown&&(a.scrollTo(0,0,a.options.bounceTime,a.options.bounceEasing),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(e)},350))},pullupLoading:function(a,b,c){b=b||0,this.scrollTo(b,this.maxScrollY,c,this.options.bounceEasing),this.loading||(this._initPullupRefresh(),this._setCaption(this.options.up.contentrefresh),this.indicators.map(function(a){a.fade(0)}),this.loading=!0,a=a||this.options.up.callback,a&&a.call(this))},endPullupToRefresh:function(a){var b=this;b.bottomPocket&&(b.loading=!1,a?(this.finished=!0,b._setCaption(b.options.up.contentnomore),b.wrapper.removeEventListener("scrollbottom",b)):(b._setCaption(b.options.up.contentdown),b.loading||b.bottomPocket.classList.remove(e)))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+f,this.wrapper.removeEventListener("scrollbottom",this)},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(f),this._setCaption(this.options.up.contentdown),this.wrapper.addEventListener("scrollbottom",this)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1),this._super()}},a.PullRefresh));a.fn.pullRefresh=function(b){if(1===this.length){var c=this[0],d=null;b=b||{};var e=c.getAttribute("data-pullrefresh");return e?d=a.data[e]:(e=++a.uuid,a.data[e]=d=new g(c,b),c.setAttribute("data-pullrefresh",e)),b.down&&b.down.auto?d.pulldownLoading(b.down.autoY):b.up&&b.up.auto&&d.pullupLoading(),d}}}(mui,window,document),function(a,b){var c="mui-slider",d="mui-slider-group",e="mui-slider-loop",f="mui-action-previous",g="mui-action-next",h="mui-slider-item",i="mui-active",j="."+h,k=".mui-slider-progress-bar",l=a.Slider=a.Scroll.extend({init:function(b,c){this._super(b,a.extend(!0,{fingers:1,interval:0,scrollY:!1,scrollX:!0,indicators:!1,scrollTime:1e3,startX:!1,slideTime:0,snap:j},c)),this.options.startX},_init:function(){this._reInit(),this.scroller&&(this.scrollerStyle=this.scroller.style,this.progressBar=this.wrapper.querySelector(k),this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style),this._super(),this._initTimer())},_triggerSlide:function(){var b=this;b.isInTransition=!1;b.currentPage;b.slideNumber=b._fixedSlideNumber(),b.loop&&(0===b.slideNumber?b.setTranslate(b.pages[1][0].x,0):b.slideNumber===b.itemLength-3&&b.setTranslate(b.pages[b.itemLength-2][0].x,0)),b.lastSlideNumber!=b.slideNumber&&(b.lastSlideNumber=b.slideNumber,b.lastPage=b.currentPage,a.trigger(b.wrapper,"slide",{slideNumber:b.slideNumber})),b._initTimer()},_handleSlide:function(b){var c=this;if(b.target===c.wrapper){var d=b.detail;d.slideNumber=d.slideNumber||0;for(var e=c.scroller.querySelectorAll(j),f=[],g=0,h=e.length;h>g;g++){var k=e[g];k.parentNode===c.scroller&&f.push(k)}var l=d.slideNumber;if(c.loop&&(l+=1),!c.wrapper.classList.contains("mui-segmented-control"))for(var g=0,h=f.length;h>g;g++){var k=f[g];k.parentNode===c.scroller&&(g===l?k.classList.add(i):k.classList.remove(i))}var m=c.wrapper.querySelector(".mui-slider-indicator");if(m){m.getAttribute("data-scroll")&&a(m).scroll().gotoPage(d.slideNumber);var n=m.querySelectorAll(".mui-indicator");if(n.length>0)for(var g=0,h=n.length;h>g;g++)n[g].classList[g===d.slideNumber?"add":"remove"](i);else{var o=m.querySelector(".mui-number span");if(o)o.innerText=d.slideNumber+1;else for(var p=c.wrapper.querySelectorAll(".mui-control-item"),g=0,h=p.length;h>g;g++)p[g].classList[g===d.slideNumber?"add":"remove"](i)}}b.stopPropagation()}},_handleTabShow:function(a){var b=this;b.gotoItem(a.detail.tabNumber||0,b.options.slideTime)},_handleIndicatorTap:function(a){var b=this,c=a.target;(c.classList.contains(f)||c.classList.contains(g))&&(b[c.classList.contains(f)?"prevItem":"nextItem"](),a.stopPropagation())},_initEvent:function(b){var c=this;c._super(b);var d=b?"removeEventListener":"addEventListener";c.wrapper[d]("slide",this),c.wrapper[d](a.eventName("shown","tab"),this)},handleEvent:function(b){switch(this._super(b),b.type){case"slide":this._handleSlide(b);break;case a.eventName("shown","tab"):this._handleTabShow(b)}},_scrollend:function(a){this._super(a),this._triggerSlide(a)},_drag:function(a){this._super(a);var c=a.detail.direction;if("left"===c||"right"===c){var d=this.wrapper.getAttribute("data-slidershowTimer");d&&b.clearTimeout(d),a.stopPropagation()}},_initTimer:function(){var a=this,c=a.wrapper,d=a.options.interval,e=c.getAttribute("data-slidershowTimer");e&&b.clearTimeout(e),d&&(e=b.setTimeout(function(){c&&((c.offsetWidth||c.offsetHeight)&&a.nextItem(!0),a._initTimer())},d),c.setAttribute("data-slidershowTimer",e))},_fixedSlideNumber:function(a){a=a||this.currentPage;var b=a.pageX;return this.loop&&(b=0===a.pageX?this.itemLength-3:a.pageX===this.itemLength-1?0:a.pageX-1),b},_reLayout:function(){this.hasHorizontalScroll=!0,this.loop=this.scroller.classList.contains(e),this._super()},_getScroll:function(){var b=a.parseTranslateMatrix(a.getStyles(this.scroller,"webkitTransform"));return b?b.x:0},_transitionEnd:function(b){b.target===this.scroller&&this.isInTransition&&(this._transitionTime(),this.isInTransition=!1,a.trigger(this.wrapper,"scrollend",this))},_flick:function(a){if(this.moved){var b=a.detail,c=b.direction;this._clearRequestAnimationFrame(),this.isInTransition=!0,"flick"===a.type?(b.deltaTime<200&&(this.x=this._getPage(this.slideNumber+("right"===c?-1:1),!0).x), this.resetPosition(this.options.bounceTime)):"dragend"!==a.type||b.flick||this.resetPosition(this.options.bounceTime),a.stopPropagation()}},_initSnap:function(){if(this.scrollerWidth=this.itemLength*this.scrollerWidth,this.maxScrollX=Math.min(this.wrapperWidth-this.scrollerWidth,0),this._super(),this.currentPage.x)this.slideNumber=this._fixedSlideNumber(),this.lastSlideNumber="undefined"==typeof this.lastSlideNumber?this.slideNumber:this.lastSlideNumber;else{var a=this.pages[this.loop?1:0];if(a=a||this.pages[0],!a)return;this.currentPage=a[0],this.slideNumber=0,this.lastSlideNumber="undefined"==typeof this.lastSlideNumber?0:this.lastSlideNumber}this.options.startX=this.currentPage.x||0},_getSnapX:function(a){return Math.max(-a,this.maxScrollX)},_getPage:function(a,b){return this.loop?a>this.itemLength-(b?2:3)?(a=1,time=0):(b?-1:0)>a?(a=this.itemLength-2,time=0):a+=1:(b||(a>this.itemLength-1?(a=0,time=0):0>a&&(a=this.itemLength-1,time=0)),a=Math.min(Math.max(0,a),this.itemLength-1)),this.pages[a][0]},_gotoItem:function(b,c){this.currentPage=this._getPage(b,!0),this.scrollTo(this.currentPage.x,0,c,this.options.scrollEasing),0===c&&a.trigger(this.wrapper,"scrollend",this)},setTranslate:function(a,b){this._super(a,b);var c=this.progressBar;c&&(this.progressBarStyle.webkitTransform=this._getTranslateStr(-a*(this.progressBarWidth/this.wrapperWidth),0))},resetPosition:function(a){return a=a||0,this.x>0?this.x=0:this.xb;b++)if(a[b].parentNode===this.wrapper){this.scroller=a[b];break}this.scrollerStyle=this.scroller&&this.scroller.style,this.progressBar&&(this.progressBarWidth=this.progressBar.offsetWidth,this.progressBarStyle=this.progressBar.style)},refresh:function(b){b?(a.extend(this.options,b),this._super(),this._initTimer()):this._super()},destroy:function(){this._initEvent(!0),delete a.data[this.wrapper.getAttribute("data-slider")],this.wrapper.setAttribute("data-slider","")}});a.fn.slider=function(b){var d=null;return this.each(function(){var e=this;if(this.classList.contains(c)||(e=this.querySelector("."+c)),e&&e.querySelector(j)){var f=e.getAttribute("data-slider");f?(d=a.data[f],d&&b&&d.refresh(b)):(f=++a.uuid,a.data[f]=d=new l(e,b),e.setAttribute("data-slider",f))}}),d},a.ready(function(){a(".mui-slider").slider(),a(".mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control").scroll({scrollY:!1,scrollX:!0,indicators:!1,snap:".mui-control-item"})})}(mui,window),function(a,b){if(a.os.plus&&a.os.android){var c="mui-plus-pullrefresh",d="mui-visibility",e="mui-hidden",f="mui-block",g="mui-pull-caption",h="mui-pull-caption-down",i="mui-pull-caption-refresh",j="mui-pull-caption-nomore",k=a.Class.extend({init:function(a,b){this.element=a,this.options=b,this.wrapper=this.scroller=a,this._init(),this._initPulldownRefreshEvent()},_init:function(){var a=this;window.addEventListener("dragup",a),b.addEventListener("plusscrollbottom",a),a.scrollInterval=window.setInterval(function(){a.isScroll&&!a.loading&&window.pageYOffset+window.innerHeight+10>=b.documentElement.scrollHeight&&(a.isScroll=!1,a.bottomPocket&&a.pullupLoading())},100)},_initPulldownRefreshEvent:function(){var b=this;b.topPocket&&b.options.webviewId&&a.plusReady(function(){var a=plus.webview.getWebviewById(b.options.webviewId);if(a){b.options.webview=a;var c=b.options.down,d=c.height;a.addEventListener("dragBounce",function(d){switch(b.pulldown?b.pullPocket.classList.add(f):b._initPulldownRefresh(),d.status){case"beforeChangeOffset":b._setCaption(c.contentdown);break;case"afterChangeOffset":b._setCaption(c.contentover);break;case"dragEndAfterChangeOffset":a.evalJS("mui&&mui.options.pullRefresh.down.callback()"),b._setCaption(c.contentrefresh)}},!1),a.setBounce({position:{top:2*d+"px"},changeoffset:{top:d+"px"}})}})},handleEvent:function(a){var b=this;b.stopped||(b.isScroll=!1,("dragup"===a.type||"plusscrollbottom"===a.type)&&(b.isScroll=!0,setTimeout(function(){b.isScroll=!1},1e3)))}}).extend(a.extend({setStopped:function(a){this.stopped=!!a;var b=plus.webview.currentWebview();if(this.stopped)b.setStyle({bounce:"none"}),b.setBounce({position:{top:"none"}});else{var c=this.options.down.height;b.setStyle({bounce:"vertical"}),b.setBounce({position:{top:2*c+"px"},changeoffset:{top:c+"px"}})}},pulldownLoading:function(){a.plusReady(function(){plus.webview.currentWebview().setBounce({offset:{top:this.options.down.height+"px"}})}.bind(this))},endPulldownToRefresh:function(){var a=plus.webview.currentWebview();a.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('"+JSON.stringify({webviewId:a.id})+"')._endPulldownToRefresh()")},_endPulldownToRefresh:function(){var a=this;a.topPocket&&a.options.webview&&(a.options.webview.endPullToRefresh(),a.loading=!1,a._setCaption(a.options.down.contentdown,!0),setTimeout(function(){a.loading||a.topPocket.classList.remove(f)},350))},pullupLoading:function(a){var b=this;b.isLoading||(b.isLoading=!0,b.pulldown!==!1?b._initPullupRefresh():this.pullPocket.classList.add(f),setTimeout(function(){b.pullLoading.classList.add(d),b.pullLoading.classList.remove(e),b.pullCaption.innerHTML="",b.pullCaption.className=g+" "+i,b.pullCaption.innerHTML=b.options.up.contentrefresh,a=a||b.options.up.callback,a&&a.call(b)},300))},endPullupToRefresh:function(a){var c=this;c.pullLoading&&(c.pullLoading.classList.remove(d),c.pullLoading.classList.add(e),c.isLoading=!1,a?(c.finished=!0,c.pullCaption.className=g+" "+j,c.pullCaption.innerHTML=c.options.up.contentnomore,b.removeEventListener("plusscrollbottom",c),window.removeEventListener("dragup",c)):(c.pullCaption.className=g+" "+h,c.pullCaption.innerHTML=c.options.up.contentdown))},disablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.className="mui-pull-bottom-pocket "+e,window.removeEventListener("dragup",this)},enablePullupToRefresh:function(){this._initPullupRefresh(),this.bottomPocket.classList.remove(e),this.pullCaption.className=g+" "+h,this.pullCaption.innerHTML=this.options.up.contentdown,b.addEventListener("plusscrollbottom",this),window.addEventListener("dragup",this)},scrollTo:function(b,c,d){a.scrollTo(c,d)},refresh:function(a){a&&this.finished&&(this.enablePullupToRefresh(),this.finished=!1)}},a.PullRefresh));a.fn.pullRefresh=function(d){var e;0===this.length?(e=b.createElement("div"),e.className="mui-content",b.body.appendChild(e)):e=this[0],d=d||{},"string"==typeof d&&(d=a.parseJSON(d)),!d.webviewId&&(d.webviewId=plus.webview.currentWebview().id||plus.webview.currentWebview().getURL());var f=null,g=d.webviewId&&d.webviewId.replace(/\//g,"_"),h=e.getAttribute("data-pullrefresh-plus-"+g);return h?f=a.data[h]:(h=++a.uuid,e.setAttribute("data-pullrefresh-plus-"+g,h),b.body.classList.add(c),a.data[h]=f=new k(e,d)),d.down&&d.down.auto?f.pulldownLoading():d.up&&d.up.auto&&f.pullupLoading(),f}}}(mui,document),function(a,b,c,d){var e="mui-off-canvas-left",f="mui-off-canvas-right",g="mui-off-canvas-backdrop",h="mui-off-canvas-wrap",i="mui-slide-in",j="mui-active",k="mui-transitioning",l=".mui-inner-wrap",m=a.Class.extend({init:function(b,d){this.wrapper=this.element=b,this.scroller=this.wrapper.querySelector(l),this.classList=this.wrapper.classList,this.scroller&&(this.options=a.extend(!0,{dragThresholdX:10,scale:.8,opacity:.1,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/}},d),c.body.classList.add("mui-fullscreen"),this.refresh(),this.initEvent())},_preventDefaultException:function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},refresh:function(a){this.slideIn=this.classList.contains(i),this.scalable=this.classList.contains("mui-scalable")&&!this.slideIn,this.scroller=this.wrapper.querySelector(l),this.offCanvasLefts=this.wrapper.querySelectorAll("."+e),this.offCanvasRights=this.wrapper.querySelectorAll("."+f),a?a.classList.contains(e)?this.offCanvasLeft=a:a.classList.contains(f)&&(this.offCanvasRight=a):(this.offCanvasRight=this.wrapper.querySelector("."+f),this.offCanvasLeft=this.wrapper.querySelector("."+e)),this.offCanvasRightWidth=this.offCanvasLeftWidth=0,this.offCanvasLeftSlideIn=this.offCanvasRightSlideIn=!1,this.offCanvasRight&&(this.offCanvasRightWidth=this.offCanvasRight.offsetWidth,this.offCanvasRightSlideIn=this.slideIn&&this.offCanvasRight.parentNode===this.wrapper),this.offCanvasLeft&&(this.offCanvasLeftWidth=this.offCanvasLeft.offsetWidth,this.offCanvasLeftSlideIn=this.slideIn&&this.offCanvasLeft.parentNode===this.wrapper),this.backdrop=this.scroller.querySelector("."+g),this.options.dragThresholdX=this.options.dragThresholdX||10,this.visible=!1,this.startX=null,this.lastX=null,this.offsetX=null,this.lastTranslateX=null},handleEvent:function(b){switch(b.type){case a.EVENT_START:b.target&&!this._preventDefaultException(b.target,this.options.preventDefaultException)&&b.preventDefault();break;case"webkitTransitionEnd":b.target===this.scroller&&this._dispatchEvent();break;case"drag":var c=b.detail;this.startX?this.lastX=c.center.x:(this.startX=c.center.x,this.lastX=this.startX),!this.isDragging&&Math.abs(this.lastX-this.startX)>this.options.dragThresholdX&&("left"===c.direction||"right"===c.direction)&&(this.slideIn?(this.scroller=this.wrapper.querySelector(l),this.classList.contains(j)?this.offCanvasRight&&this.offCanvasRight.classList.contains(j)?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):"left"===c.direction&&this.offCanvasRight?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):"right"===c.direction&&this.offCanvasLeft?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):this.scroller=null):this.classList.contains(j)?"left"===c.direction?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):"right"===c.direction?(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth):(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth),this.offCanvas&&this.scroller&&(this.startX=this.lastX,this.isDragging=!0,a.gestures.session.lockDirection=!0,a.gestures.session.startDirection=c.direction,this.offCanvas.classList.remove(k),this.scroller.classList.remove(k),this.offsetX=this.getTranslateX(),this._initOffCanvasVisible())),this.isDragging&&(this.updateTranslate(this.offsetX+(this.lastX-this.startX)),c.gesture.preventDefault(),b.stopPropagation());break;case"dragend":if(this.isDragging){var c=b.detail,d=c.direction;this.isDragging=!1,this.offCanvas.classList.add(k),this.scroller.classList.add(k);var e=0,f=this.getTranslateX();if(this.slideIn){if(e=f>=0?this.offCanvasRightWidth&&f/this.offCanvasRightWidth||0:this.offCanvasLeftWidth&&f/this.offCanvasLeftWidth||0,"right"===d&&0>=e&&(e>=-.5||c.swipe)?this.openPercentage(100):"right"===d&&e>0&&(e>=.5||c.swipe)?this.openPercentage(0):"right"===d&&-.5>=e?this.openPercentage(0):"right"===d&&e>0&&.5>=e?this.openPercentage(-100):"left"===d&&e>=0&&(.5>=e||c.swipe)?this.openPercentage(-100):"left"===d&&0>e&&(-.5>=e||c.swipe)?this.openPercentage(0):"left"===d&&e>=.5?this.openPercentage(0):"left"===d&&e>=-.5&&0>e?this.openPercentage(100):this.openPercentage(0),1===e||-1===e||0===e)return void this._dispatchEvent()}else{if(e=f>=0?this.offCanvasLeftWidth&&f/this.offCanvasLeftWidth||0:this.offCanvasRightWidth&&f/this.offCanvasRightWidth||0,0===e)return this.openPercentage(0),void this._dispatchEvent();"right"===d&&e>=0&&(e>=.5||c.swipe)?this.openPercentage(100):"right"===d&&0>e&&(e>-.5||c.swipe)?this.openPercentage(0):"right"===d&&e>0&&.5>e?this.openPercentage(0):"right"===d&&.5>e?this.openPercentage(-100):"left"===d&&0>=e&&(-.5>=e||c.swipe)?this.openPercentage(-100):"left"===d&&e>0&&(.5>=e||c.swipe)?this.openPercentage(0):"left"===d&&0>e&&e>=-.5?this.openPercentage(0):"left"===d&&e>.5?this.openPercentage(100):this.openPercentage(0),(1===e||-1===e)&&this._dispatchEvent()}}}},_dispatchEvent:function(){this.classList.contains(j)?a.trigger(this.wrapper,"shown",this):a.trigger(this.wrapper,"hidden",this)},_initOffCanvasVisible:function(){this.visible||(this.visible=!0,this.offCanvasLeft&&(this.offCanvasLeft.style.visibility="visible"),this.offCanvasRight&&(this.offCanvasRight.style.visibility="visible"))},initEvent:function(){var b=this;b.backdrop&&b.backdrop.addEventListener("tap",function(a){b.close(),a.detail.gesture.preventDefault()}),this.classList.contains("mui-draggable")&&(this.wrapper.addEventListener(a.EVENT_START,this),this.wrapper.addEventListener("drag",this),this.wrapper.addEventListener("dragend",this)),this.wrapper.addEventListener("webkitTransitionEnd",this)},openPercentage:function(a){var b=a/100;this.slideIn?(this.offCanvasLeft&&a>=0?(b=0===b?-1:0,this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==a?"add":"remove"](j)):this.offCanvasRight&&0>=a&&(b=0===b?1:0,this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==a?"add":"remove"](j)),this.classList[0!==a?"add":"remove"](j)):(this.offCanvasLeft&&a>=0?(this.updateTranslate(this.offCanvasLeftWidth*b),this.offCanvasLeft.classList[0!==b?"add":"remove"](j)):this.offCanvasRight&&0>=a&&(this.updateTranslate(this.offCanvasRightWidth*b),this.offCanvasRight.classList[0!==b?"add":"remove"](j)),this.classList[0!==b?"add":"remove"](j))},updateTranslate:function(b){if(b!==this.lastTranslateX){if(this.slideIn){if(this.offCanvas.classList.contains(f)){if(0>b)return void this.setTranslateX(0);if(b>this.offCanvasRightWidth)return void this.setTranslateX(this.offCanvasRightWidth)}else{if(b>0)return void this.setTranslateX(0);if(b<-this.offCanvasLeftWidth)return void this.setTranslateX(-this.offCanvasLeftWidth)}this.setTranslateX(b)}else{if(!this.offCanvasLeft&&b>0||!this.offCanvasRight&&0>b)return void this.setTranslateX(0);if(this.leftShowing&&b>this.offCanvasLeftWidth)return void this.setTranslateX(this.offCanvasLeftWidth);if(this.rightShowing&&b<-this.offCanvasRightWidth)return void this.setTranslateX(-this.offCanvasRightWidth);this.setTranslateX(b),b>=0?(this.leftShowing=!0,this.rightShowing=!1,b>0&&(this.offCanvasLeft&&a.each(this.offCanvasLefts,function(a,b){b===this.offCanvasLeft?this.offCanvasLeft.style.zIndex=0:b.style.zIndex=-1}.bind(this)),this.offCanvasRight&&(this.offCanvasRight.style.zIndex=-1))):(this.rightShowing=!0,this.leftShowing=!1,this.offCanvasRight&&a.each(this.offCanvasRights,function(a,b){b===this.offCanvasRight?b.style.zIndex=0:b.style.zIndex=-1}.bind(this)),this.offCanvasLeft&&(this.offCanvasLeft.style.zIndex=-1))}this.lastTranslateX=b}},setTranslateX:a.animationFrame(function(a){if(this.scroller)if(this.scalable&&this.offCanvas.parentNode===this.wrapper){var b=Math.abs(a)/this.offCanvasWidth,c=1-(1-this.options.scale)*b,d=this.options.scale+(1-this.options.scale)*b,f=(1-(1-this.options.opacity)*b,this.options.opacity+(1-this.options.opacity)*b);this.offCanvas.classList.contains(e)?(this.offCanvas.style.webkitTransformOrigin="-100%",this.scroller.style.webkitTransformOrigin="left"):(this.offCanvas.style.webkitTransformOrigin="200%",this.scroller.style.webkitTransformOrigin="right"),this.offCanvas.style.opacity=f,this.offCanvas.style.webkitTransform="translate3d(0,0,0) scale("+d+")",this.scroller.style.webkitTransform="translate3d("+a+"px,0,0) scale("+c+")"}else this.slideIn?this.offCanvas.style.webkitTransform="translate3d("+a+"px,0,0)":this.scroller.style.webkitTransform="translate3d("+a+"px,0,0)"}),getTranslateX:function(){if(this.offCanvas){var b=this.slideIn?this.offCanvas:this.scroller,c=a.parseTranslateMatrix(a.getStyles(b,"webkitTransform"));return c&&c.x||0}return 0},isShown:function(a){var b=!1;if(this.slideIn)b="left"===a?this.classList.contains(j)&&this.wrapper.querySelector("."+e+"."+j):"right"===a?this.classList.contains(j)&&this.wrapper.querySelector("."+f+"."+j):this.classList.contains(j)&&(this.wrapper.querySelector("."+e+"."+j)||this.wrapper.querySelector("."+f+"."+j));else{var c=this.getTranslateX();b="right"===a?this.classList.contains(j)&&0>c:"left"===a?this.classList.contains(j)&&c>0:this.classList.contains(j)&&0!==c}return b},close:function(){this._initOffCanvasVisible(),this.offCanvas=this.wrapper.querySelector("."+f+"."+j)||this.wrapper.querySelector("."+e+"."+j),this.offCanvasWidth=this.offCanvas.offsetWidth,this.scroller&&(this.offCanvas.offsetHeight,this.offCanvas.classList.add(k),this.scroller.classList.add(k),this.openPercentage(0))},show:function(a){return this._initOffCanvasVisible(),this.isShown(a)?!1:(a||(a=this.wrapper.querySelector("."+f)?"right":"left"),"right"===a?(this.offCanvas=this.offCanvasRight,this.offCanvasWidth=this.offCanvasRightWidth):(this.offCanvas=this.offCanvasLeft,this.offCanvasWidth=this.offCanvasLeftWidth),this.scroller&&(this.offCanvas.offsetHeight,this.offCanvas.classList.add(k),this.scroller.classList.add(k),this.openPercentage("left"===a?100:-100)),!0)},toggle:function(a){var b=a;a&&a.classList&&(b=a.classList.contains(e)?"left":"right",this.refresh(a)),this.show(b)||this.close()}}),n=function(a){if(parentNode=a.parentNode,parentNode){if(parentNode.classList.contains(h))return parentNode;if(parentNode=parentNode.parentNode,parentNode.classList.contains(h))return parentNode}},o=function(b,d){if("A"===d.tagName&&d.hash){var e=c.getElementById(d.hash.replace("#",""));if(e){var f=n(e);if(f)return a.targets._container=f,e}}return!1};a.registerTarget({name:d,index:60,handle:o,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){if(a.targets.offcanvas)for(var d=b.target;d&&d!==c;d=d.parentNode)if("A"===d.tagName&&d.hash&&d.hash==="#"+a.targets.offcanvas.id){b.detail&&b.detail.gesture&&b.detail.gesture.preventDefault(),a(a.targets._container).offCanvas().toggle(a.targets.offcanvas),a.targets.offcanvas=a.targets._container=null;break}}),a.fn.offCanvas=function(b){var c=[];return this.each(function(){var d=null,e=this;e.classList.contains(h)||(e=n(e));var f=e.getAttribute("data-offCanvas");f?d=a.data[f]:(f=++a.uuid,a.data[f]=d=new m(e,b),e.setAttribute("data-offCanvas",f)),("show"===b||"close"===b||"toggle"===b)&&d.toggle(),c.push(d)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-off-canvas-wrap").offCanvas()})}(mui,window,document,"offcanvas"),function(a,b){var c="mui-action",d=function(a,b){var d=b.className||"";return"string"!=typeof d&&(d=""),d&&~d.indexOf(c)?(b.classList.contains("mui-action-back")&&a.preventDefault(),b):!1};a.registerTarget({name:b,index:50,handle:d,target:!1,isContinue:!0})}(mui,"action"),function(a,b,c,d){var e="mui-modal",f=function(a,b){if("A"===b.tagName&&b.hash){var d=c.getElementById(b.hash.replace("#",""));if(d&&d.classList.contains(e))return d}return!1};a.registerTarget({name:d,index:50,handle:f,target:!1,isReset:!1,isContinue:!0}),b.addEventListener("tap",function(b){a.targets.modal&&(b.detail.gesture.preventDefault(),a.targets.modal.classList.toggle("mui-active"))})}(mui,window,document,"modal"),function(a,b,c,d){var e="mui-popover",f="mui-popover-arrow",g="mui-popover-action",h="mui-backdrop",i="mui-bar-popover",j="mui-bar-backdrop",k="mui-backdrop-action",l="mui-active",m="mui-bottom",n=function(b,d){if("A"===d.tagName&&d.hash){if(a.targets._popover=c.getElementById(d.hash.replace("#","")),a.targets._popover&&a.targets._popover.classList.contains(e))return d;a.targets._popover=null}return!1};a.registerTarget({name:d,index:60,handle:n,target:!1,isReset:!1,isContinue:!0});var o,p=function(a){},q=function(b){this.removeEventListener("webkitTransitionEnd",q),this.addEventListener(a.EVENT_MOVE,a.preventDefault),a.trigger(this,"shown",this)},r=function(b){v(this,"none"),this.removeEventListener("webkitTransitionEnd",r),this.removeEventListener(a.EVENT_MOVE,a.preventDefault),p(!1),a.trigger(this,"hidden",this)},s=function(){var b=c.createElement("div");return b.classList.add(h),b.addEventListener(a.EVENT_MOVE,a.preventDefault),b.addEventListener("tap",function(b){var d=a.targets._popover;d&&(d.addEventListener("webkitTransitionEnd",r),d.classList.remove(l),t(d),c.body.setAttribute("style",""))}),b}(),t=function(b){s.setAttribute("style","opacity:0"),a.targets.popover=a.targets._popover=null,o=a.later(function(){!b.classList.contains(l)&&s.parentNode&&s.parentNode===c.body&&c.body.removeChild(s)},350)};b.addEventListener("tap",function(b){if(a.targets.popover){for(var d=!1,e=b.target;e&&e!==c;e=e.parentNode)e===a.targets.popover&&(d=!0);d&&(b.detail.gesture.preventDefault(),u(a.targets._popover,a.targets.popover))}});var u=function(a,b,d){if(!("show"===d&&a.classList.contains(l)||"hide"===d&&!a.classList.contains(l))){o&&o.cancel(),a.removeEventListener("webkitTransitionEnd",q),a.removeEventListener("webkitTransitionEnd",r),s.classList.remove(j),s.classList.remove(k);var e=c.querySelector(".mui-popover.mui-active");if(e&&(e.addEventListener("webkitTransitionEnd",r),e.classList.remove(l),a===e))return void t(e);var f=!1;(a.classList.contains(i)||a.classList.contains(g))&&(a.classList.contains(g)?(f=!0,s.classList.add(k)):s.classList.add(j)),v(a,"block"),a.offsetHeight,a.classList.add(l),s.setAttribute("style",""),c.body.appendChild(s),p(!0),w(a,b,f),s.classList.add(l),a.addEventListener("webkitTransitionEnd",q)}},v=function(a,b,c,d){var e=a.style;"undefined"!=typeof b&&(e.display=b),"undefined"!=typeof c&&(e.top=c+"px"),"undefined"!=typeof d&&(e.left=d+"px")},w=function(d,e,h){if(d&&e){if(h)return void v(d,"block");var i=b.innerWidth,j=b.innerHeight,k=d.offsetWidth,l=d.offsetHeight,n=e.offsetWidth,o=e.offsetHeight,p=a.offset(e),q=d.querySelector("."+f);q||(q=c.createElement("div"),q.className=f,d.appendChild(q));var r=q&&q.offsetWidth/2||0,s=0,t=0,u=0,w=0,x=d.classList.contains(g)?0:5,y="top";l+rt&&(t=x),t+k>i&&(t=i-k-x),q&&("top"===y?q.classList.add(m):q.classList.remove(m),u-=t,w=k/2-r/2+u,w=Math.max(Math.min(w,k-2*r-6),6),q.setAttribute("style","left:"+w+"px"))):"middle"===y&&q.setAttribute("style","display:none"),v(d,"block",s,t)}};a.createMask=function(b){var d=c.createElement("div");d.classList.add(h),d.addEventListener(a.EVENT_MOVE,a.preventDefault),d.addEventListener("tap",function(){e.close()});var e=[d];return e._show=!1,e.show=function(){return e._show=!0,d.setAttribute("style","opacity:1"),c.body.appendChild(d),e},e._remove=function(){return e._show&&(e._show=!1,d.setAttribute("style","opacity:0"),a.later(function(){var a=c.body;d.parentNode===a&&a.removeChild(d)},350)),e},e.close=function(){b?b()!==!1&&e._remove():e._remove()},e},a.fn.popover=function(){var b=arguments;this.each(function(){a.targets._popover=this,("show"===b[0]||"hide"===b[0]||"toggle"===b[0])&&u(this,b[1],b[0])})}}(mui,window,document,"popover"),function(a,b,c,d,e){var f="mui-control-item",g="mui-segmented-control",h="mui-segmented-control-vertical",i="mui-control-content",j="mui-bar-tab",k="mui-tab-item",l=function(a,b){return b.classList&&(b.classList.contains(f)||b.classList.contains(k))?(b.parentNode&&b.parentNode.classList&&b.parentNode.classList.contains(h)||a.preventDefault(),b):!1};a.registerTarget({name:d,index:80,handle:l,target:!1}),b.addEventListener("tap",function(b){var e=a.targets.tab;if(e){for(var h,l,m,n="mui-active",o="."+n,p=e.parentNode;p&&p!==c;p=p.parentNode){if(p.classList.contains(g)){h=p.querySelector(o+"."+f);break}p.classList.contains(j)&&(h=p.querySelector(o+"."+k))}h&&h.classList.remove(n);var q=e===h;if(e&&e.classList.add(n),e.hash&&(m=c.getElementById(e.hash.replace("#","")))){if(!m.classList.contains(i))return void e.classList[q?"remove":"add"](n);if(!q){var r=m.parentNode;l=r.querySelectorAll("."+i+o);for(var s=0;sthis.handleX/2||!this.initialState&&a>this.handleX/2)&&(b=!0),this.lastChanged!==b&&(b?(this.handle.style.webkitTransform="translate("+(this.initialState?0:this.handleX)+"px,0)",this.classList[this.initialState?"remove":"add"](f)):(this.handle.style.webkitTransform="translate("+(this.initialState?this.handleX:0)+"px,0)",this.classList[this.initialState?"add":"remove"](f)),this.lastChanged=b)}}),a.fn["switch"]=function(b){var c=[];return this.each(function(){var b=null,d=this.getAttribute("data-switch");d?b=a.data[d]:(d=++a.uuid,a.data[d]=new k(this),this.setAttribute("data-switch",d)),c.push(b)}),c.length>1?c:c[0]},a.ready(function(){a("."+d)["switch"]()})}(mui,window,"toggle"),function(a,b,c){function d(a,b){var c=b?"removeEventListener":"addEventListener";a[c]("drag",F),a[c]("dragend",F),a[c]("swiperight",F),a[c]("swipeleft",F),a[c]("flick",F)}var e,f,g="mui-active",h="mui-selected",i="mui-grid-view",j="mui-table-view-radio",k="mui-table-view-cell",l="mui-collapse-content",m="mui-disabled",n="mui-switch",o="mui-btn",p="mui-slider-handle",q="mui-slider-left",r="mui-slider-right",s="mui-transitioning",t="."+p,u="."+q,v="."+r,w="."+h,x="."+o,y=.8,z=isOpened=openedActions=progress=!1,A=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,B=translateX=lastTranslateX=sliderActionLeftWidth=sliderActionRightWidth=0,C=function(a){a?f?f.classList.add(g):e&&e.classList.add(g):(B&&B.cancel(),f?f.classList.remove(g):e&&e.classList.remove(g))},D=function(){if(translateX!==lastTranslateX){if(buttonsRight&&buttonsRight.length>0){progress=translateX/sliderActionRightWidth,translateX<-sliderActionRightWidth&&(translateX=-sliderActionRightWidth-Math.pow(-translateX-sliderActionRightWidth,y));for(var a=0,b=buttonsRight.length;b>a;a++){var c=buttonsRight[a];"undefined"==typeof c._buttonOffset&&(c._buttonOffset=c.offsetLeft),buttonOffset=c._buttonOffset,E(c,translateX-buttonOffset*(1+Math.max(progress,-1)))}}if(buttonsLeft&&buttonsLeft.length>0){progress=translateX/sliderActionLeftWidth,translateX>sliderActionLeftWidth&&(translateX=sliderActionLeftWidth+Math.pow(translateX-sliderActionLeftWidth,y));for(var a=0,b=buttonsLeft.length;b>a;a++){var d=buttonsLeft[a];"undefined"==typeof d._buttonOffset&&(d._buttonOffset=sliderActionLeftWidth-d.offsetLeft-d.offsetWidth),buttonOffset=d._buttonOffset,buttonsLeft.length>1&&(d.style.zIndex=buttonsLeft.length-a),E(d,translateX+buttonOffset*(1-Math.min(progress,1)))}}E(A,translateX),lastTranslateX=translateX}sliderRequestAnimationFrame=requestAnimationFrame(function(){D()})},E=function(a,b){a&&(a.style.webkitTransform="translate("+b+"px,0)")};b.addEventListener(a.EVENT_START,function(b){e&&C(!1),e=f=!1,z=isOpened=openedActions=!1;for(var g=b.target,h=!1;g&&g!==c;g=g.parentNode)if(g.classList){var p=g.classList;if(("INPUT"===g.tagName&&"radio"!==g.type&&"checkbox"!==g.type||"BUTTON"===g.tagName||p.contains(n)||p.contains(o)||p.contains(m))&&(h=!0),p.contains(l))break;if(p.contains(k)){e=g;var q=e.parentNode.querySelector(w);if(!e.parentNode.classList.contains(j)&&q&&q!==e)return a.swipeoutClose(q),void(e=h=!1);if(!e.parentNode.classList.contains(i)){var r=e.querySelector("a");r&&r.parentNode===e&&(f=r)}var s=e.querySelector(t);s&&(d(e),b.stopPropagation()),h||(s?(B&&B.cancel(),B=a.later(function(){C(!0)},100)):C(!0));break}}}),b.addEventListener(a.EVENT_MOVE,function(a){C(!1)});var F={handleEvent:function(a){switch(a.type){case"drag":this.drag(a);break;case"dragend":this.dragend(a);break;case"flick":this.flick(a);break;case"swiperight":this.swiperight(a);break;case"swipeleft":this.swipeleft(a)}},drag:function(a){if(e){z||(A=sliderActionLeft=sliderActionRight=buttonsLeft=buttonsRight=sliderDirection=sliderRequestAnimationFrame=!1,A=e.querySelector(t),A&&(sliderActionLeft=e.querySelector(u),sliderActionRight=e.querySelector(v),sliderActionLeft&&(sliderActionLeftWidth=sliderActionLeft.offsetWidth,buttonsLeft=sliderActionLeft.querySelectorAll(x)),sliderActionRight&&(sliderActionRightWidth=sliderActionRight.offsetWidth,buttonsRight=sliderActionRight.querySelectorAll(x)),e.classList.remove(s),isOpened=e.classList.contains(h),isOpened&&(openedActions=e.querySelector(u+w)?"left":"right")));var b=a.detail,c=b.direction,d=b.angle;if("left"===c&&(d>150||-150>d)?(buttonsRight||buttonsLeft&&isOpened)&&(z=!0):"right"===c&&d>-30&&30>d&&(buttonsLeft||buttonsRight&&isOpened)&&(z=!0),z){a.stopPropagation(),a.detail.gesture.preventDefault();var f=a.detail.deltaX;if(isOpened&&("right"===openedActions?f-=sliderActionRightWidth:f+=sliderActionLeftWidth),f>0&&!buttonsLeft||0>f&&!buttonsRight){if(!isOpened)return;f=0}0>f?sliderDirection="toLeft":f>0?sliderDirection="toRight":sliderDirection||(sliderDirection="toLeft"),sliderRequestAnimationFrame||D(),translateX=f}}},flick:function(a){z&&a.stopPropagation()},swipeleft:function(a){z&&a.stopPropagation()},swiperight:function(a){z&&a.stopPropagation()},dragend:function(b){if(z){b.stopPropagation(), -sliderRequestAnimationFrame&&(cancelAnimationFrame(sliderRequestAnimationFrame),sliderRequestAnimationFrame=null);var c=b.detail;z=!1;var d="close",f="toLeft"===sliderDirection?sliderActionRightWidth:sliderActionLeftWidth,g=c.swipe||Math.abs(translateX)>f/2;g&&(isOpened?"left"===c.direction&&"right"===openedActions?d="open":"right"===c.direction&&"left"===openedActions&&(d="open"):d="open"),e.classList.add(s);var i;if("open"===d){var j="toLeft"===sliderDirection?-f:f;if(E(A,j),i="toLeft"===sliderDirection?buttonsRight:buttonsLeft,"undefined"!=typeof i){for(var k=null,l=0;l0&&buttonsLeft!==i)for(var l=0,n=buttonsLeft.length;n>l;l++){var o=buttonsLeft[l];m=o._buttonOffset,"undefined"==typeof m&&(o._buttonOffset=sliderActionLeftWidth-o.offsetLeft-o.offsetWidth),E(o,m)}if(buttonsRight&&buttonsRight.length>0&&buttonsRight!==i)for(var l=0,n=buttonsRight.length;n>l;l++){var p=buttonsRight[l];m=p._buttonOffset,"undefined"==typeof m&&(p._buttonOffset=p.offsetLeft),E(p,-m)}}}};a.swipeoutOpen=function(b,c){if(b){var d=b.classList;if(!d.contains(h)){c||(c=b.querySelector(v)?"right":"left");var e=b.querySelector(a.classSelector(".slider-"+c));if(e){e.classList.add(h),d.add(h),d.remove(s);for(var f,g=e.querySelectorAll(x),i=e.offsetWidth,j="right"===c?-i:i,k=g.length,l=0;k>l;l++)f=g[l],"right"===c?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft);d.add(s);for(var l=0;k>l;l++)E(g[l],j);E(b.querySelector(t),j)}}}},a.swipeoutClose=function(b){if(b){var c=b.classList;if(c.contains(h)){var d=b.querySelector(v+w)?"right":"left",e=b.querySelector(a.classSelector(".slider-"+d));if(e){e.classList.remove(h),c.remove(h),c.add(s);var f,g=e.querySelectorAll(x),i=e.offsetWidth,j=g.length;E(b.querySelector(t),0);for(var k=0;j>k;k++)f=g[k],"right"===d?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft)}}}},b.addEventListener(a.EVENT_END,function(a){e&&(C(!1),A&&d(e,!0))}),b.addEventListener(a.EVENT_CANCEL,function(a){e&&(C(!1),A&&d(e,!0))});var G=function(b){var c=b.target&&b.target.type||"";if("radio"!==c&&"checkbox"!==c){var d=e.classList;if(d.contains("mui-radio")){var f=e.querySelector("input[type=radio]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}else if(d.contains("mui-checkbox")){var f=e.querySelector("input[type=checkbox]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}}};b.addEventListener(a.EVENT_CLICK,function(a){e&&e.classList.contains("mui-collapse")&&a.preventDefault()}),b.addEventListener("doubletap",function(a){e&&G(a)});var H=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;b.addEventListener("tap",function(b){if(e){var c=!1,d=e.classList,f=e.parentNode;if(f&&f.classList.contains(j)){if(d.contains(h))return;var i=f.querySelector("li"+w);return i&&i.classList.remove(h),d.add(h),void a.trigger(e,"selected",{el:e})}if(d.contains("mui-collapse")&&!e.parentNode.classList.contains("mui-unfold")){if(H.test(b.target.tagName)||b.detail.gesture.preventDefault(),!d.contains(g)){var k=e.parentNode.querySelector(".mui-collapse.mui-active");k&&k.classList.remove(g),c=!0}d.toggle(g),c&&a.trigger(e,"expand")}else G(b)}})}(mui,window,document),function(a,b){a.alert=function(c,d,e,f){if(a.os.plus){if("undefined"==typeof c)return;"function"==typeof d?(f=d,d=null,e="确定"):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.alert(c,f,d,e)})}else b.alert(c)}}(mui,window),function(a,b){a.confirm=function(c,d,e,f){if(a.os.plus){if("undefined"==typeof c)return;"function"==typeof d?(f=d,d=null,e=null):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.confirm(c,f,d,e)})}else f(b.confirm(c)?{index:0}:{index:1})}}(mui,window),function(a,b){a.prompt=function(c,d,e,f,g){if(a.os.plus){if("undefined"==typeof message)return;"function"==typeof d?(g=d,d=null,e=null,f=null):"function"==typeof e?(g=e,e=null,f=null):"function"==typeof f&&(g=f,f=null),a.plusReady(function(){plus.nativeUI.prompt(c,g,e,d,f)})}else{var h=b.prompt(c);g(h?{index:0,value:h}:{index:1,value:""})}}}(mui,window),function(a,b){var c="mui-active";a.toast=function(b){if(a.os.plus)a.plusReady(function(){plus.nativeUI.toast(b,{verticalAlign:"bottom"})});else{var d=document.createElement("div");d.classList.add("mui-toast-container"),d.innerHTML='
'+b+"
",d.addEventListener("webkitTransitionEnd",function(){d.classList.contains(c)||d.parentNode.removeChild(d)}),document.body.appendChild(d),d.offsetHeight,d.classList.add(c),setTimeout(function(){d.classList.remove(c)},2e3)}}}(mui,window),function(a,b,c){var d="mui-popup",e="mui-popup-backdrop",f="mui-popup-in",g="mui-popup-out",h="mui-popup-inner",i="mui-popup-title",j="mui-popup-text",k="mui-popup-input",l="mui-popup-buttons",m="mui-popup-button",n="mui-popup-button-bold",e="mui-popup-backdrop",o="mui-active",p=[],q=function(){var a=c.createElement("div");return a.classList.add(e),a.addEventListener("webkitTransitionEnd",function(){this.classList.contains(o)||a.parentNode&&a.parentNode.removeChild(a)}),a}(),r=function(a){return'
'},s=function(a,b,c){return'
'+b+'
'+a+"
"+(c||"")+"
"},t=function(a){for(var b=a.length,c=[],d=0;b>d;d++)c.push(''+a[d]+"");return'
'+c.join("")+"
"},u=function(b,e){var h=c.createElement("div");h.className=d,h.innerHTML=b;var i=function(){h.parentNode&&h.parentNode.removeChild(h),h=null};h.addEventListener("webkitTransitionEnd",function(a){h&&a.target===h&&h.classList.contains(g)&&i()}),h.style.display="block",c.body.appendChild(h),h.offsetHeight,h.classList.add(f),q.classList.contains(o)||(q.style.display="block",c.body.appendChild(q),q.offsetHeight,q.classList.add(o));var j=a.qsa("."+m,h),l=h.querySelector("."+k+" input"),n={element:h,close:function(a,b){h&&(e&&e({index:a||0,value:l&&l.value||""}),b!==!1?(h.classList.remove(f),h.classList.add(g)):i(),p.pop(),p.length?p[p.length-1].show(b):q.classList.remove(o))}},r=function(a){n.close(j.indexOf(a.target))};return a(h).on("tap","."+m,r),p.length&&p[p.length-1].hide(),p.push({close:n.close,show:function(a){h.style.display="block",h.offsetHeight,h.classList.add(f)},hide:function(){h.style.display="none",h.classList.remove(f)}}),n},v=function(b,c,d,e,f){return"undefined"!=typeof b?("function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.alert(b,e,c||"提示",d||"确定"):u(s(b,c||"提示")+t([d||"确定"]),e)):void 0},w=function(b,c,d,e,f){return"undefined"!=typeof b?("function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.confirm(b,e,c,d||["取消","确认"]):u(s(b,c||"提示")+t(d||["取消","确认"]),e)):void 0},x=function(b,c,d,e,f,g){return"undefined"!=typeof b?("function"==typeof c?(f=c,g=d,c=null,d=null,e=null):"function"==typeof d?(f=d,g=e,d=null,e=null):"function"==typeof e&&(g=f,f=e,e=null),a.os.plus&&"div"!==g?plus.nativeUI.prompt(b,f,d||"提示",c,e||["取消","确认"]):u(s(b,d||"提示",r(c))+t(e||["取消","确认"]),f)):void 0},y=function(){return p.length?(p[p.length-1].close(),!0):!1},z=function(){for(;p.length;)p[p.length-1].close()};a.closePopup=y,a.closePopups=z,a.alert=v,a.confirm=w,a.prompt=x}(mui,window,document),function(a,b){var c="mui-progressbar",d="mui-progressbar-in",e="mui-progressbar-out",f="mui-progressbar-infinite",g=".mui-progressbar",h=function(b){if(b=a(b||"body"),0!==b.length){if(b=b[0],b.classList.contains(c))return b;var d=b.querySelectorAll(g);if(d)for(var e=0,f=d.length;f>e;e++){var h=d[e];if(h.parentNode===b)return h}}},i=function(h,i,j){if("number"==typeof h&&(j=i,i=h,h="body"),h=a(h||"body"),0!==h.length){h=h[0];var l;if(h.classList.contains(c))l=h;else{var m=h.querySelectorAll(g+":not(."+e+")");if(m)for(var n=0,o=m.length;o>n;n++){var p=m[n];if(p.parentNode===h){l=p;break}}l||(l=b.createElement("span"),l.className=c+" "+d+("undefined"!=typeof i?"":" "+f)+(j?" "+c+"-"+j:""),"undefined"!=typeof i&&(l.innerHTML=""),h.appendChild(l))}return i&&k(h,i),l}},j=function(a){var b=h(a);if(b){var c=b.classList;c.contains(d)&&!c.contains(e)&&(c.remove(d),c.add(e),b.addEventListener("webkitAnimationEnd",function(){b.parentNode&&b.parentNode.removeChild(b),b=null}))}},k=function(a,b,c){"number"==typeof a&&(c=b,b=a,a=!1);var d=h(a);if(d&&!d.classList.contains(f)){b&&(b=Math.min(Math.max(b,0),100)),d.offsetHeight;var e=d.querySelector("span");if(e){var g=e.style;g.webkitTransform="translate3d("+(-100+b)+"%,0,0)","undefined"!=typeof c?g.webkitTransitionDuration=c+"ms":g.webkitTransitionDuration=""}return d}};a.fn.progressbar=function(a){var b=[];return a=a||{},this.each(function(){var c=this,d=c.mui_plugin_progressbar;d?a&&d.setOptions(a):c.mui_plugin_progressbar=d={options:a,setOptions:function(a){this.options=a},show:function(){return i(c,this.options.progress,this.options.color)},setProgress:function(a){return k(c,a)},hide:function(){return j(c)}},b.push(d)}),1===b.length?b[0]:b}}(mui,document),function(a,b,c){var d="mui-icon",e="mui-icon-clear",f="mui-icon-speech",g="mui-icon-search",h="mui-icon-eye",i="mui-input-row",j="mui-placeholder",k="mui-tooltip",l="mui-hidden",m="mui-focusin",n="."+e,o="."+f,p="."+h,q="."+j,r="."+k,s=function(a){for(;a&&a!==c;a=a.parentNode)if(a.classList&&a.classList.contains(i))return a;return null},t=function(a,b){this.element=a,this.options=b||{actions:"clear"},~this.options.actions.indexOf("slider")?(this.sliderActionClass=k+" "+l,this.sliderActionSelector=r):(~this.options.actions.indexOf("clear")&&(this.clearActionClass=d+" "+e+" "+l,this.clearActionSelector=n),~this.options.actions.indexOf("speech")&&(this.speechActionClass=d+" "+f,this.speechActionSelector=o),~this.options.actions.indexOf("search")&&(this.searchActionClass=j,this.searchActionSelector=q),~this.options.actions.indexOf("password")&&(this.passwordActionClass=d+" "+h,this.passwordActionSelector=p)),this.init()};t.prototype.init=function(){this.initAction(),this.initElementEvent()},t.prototype.initAction=function(){var b=this,c=b.element.parentNode;c&&(b.sliderActionClass?b.sliderAction=b.createAction(c,b.sliderActionClass,b.sliderActionSelector):(b.searchActionClass&&(b.searchAction=b.createAction(c,b.searchActionClass,b.searchActionSelector),b.searchAction.addEventListener("tap",function(c){a.focus(b.element),c.stopPropagation()})),b.speechActionClass&&(b.speechAction=b.createAction(c,b.speechActionClass,b.speechActionSelector),b.speechAction.addEventListener("click",a.stopPropagation),b.speechAction.addEventListener("tap",function(a){b.speechActionClick(a)})),b.clearActionClass&&(b.clearAction=b.createAction(c,b.clearActionClass,b.clearActionSelector),b.clearAction.addEventListener("tap",function(a){b.clearActionClick(a)})),b.passwordActionClass&&(b.passwordAction=b.createAction(c,b.passwordActionClass,b.passwordActionSelector),b.passwordAction.addEventListener("tap",function(a){b.passwordActionClick(a)}))))},t.prototype.createAction=function(a,b,e){var f=a.querySelector(e);if(!f){var f=c.createElement("span");f.className=b,b===this.searchActionClass&&(f.innerHTML=''+this.element.getAttribute("placeholder")+"",this.element.setAttribute("placeholder",""),this.element.value.trim()&&a.classList.add("mui-active")),a.insertBefore(f,this.element.nextSibling)}return f},t.prototype.initElementEvent=function(){var b=this.element;if(this.sliderActionClass){var c=this.sliderAction,d=null,e=function(){c.classList.remove(l);var a=b.offsetLeft,e=b.offsetWidth-28,f=c.offsetWidth,g=Math.abs(b.max-b.min),h=e/g*Math.abs(b.value-b.min);c.style.left=14+a+h-f/2+"px",c.innerText=b.value,d&&clearTimeout(d),d=setTimeout(function(){c.classList.add(l)},1e3)};b.addEventListener("input",e),b.addEventListener("tap",e),b.addEventListener(a.EVENT_MOVE,function(a){a.stopPropagation()})}else{if(this.clearActionClass){var f=this.clearAction;if(!f)return;a.each(["keyup","change","input","focus","cut","paste"],function(a,c){!function(a){b.addEventListener(a,function(){f.classList[b.value.trim()?"remove":"add"](l)})}(c)}),b.addEventListener("blur",function(){f.classList.add(l)})}this.searchActionClass&&(b.addEventListener("focus",function(){b.parentNode.classList.add("mui-active")}),b.addEventListener("blur",function(){b.value.trim()||b.parentNode.classList.remove("mui-active")}))}},t.prototype.setPlaceholder=function(a){if(this.searchActionClass){var b=this.element.parentNode.querySelector(q);b&&(b.getElementsByTagName("span")[1].innerText=a)}else this.element.setAttribute("placeholder",a)},t.prototype.passwordActionClick=function(a){"text"===this.element.type?this.element.type="password":this.element.type="text",this.passwordAction.classList.toggle("mui-active"),a.preventDefault()},t.prototype.clearActionClick=function(b){var c=this;c.element.value="",a.focus(c.element),c.clearAction.classList.add(l),b.preventDefault()},t.prototype.speechActionClick=function(d){if(b.plus){var e=this,f=e.element.value;e.element.value="",c.body.classList.add(m),plus.speech.startRecognize({engine:"iFly"},function(b){e.element.value+=b,a.focus(e.element),plus.speech.stopRecognize(),a.trigger(e.element,"recognized",{value:e.element.value}),f!==e.element.value&&(a.trigger(e.element,"change"),a.trigger(e.element,"input"))},function(a){c.body.classList.remove(m)})}else alert("only for 5+");d.preventDefault()},a.fn.input=function(b){var c=[];return this.each(function(){var b=null,d=[],e=s(this.parentNode);if("range"===this.type&&e.classList.contains("mui-input-range"))d.push("slider");else{var f=this.classList;f.contains("mui-input-clear")&&d.push("clear"),a.os.android&&a.os.stream||!f.contains("mui-input-speech")||d.push("speech"),f.contains("mui-input-password")&&d.push("password"),"search"===this.type&&e.classList.contains("mui-search")&&d.push("search")}var g=this.getAttribute("data-input-"+d[0]);if(g)b=a.data[g];else{g=++a.uuid,b=a.data[g]=new t(this,{actions:d.join(",")});for(var h=0,i=d.length;i>h;h++)this.setAttribute("data-input-"+d[h],g)}c.push(b)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-input-row input").input()})}(mui,window,document),function(a){var b="ontouchstart"in document,c=b?"tap":"click",d="change",e="mui-numbox",f=".mui-btn-numbox-plus,.mui-numbox-btn-plus",g=".mui-btn-numbox-minus,.mui-numbox-btn-minus",h=".mui-input-numbox,.mui-numbox-input",i=a.Numbox=a.Class.extend({init:function(b,c){var d=this;if(!b)throw"构造 numbox 时缺少容器元素";d.holder=b,c=c||{},c.step=parseInt(c.step||1),d.options=c,d.input=a.qsa(h,d.holder)[0],d.plus=a.qsa(f,d.holder)[0],d.minus=a.qsa(g,d.holder)[0],d.checkValue(),d.initEvent()},initEvent:function(){var b=this;b.plus.addEventListener(c,function(c){var e=parseInt(b.input.value)+b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.minus.addEventListener(c,function(c){var e=parseInt(b.input.value)-b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.input.addEventListener(d,function(c){b.checkValue();var e=parseInt(b.input.value);a.trigger(b.holder,d,{value:e})})},getValue:function(){var a=this;return parseInt(a.input.value)},checkValue:function(){var a=this,b=a.input.value;if(null==b||""==b||isNaN(b))a.input.value=a.options.min||0,a.minus.disabled=null!=a.options.min;else{var b=parseInt(b);null!=a.options.max&&!isNaN(a.options.max)&&b>=parseInt(a.options.max)?(b=a.options.max,a.plus.disabled=!0):a.plus.disabled=!1,null!=a.options.min&&!isNaN(a.options.min)&&b<=parseInt(a.options.min)?(b=a.options.min,a.minus.disabled=!0):a.minus.disabled=!1,a.input.value=b}},setOption:function(a,b){var c=this;c.options[a]=b}});a.fn.numbox=function(a){return this.each(function(a,b){if(!b.numbox)if(d)b.numbox=new i(b,d);else{var c=b.getAttribute("data-numbox-options"),d=c?JSON.parse(c):{};d.step=b.getAttribute("data-numbox-step")||d.step,d.min=b.getAttribute("data-numbox-min")||d.min,d.max=b.getAttribute("data-numbox-max")||d.max,b.numbox=new i(b,d)}}),this[0]?this[0].numbox:null},a.ready(function(){a("."+e).numbox()})}(mui); \ No newline at end of file +sliderRequestAnimationFrame&&(cancelAnimationFrame(sliderRequestAnimationFrame),sliderRequestAnimationFrame=null);var c=b.detail;z=!1;var d="close",f="toLeft"===sliderDirection?sliderActionRightWidth:sliderActionLeftWidth,g=c.swipe||Math.abs(translateX)>f/2;g&&(isOpened?"left"===c.direction&&"right"===openedActions?d="open":"right"===c.direction&&"left"===openedActions&&(d="open"):d="open"),e.classList.add(s);var i;if("open"===d){var j="toLeft"===sliderDirection?-f:f;if(E(A,j),i="toLeft"===sliderDirection?buttonsRight:buttonsLeft,"undefined"!=typeof i){for(var k=null,l=0;l0&&buttonsLeft!==i)for(var l=0,n=buttonsLeft.length;n>l;l++){var o=buttonsLeft[l];m=o._buttonOffset,"undefined"==typeof m&&(o._buttonOffset=sliderActionLeftWidth-o.offsetLeft-o.offsetWidth),E(o,m)}if(buttonsRight&&buttonsRight.length>0&&buttonsRight!==i)for(var l=0,n=buttonsRight.length;n>l;l++){var p=buttonsRight[l];m=p._buttonOffset,"undefined"==typeof m&&(p._buttonOffset=p.offsetLeft),E(p,-m)}}}};a.swipeoutOpen=function(b,c){if(b){var d=b.classList;if(!d.contains(h)){c||(c=b.querySelector(v)?"right":"left");var e=b.querySelector(a.classSelector(".slider-"+c));if(e){e.classList.add(h),d.add(h),d.remove(s);for(var f,g=e.querySelectorAll(x),i=e.offsetWidth,j="right"===c?-i:i,k=g.length,l=0;k>l;l++)f=g[l],"right"===c?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft);d.add(s);for(var l=0;k>l;l++)E(g[l],j);E(b.querySelector(t),j)}}}},a.swipeoutClose=function(b){if(b){var c=b.classList;if(c.contains(h)){var d=b.querySelector(v+w)?"right":"left",e=b.querySelector(a.classSelector(".slider-"+d));if(e){e.classList.remove(h),c.remove(h),c.add(s);var f,g=e.querySelectorAll(x),i=e.offsetWidth,j=g.length;E(b.querySelector(t),0);for(var k=0;j>k;k++)f=g[k],"right"===d?E(f,-f.offsetLeft):E(f,i-f.offsetWidth-f.offsetLeft)}}}},b.addEventListener(a.EVENT_END,function(a){e&&(C(!1),A&&d(e,!0))}),b.addEventListener(a.EVENT_CANCEL,function(a){e&&(C(!1),A&&d(e,!0))});var G=function(b){var c=b.target&&b.target.type||"";if("radio"!==c&&"checkbox"!==c){var d=e.classList;if(d.contains("mui-radio")){var f=e.querySelector("input[type=radio]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}else if(d.contains("mui-checkbox")){var f=e.querySelector("input[type=checkbox]");f&&(f.disabled||f.readOnly||(f.checked=!f.checked,a.trigger(f,"change")))}}};b.addEventListener(a.EVENT_CLICK,function(a){e&&e.classList.contains("mui-collapse")&&a.preventDefault()}),b.addEventListener("doubletap",function(a){e&&G(a)});var H=/^(INPUT|TEXTAREA|BUTTON|SELECT)$/;b.addEventListener("tap",function(b){if(e){var c=!1,d=e.classList,f=e.parentNode;if(f&&f.classList.contains(j)){if(d.contains(h))return;var i=f.querySelector("li"+w);return i&&i.classList.remove(h),d.add(h),void a.trigger(e,"selected",{el:e})}if(d.contains("mui-collapse")&&!e.parentNode.classList.contains("mui-unfold")){if(H.test(b.target.tagName)||b.detail.gesture.preventDefault(),!d.contains(g)){var k=e.parentNode.querySelector(".mui-collapse.mui-active");k&&k.classList.remove(g),c=!0}d.toggle(g),c&&a.trigger(e,"expand")}else G(b)}})}(mui,window,document),function(a,b){a.alert=function(c,d,e,f){if(a.os.plus){if("undefined"==typeof c)return;"function"==typeof d?(f=d,d=null,e="确定"):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.alert(c,f,d,e)})}else b.alert(c)}}(mui,window),function(a,b){a.confirm=function(c,d,e,f){if(a.os.plus){if("undefined"==typeof c)return;"function"==typeof d?(f=d,d=null,e=null):"function"==typeof e&&(f=e,e=null),a.plusReady(function(){plus.nativeUI.confirm(c,f,d,e)})}else f(b.confirm(c)?{index:0}:{index:1})}}(mui,window),function(a,b){a.prompt=function(c,d,e,f,g){if(a.os.plus){if("undefined"==typeof message)return;"function"==typeof d?(g=d,d=null,e=null,f=null):"function"==typeof e?(g=e,e=null,f=null):"function"==typeof f&&(g=f,f=null),a.plusReady(function(){plus.nativeUI.prompt(c,g,e,d,f)})}else{var h=b.prompt(c);g(h?{index:0,value:h}:{index:1,value:""})}}}(mui,window),function(a,b){var c="mui-active";a.toast=function(b){if(a.os.plus)a.plusReady(function(){plus.nativeUI.toast(b,{verticalAlign:"bottom"})});else{var d=document.createElement("div");d.classList.add("mui-toast-container"),d.innerHTML='
'+b+"
",d.addEventListener("webkitTransitionEnd",function(){d.classList.contains(c)||d.parentNode.removeChild(d)}),document.body.appendChild(d),d.offsetHeight,d.classList.add(c),setTimeout(function(){d.classList.remove(c)},2e3)}}}(mui,window),function(a,b,c){var d="mui-popup",e="mui-popup-backdrop",f="mui-popup-in",g="mui-popup-out",h="mui-popup-inner",i="mui-popup-title",j="mui-popup-text",k="mui-popup-input",l="mui-popup-buttons",m="mui-popup-button",n="mui-popup-button-bold",e="mui-popup-backdrop",o="mui-active",p=[],q=function(){var b=c.createElement("div");return b.classList.add(e),b.addEventListener(a.EVENT_MOVE,a.preventDefault),b.addEventListener("webkitTransitionEnd",function(){this.classList.contains(o)||b.parentNode&&b.parentNode.removeChild(b)}),b}(),r=function(a){return'
'},s=function(a,b,c){return'
'+b+'
'+a+"
"+(c||"")+"
"},t=function(a){for(var b=a.length,c=[],d=0;b>d;d++)c.push(''+a[d]+"");return'
'+c.join("")+"
"},u=function(b,e){var h=c.createElement("div");h.className=d,h.innerHTML=b;var i=function(){h.parentNode&&h.parentNode.removeChild(h),h=null};h.addEventListener(a.EVENT_MOVE,a.preventDefault),h.addEventListener("webkitTransitionEnd",function(a){h&&a.target===h&&h.classList.contains(g)&&i()}),h.style.display="block",c.body.appendChild(h),h.offsetHeight,h.classList.add(f),q.classList.contains(o)||(q.style.display="block",c.body.appendChild(q),q.offsetHeight,q.classList.add(o));var j=a.qsa("."+m,h),l=h.querySelector("."+k+" input"),n={element:h,close:function(a,b){h&&(e&&e({index:a||0,value:l&&l.value||""}),b!==!1?(h.classList.remove(f),h.classList.add(g)):i(),p.pop(),p.length?p[p.length-1].show(b):q.classList.remove(o))}},r=function(a){n.close(j.indexOf(a.target))};return a(h).on("tap","."+m,r),p.length&&p[p.length-1].hide(),p.push({close:n.close,show:function(a){h.style.display="block",h.offsetHeight,h.classList.add(f)},hide:function(){h.style.display="none",h.classList.remove(f)}}),n},v=function(b,c,d,e,f){return"undefined"!=typeof b?("function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.alert(b,e,c||"提示",d||"确定"):u(s(b,c||"提示")+t([d||"确定"]),e)):void 0},w=function(b,c,d,e,f){return"undefined"!=typeof b?("function"==typeof c?(e=c,f=d,c=null,d=null):"function"==typeof d&&(f=e,e=d,d=null),a.os.plus&&"div"!==f?plus.nativeUI.confirm(b,e,c,d||["取消","确认"]):u(s(b,c||"提示")+t(d||["取消","确认"]),e)):void 0},x=function(b,c,d,e,f,g){return"undefined"!=typeof b?("function"==typeof c?(f=c,g=d,c=null,d=null,e=null):"function"==typeof d?(f=d,g=e,d=null,e=null):"function"==typeof e&&(g=f,f=e,e=null),a.os.plus&&"div"!==g?plus.nativeUI.prompt(b,f,d||"提示",c,e||["取消","确认"]):u(s(b,d||"提示",r(c))+t(e||["取消","确认"]),f)):void 0},y=function(){return p.length?(p[p.length-1].close(),!0):!1},z=function(){for(;p.length;)p[p.length-1].close()};a.closePopup=y,a.closePopups=z,a.alert=v,a.confirm=w,a.prompt=x}(mui,window,document),function(a,b){var c="mui-progressbar",d="mui-progressbar-in",e="mui-progressbar-out",f="mui-progressbar-infinite",g=".mui-progressbar",h=function(b){if(b=a(b||"body"),0!==b.length){if(b=b[0],b.classList.contains(c))return b;var d=b.querySelectorAll(g);if(d)for(var e=0,f=d.length;f>e;e++){var h=d[e];if(h.parentNode===b)return h}}},i=function(h,i,j){if("number"==typeof h&&(j=i,i=h,h="body"),h=a(h||"body"),0!==h.length){h=h[0];var l;if(h.classList.contains(c))l=h;else{var m=h.querySelectorAll(g+":not(."+e+")");if(m)for(var n=0,o=m.length;o>n;n++){var p=m[n];if(p.parentNode===h){l=p;break}}l?l.classList.add(d):(l=b.createElement("span"),l.className=c+" "+d+("undefined"!=typeof i?"":" "+f)+(j?" "+c+"-"+j:""),"undefined"!=typeof i&&(l.innerHTML=""),h.appendChild(l))}return i&&k(h,i),l}},j=function(a){var b=h(a);if(b){var c=b.classList;c.contains(d)&&!c.contains(e)&&(c.remove(d),c.add(e),b.addEventListener("webkitAnimationEnd",function(){b.parentNode&&b.parentNode.removeChild(b),b=null}))}},k=function(a,b,c){"number"==typeof a&&(c=b,b=a,a=!1);var d=h(a);if(d&&!d.classList.contains(f)){b&&(b=Math.min(Math.max(b,0),100)),d.offsetHeight;var e=d.querySelector("span");if(e){var g=e.style;g.webkitTransform="translate3d("+(-100+b)+"%,0,0)","undefined"!=typeof c?g.webkitTransitionDuration=c+"ms":g.webkitTransitionDuration=""}return d}};a.fn.progressbar=function(a){var b=[];return a=a||{},this.each(function(){var c=this,d=c.mui_plugin_progressbar;d?a&&d.setOptions(a):c.mui_plugin_progressbar=d={options:a,setOptions:function(a){this.options=a},show:function(){return i(c,this.options.progress,this.options.color)},setProgress:function(a){return k(c,a)},hide:function(){return j(c)}},b.push(d)}),1===b.length?b[0]:b}}(mui,document),function(a,b,c){var d="mui-icon",e="mui-icon-clear",f="mui-icon-speech",g="mui-icon-search",h="mui-icon-eye",i="mui-input-row",j="mui-placeholder",k="mui-tooltip",l="mui-hidden",m="mui-focusin",n="."+e,o="."+f,p="."+h,q="."+j,r="."+k,s=function(a){for(;a&&a!==c;a=a.parentNode)if(a.classList&&a.classList.contains(i))return a;return null},t=function(a,b){this.element=a,this.options=b||{actions:"clear"},~this.options.actions.indexOf("slider")?(this.sliderActionClass=k+" "+l,this.sliderActionSelector=r):(~this.options.actions.indexOf("clear")&&(this.clearActionClass=d+" "+e+" "+l,this.clearActionSelector=n),~this.options.actions.indexOf("speech")&&(this.speechActionClass=d+" "+f,this.speechActionSelector=o),~this.options.actions.indexOf("search")&&(this.searchActionClass=j,this.searchActionSelector=q),~this.options.actions.indexOf("password")&&(this.passwordActionClass=d+" "+h,this.passwordActionSelector=p)),this.init()};t.prototype.init=function(){this.initAction(),this.initElementEvent()},t.prototype.initAction=function(){var b=this,c=b.element.parentNode;c&&(b.sliderActionClass?b.sliderAction=b.createAction(c,b.sliderActionClass,b.sliderActionSelector):(b.searchActionClass&&(b.searchAction=b.createAction(c,b.searchActionClass,b.searchActionSelector),b.searchAction.addEventListener("tap",function(c){a.focus(b.element),c.stopPropagation()})),b.speechActionClass&&(b.speechAction=b.createAction(c,b.speechActionClass,b.speechActionSelector),b.speechAction.addEventListener("click",a.stopPropagation),b.speechAction.addEventListener("tap",function(a){b.speechActionClick(a)})),b.clearActionClass&&(b.clearAction=b.createAction(c,b.clearActionClass,b.clearActionSelector),b.clearAction.addEventListener("tap",function(a){b.clearActionClick(a)})),b.passwordActionClass&&(b.passwordAction=b.createAction(c,b.passwordActionClass,b.passwordActionSelector),b.passwordAction.addEventListener("tap",function(a){b.passwordActionClick(a)}))))},t.prototype.createAction=function(a,b,e){var f=a.querySelector(e);if(!f){var f=c.createElement("span");f.className=b,b===this.searchActionClass&&(f.innerHTML=''+this.element.getAttribute("placeholder")+"",this.element.setAttribute("placeholder",""),this.element.value.trim()&&a.classList.add("mui-active")),a.insertBefore(f,this.element.nextSibling)}return f},t.prototype.initElementEvent=function(){var b=this.element;if(this.sliderActionClass){var c=this.sliderAction,d=null,e=function(){c.classList.remove(l);var a=b.offsetLeft,e=b.offsetWidth-28,f=c.offsetWidth,g=Math.abs(b.max-b.min),h=e/g*Math.abs(b.value-b.min);c.style.left=14+a+h-f/2+"px",c.innerText=b.value,d&&clearTimeout(d),d=setTimeout(function(){c.classList.add(l)},1e3)};b.addEventListener("input",e),b.addEventListener("tap",e),b.addEventListener(a.EVENT_MOVE,function(a){a.stopPropagation()})}else{if(this.clearActionClass){var f=this.clearAction;if(!f)return;a.each(["keyup","change","input","focus","cut","paste"],function(a,c){!function(a){b.addEventListener(a,function(){f.classList[b.value.trim()?"remove":"add"](l)})}(c)}),b.addEventListener("blur",function(){f.classList.add(l)})}this.searchActionClass&&(b.addEventListener("focus",function(){b.parentNode.classList.add("mui-active")}),b.addEventListener("blur",function(){b.value.trim()||b.parentNode.classList.remove("mui-active")}))}},t.prototype.setPlaceholder=function(a){if(this.searchActionClass){var b=this.element.parentNode.querySelector(q);b&&(b.getElementsByTagName("span")[1].innerText=a)}else this.element.setAttribute("placeholder",a)},t.prototype.passwordActionClick=function(a){"text"===this.element.type?this.element.type="password":this.element.type="text",this.passwordAction.classList.toggle("mui-active"),a.preventDefault()},t.prototype.clearActionClick=function(b){var c=this;c.element.value="",a.focus(c.element),c.clearAction.classList.add(l),b.preventDefault()},t.prototype.speechActionClick=function(d){if(b.plus){var e=this,f=e.element.value;e.element.value="",c.body.classList.add(m),plus.speech.startRecognize({engine:"iFly"},function(b){e.element.value+=b,a.focus(e.element),plus.speech.stopRecognize(),a.trigger(e.element,"recognized",{value:e.element.value}),f!==e.element.value&&(a.trigger(e.element,"change"),a.trigger(e.element,"input"))},function(a){c.body.classList.remove(m)})}else alert("only for 5+");d.preventDefault()},a.fn.input=function(b){var c=[];return this.each(function(){var b=null,d=[],e=s(this.parentNode);if("range"===this.type&&e.classList.contains("mui-input-range"))d.push("slider");else{var f=this.classList;f.contains("mui-input-clear")&&d.push("clear"),a.os.android&&a.os.stream||!f.contains("mui-input-speech")||d.push("speech"),f.contains("mui-input-password")&&d.push("password"),"search"===this.type&&e.classList.contains("mui-search")&&d.push("search")}var g=this.getAttribute("data-input-"+d[0]);if(g)b=a.data[g];else{g=++a.uuid,b=a.data[g]=new t(this,{actions:d.join(",")});for(var h=0,i=d.length;i>h;h++)this.setAttribute("data-input-"+d[h],g)}c.push(b)}),1===c.length?c[0]:c},a.ready(function(){a(".mui-input-row input").input()})}(mui,window,document),function(a){var b="ontouchstart"in document,c=b?"tap":"click",d="change",e="mui-numbox",f=".mui-btn-numbox-plus,.mui-numbox-btn-plus",g=".mui-btn-numbox-minus,.mui-numbox-btn-minus",h=".mui-input-numbox,.mui-numbox-input",i=a.Numbox=a.Class.extend({init:function(b,c){var d=this;if(!b)throw"构造 numbox 时缺少容器元素";d.holder=b,c=c||{},c.step=parseInt(c.step||1),d.options=c,d.input=a.qsa(h,d.holder)[0],d.plus=a.qsa(f,d.holder)[0],d.minus=a.qsa(g,d.holder)[0],d.checkValue(),d.initEvent()},initEvent:function(){var b=this;b.plus.addEventListener(c,function(c){var e=parseInt(b.input.value)+b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.minus.addEventListener(c,function(c){var e=parseInt(b.input.value)-b.options.step;b.input.value=e.toString(),a.trigger(b.input,d,null)}),b.input.addEventListener(d,function(c){b.checkValue();var e=parseInt(b.input.value);a.trigger(b.holder,d,{value:e})})},getValue:function(){var a=this;return parseInt(a.input.value)},checkValue:function(){var a=this,b=a.input.value;if(null==b||""==b||isNaN(b))a.input.value=a.options.min||0,a.minus.disabled=null!=a.options.min;else{var b=parseInt(b);null!=a.options.max&&!isNaN(a.options.max)&&b>=parseInt(a.options.max)?(b=a.options.max,a.plus.disabled=!0):a.plus.disabled=!1,null!=a.options.min&&!isNaN(a.options.min)&&b<=parseInt(a.options.min)?(b=a.options.min,a.minus.disabled=!0):a.minus.disabled=!1,a.input.value=b}},setOption:function(a,b){var c=this;c.options[a]=b}});a.fn.numbox=function(a){return this.each(function(a,b){if(!b.numbox)if(d)b.numbox=new i(b,d);else{var c=b.getAttribute("data-numbox-options"),d=c?JSON.parse(c):{};d.step=b.getAttribute("data-numbox-step")||d.step,d.min=b.getAttribute("data-numbox-min")||d.min,d.max=b.getAttribute("data-numbox-max")||d.max,b.numbox=new i(b,d)}}),this[0]?this[0].numbox:null},a.ready(function(){a("."+e).numbox()})}(mui); \ No newline at end of file diff --git a/examples/hello-mui/css/mui.min.css b/examples/hello-mui/css/mui.min.css index 3f8eeec6..f4ec2644 100644 --- a/examples/hello-mui/css/mui.min.css +++ b/examples/hello-mui/css/mui.min.css @@ -1,5 +1,5 @@ /*! * ===================================================== - * Mui v2.9.0 (http://dev.dcloud.net.cn/mui) + * Mui v3.0.0 (http://dev.dcloud.net.cn/mui) * ===================================================== - *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{overflow:hidden;margin:0 15px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:absolute;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-size:14px;margin-top:5px}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:0;margin-top:15px;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:0;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{position:fixed;z-index:9999;bottom:50px;width:100%;-webkit-transition:opacity .8s;transition:opacity .8s;opacity:0}.mui-toast-container.mui-active{opacity:1}.mui-toast-message{font-size:14px;width:270px;margin:5px auto;padding:5px;text-align:center;color:#000;border-radius:7px;background-color:#d8d8d8}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0} \ No newline at end of file + *//*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:0 0}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{font:inherit;margin:0;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}*{-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-user-select:none;outline:0;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}body{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;line-height:21px;color:#000;background-color:#efeff4;-webkit-overflow-scrolling:touch}a{text-decoration:none;color:#007aff}a:active{color:#0062cc}.mui-content{background-color:#efeff4;-webkit-overflow-scrolling:touch}.mui-bar-nav~.mui-content{padding-top:44px}.mui-bar-nav~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:44px}.mui-bar-header-secondary~.mui-content{padding-top:88px}.mui-bar-header-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{top:88px}.mui-bar-footer~.mui-content{padding-bottom:44px}.mui-bar-footer~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:44px}.mui-bar-footer-secondary~.mui-content{padding-bottom:88px}.mui-bar-footer-secondary~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:88px}.mui-bar-tab~.mui-content{padding-bottom:50px}.mui-bar-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:50px}.mui-bar-footer-secondary-tab~.mui-content{padding-bottom:94px}.mui-bar-footer-secondary-tab~.mui-content.mui-scroll-wrapper .mui-scrollbar-vertical{bottom:94px}.mui-content-padded{margin:10px}.mui-inline{display:inline-block;vertical-align:top}.mui-block{display:block!important}.mui-visibility{visibility:visible!important}.mui-hidden{display:none!important}.mui-ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mui-ellipsis-2{display:-webkit-box;overflow:hidden;white-space:normal!important;text-overflow:ellipsis;word-wrap:break-word;-webkit-line-clamp:2;-webkit-box-orient:vertical}.mui-table{display:table;width:100%;table-layout:fixed}.mui-table-cell{position:relative;display:table-cell}.mui-text-left{text-align:left!important}.mui-text-center{text-align:center!important}.mui-text-justify{text-align:justify!important}.mui-text-right{text-align:right!important}.mui-pull-left{float:left}.mui-pull-right{float:right}.mui-list-unstyled{padding-left:0;list-style:none}.mui-list-inline{margin-left:-5px;padding-left:0;list-style:none}.mui-list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}.mui-clearfix:after,.mui-clearfix:before{display:table;content:' '}.mui-clearfix:after{clear:both}.mui-bg-primary{background-color:#007aff}.mui-bg-positive{background-color:#4cd964}.mui-bg-negative{background-color:#dd524d}.mui-error{margin:88px 35px;padding:10px;border-radius:6px;background-color:#bbb}.mui-subtitle{font-size:15px}h1,h2,h3,h4,h5,h6{line-height:1;margin-top:5px;margin-bottom:5px}.mui-h1,h1{font-size:36px}.mui-h2,h2{font-size:30px}.mui-h3,h3{font-size:24px}.mui-h4,h4{font-size:18px}.mui-h5,h5{font-size:14px;font-weight:400;color:#8f8f94}.mui-h6,h6{font-size:12px;font-weight:400;color:#8f8f94}p{font-size:14px;margin-top:0;margin-bottom:10px;color:#8f8f94}.mui-row:after,.mui-row:before{display:table;content:' '}.mui-row:after{clear:both}.mui-col-sm-1,.mui-col-sm-10,.mui-col-sm-11,.mui-col-sm-12,.mui-col-sm-2,.mui-col-sm-3,.mui-col-sm-4,.mui-col-sm-5,.mui-col-sm-6,.mui-col-sm-7,.mui-col-sm-8,.mui-col-sm-9,.mui-col-xs-1,.mui-col-xs-10,.mui-col-xs-11,.mui-col-xs-12,.mui-col-xs-2,.mui-col-xs-3,.mui-col-xs-4,.mui-col-xs-5,.mui-col-xs-6,.mui-col-xs-7,.mui-col-xs-8,.mui-col-xs-9{position:relative;min-height:1px}.mui-row>[class*=mui-col-]{float:left}.mui-col-xs-12{width:100%}.mui-col-xs-11{width:91.66666667%}.mui-col-xs-10{width:83.33333333%}.mui-col-xs-9{width:75%}.mui-col-xs-8{width:66.66666667%}.mui-col-xs-7{width:58.33333333%}.mui-col-xs-6{width:50%}.mui-col-xs-5{width:41.66666667%}.mui-col-xs-4{width:33.33333333%}.mui-col-xs-3{width:25%}.mui-col-xs-2{width:16.66666667%}.mui-col-xs-1{width:8.33333333%}@media (min-width:400px){.mui-col-sm-12{width:100%}.mui-col-sm-11{width:91.66666667%}.mui-col-sm-10{width:83.33333333%}.mui-col-sm-9{width:75%}.mui-col-sm-8{width:66.66666667%}.mui-col-sm-7{width:58.33333333%}.mui-col-sm-6{width:50%}.mui-col-sm-5{width:41.66666667%}.mui-col-sm-4{width:33.33333333%}.mui-col-sm-3{width:25%}.mui-col-sm-2{width:16.66666667%}.mui-col-sm-1{width:8.33333333%}}.mui-scroll-wrapper{position:absolute;z-index:2;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-scroll{position:absolute;z-index:1;width:100%;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-scrollbar{position:absolute;z-index:9998;overflow:hidden;-webkit-transition:500ms;transition:500ms;transform:translateZ(0px);pointer-events:none;opacity:0}.mui-scrollbar-vertical{top:0;right:1px;bottom:2px;width:4px}.mui-scrollbar-vertical .mui-scrollbar-indicator{width:100%}.mui-scrollbar-horizontal{right:2px;bottom:0;left:2px;height:4px}.mui-scrollbar-horizontal .mui-scrollbar-indicator{height:100%}.mui-scrollbar-indicator{position:absolute;display:block;box-sizing:border-box;-webkit-transition:.01s cubic-bezier(.1,.57,.1,1);transition:.01s cubic-bezier(.1,.57,.1,1);transform:translate(0px,0) translateZ(0px);border:1px solid rgba(255,255,255,.80196);border-radius:2px;background:rgba(0,0,0,.39804)}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll-wrapper{position:absolute;top:0;bottom:0;left:0;overflow:hidden;width:100%}.mui-plus-pullrefresh .mui-fullscreen .mui-scroll-wrapper .mui-scroll,.mui-plus-pullrefresh .mui-fullscreen .mui-slider-group .mui-scroll{position:absolute;width:100%}.mui-plus-pullrefresh .mui-scroll-wrapper,.mui-plus-pullrefresh .mui-slider-group{position:static;top:auto;bottom:auto;left:auto;overflow:auto;width:auto}.mui-plus-pullrefresh .mui-slider-group{overflow:visible}.mui-plus-pullrefresh .mui-scroll{position:static;width:auto}.mui-off-canvas-wrap .mui-bar{position:absolute!important;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-box-shadow:none;box-shadow:none}.mui-off-canvas-wrap{position:relative;z-index:1;overflow:hidden;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap{position:relative;z-index:1;width:100%;height:100%}.mui-off-canvas-wrap .mui-inner-wrap.mui-transitioning{-webkit-transition:-webkit-transform 350ms;transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-off-canvas-wrap .mui-inner-wrap .mui-off-canvas-right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-active{overflow:hidden;height:100%}.mui-off-canvas-wrap.mui-active .mui-off-canvas-backdrop{position:absolute;z-index:998;top:0;right:0;bottom:0;left:0;display:block;transition:background 350ms cubic-bezier(.165,.84,.44,1);background:rgba(0,0,0,.4);box-shadow:-4px 0 4px rgba(0,0,0,.5),4px 0 4px rgba(0,0,0,.5);-webkit-tap-highlight-color:transparent}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-right{z-index:10000!important;-webkit-transform:translate3d(100%,0,0)}.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left{z-index:10000!important;-webkit-transform:translate3d(-100%,0,0)}.mui-off-canvas-left,.mui-off-canvas-right{position:absolute;z-index:-1;top:0;bottom:0;visibility:hidden;box-sizing:content-box;width:70%;min-height:100%;background:#333;-webkit-overflow-scrolling:touch}.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-left{left:0}.mui-off-canvas-right{right:0}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable{background-color:#333}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{width:80%;-webkit-transform:scale(.8);transform:scale(.8);opacity:.1}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left.mui-transitioning,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right.mui-transitioning{-webkit-transition:-webkit-transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1);transition:transform 350ms cubic-bezier(.165,.84,.44,1),opacity 350ms cubic-bezier(.165,.84,.44,1)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-left{-webkit-transform-origin:-100%;transform-origin:-100%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable>.mui-off-canvas-right{-webkit-transform-origin:200%;transform-origin:200%}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-inner-wrap{-webkit-transform:scale(.8);transform:scale(.8)}.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-left,.mui-off-canvas-wrap:not(.mui-slide-in).mui-scalable.mui-active>.mui-off-canvas-right{-webkit-transform:scale(1);transform:scale(1);opacity:1}.mui-loading .mui-spinner{display:block;margin:0 auto}.mui-spinner{display:inline-block;width:24px;height:24px;-webkit-transform-origin:50%;transform-origin:50%;-webkit-animation:spinner-spin 1s step-end infinite;animation:spinner-spin 1s step-end infinite}.mui-spinner:after{display:block;width:100%;height:100%;content:'';background-image:url('data:image/svg+xml;charset=utf-8,');background-repeat:no-repeat;background-position:50%;background-size:100%}.mui-spinner-white:after{background-image:url('data:image/svg+xml;charset=utf-8,')}@-webkit-keyframes spinner-spin{0%{-webkit-transform:rotate(0deg)}8.33333333%{-webkit-transform:rotate(30deg)}16.66666667%{-webkit-transform:rotate(60deg)}25%{-webkit-transform:rotate(90deg)}33.33333333%{-webkit-transform:rotate(120deg)}41.66666667%{-webkit-transform:rotate(150deg)}50%{-webkit-transform:rotate(180deg)}58.33333333%{-webkit-transform:rotate(210deg)}66.66666667%{-webkit-transform:rotate(240deg)}75%{-webkit-transform:rotate(270deg)}83.33333333%{-webkit-transform:rotate(300deg)}91.66666667%{-webkit-transform:rotate(330deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes spinner-spin{0%{transform:rotate(0deg)}8.33333333%{transform:rotate(30deg)}16.66666667%{transform:rotate(60deg)}25%{transform:rotate(90deg)}33.33333333%{transform:rotate(120deg)}41.66666667%{transform:rotate(150deg)}50%{transform:rotate(180deg)}58.33333333%{transform:rotate(210deg)}66.66666667%{transform:rotate(240deg)}75%{transform:rotate(270deg)}83.33333333%{transform:rotate(300deg)}91.66666667%{transform:rotate(330deg)}100%{transform:rotate(360deg)}}.mui-btn,button,input[type=button],input[type=reset],input[type=submit]{font-size:14px;font-weight:400;line-height:1.42;position:relative;display:inline-block;margin-bottom:0;padding:6px 12px;cursor:pointer;-webkit-transition:all;transition:all;-webkit-transition-timing-function:linear;transition-timing-function:linear;-webkit-transition-duration:.2s;transition-duration:.2s;text-align:center;vertical-align:top;white-space:nowrap;color:#333;border:1px solid #ccc;border-radius:3px;border-top-left-radius:3px;border-top-right-radius:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;background-color:#fff;background-clip:padding-box}.mui-btn.mui-active:enabled,.mui-btn:enabled:active,button.mui-active:enabled,button:enabled:active,input[type=button].mui-active:enabled,input[type=button]:enabled:active,input[type=reset].mui-active:enabled,input[type=reset]:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;background-color:#929292}.mui-btn.mui-disabled,.mui-btn:disabled,button.mui-disabled,button:disabled,input[type=button].mui-disabled,input[type=button]:disabled,input[type=reset].mui-disabled,input[type=reset]:disabled,input[type=submit].mui-disabled,input[type=submit]:disabled{opacity:.6}.mui-btn-blue,.mui-btn-primary,input[type=submit]{color:#fff;border:1px solid #007aff;background-color:#007aff}.mui-btn-blue.mui-active:enabled,.mui-btn-blue:enabled:active,.mui-btn-primary.mui-active:enabled,.mui-btn-primary:enabled:active,input[type=submit].mui-active:enabled,input[type=submit]:enabled:active{color:#fff;border:1px solid #0062cc;background-color:#0062cc}.mui-btn-green,.mui-btn-positive,.mui-btn-success{color:#fff;border:1px solid #4cd964;background-color:#4cd964}.mui-btn-green.mui-active:enabled,.mui-btn-green:enabled:active,.mui-btn-positive.mui-active:enabled,.mui-btn-positive:enabled:active,.mui-btn-success.mui-active:enabled,.mui-btn-success:enabled:active{color:#fff;border:1px solid #2ac845;background-color:#2ac845}.mui-btn-warning,.mui-btn-yellow{color:#fff;border:1px solid #f0ad4e;background-color:#f0ad4e}.mui-btn-warning.mui-active:enabled,.mui-btn-warning:enabled:active,.mui-btn-yellow.mui-active:enabled,.mui-btn-yellow:enabled:active{color:#fff;border:1px solid #ec971f;background-color:#ec971f}.mui-btn-danger,.mui-btn-negative,.mui-btn-red{color:#fff;border:1px solid #dd524d;background-color:#dd524d}.mui-btn-danger.mui-active:enabled,.mui-btn-danger:enabled:active,.mui-btn-negative.mui-active:enabled,.mui-btn-negative:enabled:active,.mui-btn-red.mui-active:enabled,.mui-btn-red:enabled:active{color:#fff;border:1px solid #cf2d28;background-color:#cf2d28}.mui-btn-purple,.mui-btn-royal{color:#fff;border:1px solid #8a6de9;background-color:#8a6de9}.mui-btn-purple.mui-active:enabled,.mui-btn-purple:enabled:active,.mui-btn-royal.mui-active:enabled,.mui-btn-royal:enabled:active{color:#fff;border:1px solid #6641e2;background-color:#6641e2}.mui-btn-grey{color:#fff;border:1px solid #c7c7cc;background-color:#c7c7cc}.mui-btn-grey.mui-active:enabled,.mui-btn-grey:enabled:active{color:#fff;border:1px solid #acacb4;background-color:#acacb4}.mui-btn-outlined{background-color:transparent}.mui-btn-outlined.mui-btn-blue,.mui-btn-outlined.mui-btn-primary{color:#007aff}.mui-btn-outlined.mui-btn-green,.mui-btn-outlined.mui-btn-positive,.mui-btn-outlined.mui-btn-success{color:#4cd964}.mui-btn-outlined.mui-btn-warning,.mui-btn-outlined.mui-btn-yellow{color:#f0ad4e}.mui-btn-outlined.mui-btn-danger,.mui-btn-outlined.mui-btn-negative,.mui-btn-outlined.mui-btn-red{color:#dd524d}.mui-btn-outlined.mui-btn-purple,.mui-btn-outlined.mui-btn-royal{color:#8a6de9}.mui-btn-outlined.mui-btn-blue:enabled:active,.mui-btn-outlined.mui-btn-danger:enabled:active,.mui-btn-outlined.mui-btn-green:enabled:active,.mui-btn-outlined.mui-btn-negative:enabled:active,.mui-btn-outlined.mui-btn-positive:enabled:active,.mui-btn-outlined.mui-btn-primary:enabled:active,.mui-btn-outlined.mui-btn-purple:enabled:active,.mui-btn-outlined.mui-btn-red:enabled:active,.mui-btn-outlined.mui-btn-royal:enabled:active,.mui-btn-outlined.mui-btn-success:enabled:active,.mui-btn-outlined.mui-btn-warning:enabled:active,.mui-btn-outlined.mui-btn-yellow:enabled:active{color:#fff}.mui-btn-link{padding-top:6px;padding-bottom:6px;color:#007aff;border:0;background-color:transparent}.mui-btn-link.mui-active:enabled,.mui-btn-link:enabled:active{color:#0062cc;background-color:transparent}.mui-btn-block{font-size:18px;display:block;width:100%;margin-bottom:10px;padding:15px 0}.mui-btn .mui-badge{font-size:14px;margin:-2px -4px -2px 4px;background-color:rgba(0,0,0,.15)}.mui-btn .mui-badge-inverted,.mui-btn:enabled:active .mui-badge-inverted{background-color:transparent}.mui-btn-negative:enabled:active .mui-badge-inverted,.mui-btn-positive:enabled:active .mui-badge-inverted,.mui-btn-primary:enabled:active .mui-badge-inverted{color:#fff}.mui-btn-block .mui-badge{position:absolute;right:0;margin-right:10px}.mui-btn .mui-icon{font-size:inherit}.mui-btn.mui-icon{font-size:14px;line-height:1.42}.mui-btn.mui-fab{width:56px;height:56px;padding:16px;border-radius:50%;outline:0}.mui-btn.mui-fab.mui-btn-mini{width:40px;height:40px;padding:8px}.mui-btn.mui-fab .mui-icon{font-size:24px;line-height:24px;width:24px;height:24px}.mui-bar{position:fixed;z-index:10;right:0;left:0;height:44px;padding-right:10px;padding-left:10px;border-bottom:0;background-color:#f7f7f7;-webkit-box-shadow:0 0 1px rgba(0,0,0,.85);box-shadow:0 0 1px rgba(0,0,0,.85);-webkit-backface-visibility:hidden;backface-visibility:hidden}.mui-bar .mui-title{right:40px;left:40px;display:inline-block;overflow:hidden;width:auto;margin:0;text-overflow:ellipsis}.mui-bar .mui-backdrop{background:0 0}.mui-bar-header-secondary{top:44px}.mui-bar-footer{bottom:0}.mui-bar-footer-secondary{bottom:44px}.mui-bar-footer-secondary-tab{bottom:50px}.mui-bar-footer,.mui-bar-footer-secondary,.mui-bar-footer-secondary-tab{border-top:0}.mui-bar-nav{top:0;-webkit-box-shadow:0 1px 6px #ccc;box-shadow:0 1px 6px #ccc}.mui-bar-nav~.mui-content .mui-anchor{display:block;visibility:hidden;height:45px;margin-top:-45px}.mui-bar-nav.mui-bar .mui-icon{margin-right:-10px;margin-left:-10px;padding-right:10px;padding-left:10px}.mui-title{font-size:17px;font-weight:500;line-height:44px;position:absolute;display:block;width:100%;margin:0 -10px;padding:0;text-align:center;white-space:nowrap;color:#000}.mui-title a{color:inherit}.mui-bar-tab{bottom:0;display:table;width:100%;height:50px;padding:0;table-layout:fixed;border-top:0;border-bottom:0;-webkit-touch-callout:none}.mui-bar-tab .mui-tab-item{display:table-cell;overflow:hidden;width:1%;height:50px;text-align:center;vertical-align:middle;white-space:nowrap;text-overflow:ellipsis;color:#929292}.mui-bar-tab .mui-tab-item.mui-active{color:#007aff}.mui-bar-tab .mui-tab-item .mui-icon{top:3px;width:24px;height:24px;padding-top:0;padding-bottom:0}.mui-bar-tab .mui-tab-item .mui-icon~.mui-tab-label{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.mui-bar-tab .mui-tab-item .mui-icon:active{background:0 0}.mui-focusin>.mui-bar-header-secondary,.mui-focusin>.mui-bar-nav{position:absolute}.mui-focusin>.mui-bar~.mui-content{padding-bottom:0}.mui-bar .mui-btn{font-weight:400;position:relative;z-index:20;top:7px;margin-top:0;padding:6px 12px 7px}.mui-bar .mui-btn.mui-pull-right{margin-left:10px}.mui-bar .mui-btn.mui-pull-left{margin-right:10px}.mui-bar .mui-btn-link{font-size:16px;line-height:44px;top:0;padding:0;color:#007aff;border:0}.mui-bar .mui-btn-link.mui-active,.mui-bar .mui-btn-link:active{color:#0062cc}.mui-bar .mui-btn-block{font-size:16px;top:6px;margin-bottom:0;padding:5px 0}.mui-bar .mui-btn-nav.mui-pull-left{margin-left:-5px}.mui-bar .mui-btn-nav.mui-pull-left .mui-icon-left-nav{margin-right:-3px}.mui-bar .mui-btn-nav.mui-pull-right{margin-right:-5px}.mui-bar .mui-btn-nav.mui-pull-right .mui-icon-right-nav{margin-left:-3px}.mui-bar .mui-btn-nav:active{opacity:.3}.mui-bar .mui-icon{font-size:24px;position:relative;z-index:20;padding-top:10px;padding-bottom:10px}.mui-bar .mui-icon:active{opacity:.3}.mui-bar .mui-btn .mui-icon{top:1px;margin:0;padding:0}.mui-bar .mui-title .mui-icon{margin:0;padding:0}.mui-bar .mui-title .mui-icon.mui-icon-caret{top:4px;margin-left:-5px}.mui-bar input[type=search]{height:29px;margin:6px 0}.mui-bar .mui-input-row .mui-btn{padding:12px 10px}.mui-bar .mui-search:before{margin-top:-10px}.mui-bar .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:12px}.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-clear~.mui-icon-clear,.mui-bar.mui-bar-header-secondary .mui-input-row .mui-input-speech~.mui-icon-speech{top:0;right:0}.mui-bar .mui-segmented-control{top:7px;width:auto;margin:0 auto}.mui-bar.mui-bar-header-secondary .mui-segmented-control{top:0}.mui-badge{font-size:12px;line-height:1;display:inline-block;padding:3px 6px;color:#333;border-radius:100px;background-color:rgba(0,0,0,.15)}.mui-badge.mui-badge-inverted{padding:0 5px 0 0;color:#929292;background-color:transparent}.mui-badge-blue,.mui-badge-primary{color:#fff;background-color:#007aff}.mui-badge-blue.mui-badge-inverted,.mui-badge-primary.mui-badge-inverted{color:#007aff;background-color:transparent}.mui-badge-green,.mui-badge-success{color:#fff;background-color:#4cd964}.mui-badge-green.mui-badge-inverted,.mui-badge-success.mui-badge-inverted{color:#4cd964;background-color:transparent}.mui-badge-warning,.mui-badge-yellow{color:#fff;background-color:#f0ad4e}.mui-badge-warning.mui-badge-inverted,.mui-badge-yellow.mui-badge-inverted{color:#f0ad4e;background-color:transparent}.mui-badge-danger,.mui-badge-red{color:#fff;background-color:#dd524d}.mui-badge-danger.mui-badge-inverted,.mui-badge-red.mui-badge-inverted{color:#dd524d;background-color:transparent}.mui-badge-purple,.mui-badge-royal{color:#fff;background-color:#8a6de9}.mui-badge-purple.mui-badge-inverted,.mui-badge-royal.mui-badge-inverted{color:#8a6de9;background-color:transparent}.mui-icon .mui-badge{font-size:10px;line-height:1.4;position:absolute;top:-2px;left:100%;margin-left:-10px;padding:1px 5px;color:#fff;background:red}.mui-card{overflow:hidden;margin:0 15px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-content>.mui-card:first-child{margin-top:15px}.mui-card .mui-input-group .mui-input-row:last-child:after,.mui-card .mui-input-group .mui-input-row:last-child:before,.mui-card .mui-input-group:after,.mui-card .mui-input-group:before{height:0}.mui-card .mui-table-view{margin-bottom:0;border-top:0;border-bottom:0;border-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:first-child,.mui-card .mui-table-view .mui-table-view-divider:first-child{top:0;border-top-left-radius:6px;border-top-right-radius:6px}.mui-card .mui-table-view .mui-table-view-cell:last-child,.mui-card .mui-table-view .mui-table-view-divider:last-child{border-bottom-right-radius:6px;border-bottom-left-radius:6px}.mui-card .mui-table-view:after,.mui-card .mui-table-view:before,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:after,.mui-card>.mui-table-view>.mui-table-view-cell:last-child:before{height:0}.mui-table-view{position:relative;margin-top:0;margin-bottom:0;padding-left:0;list-style:none;background-color:#fff}.mui-table-view:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view:before{position:absolute;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc;top:-1px}.mui-table-view-icon .mui-table-view-cell .mui-navigate-right .mui-icon{font-size:20px;margin-top:-1px;margin-right:5px;margin-left:-5px}.mui-table-view-icon .mui-table-view-cell:after{left:40px}.mui-table-view-chevron .mui-table-view-cell{padding-right:65px}.mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell{padding-right:65px}.mui-table-view-radio .mui-table-view-cell>a:not(.mui-btn){margin-right:-65px}.mui-table-view-radio .mui-table-view-cell .mui-navigate-right:after{font-size:30px;font-weight:600;right:9px;content:'';color:#007aff}.mui-table-view-radio .mui-table-view-cell.mui-selected .mui-navigate-right:after{content:'\e472'}.mui-table-view-inverted{color:#fff;background:#333}.mui-table-view-inverted:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#222}.mui-table-view-inverted .mui-table-view-cell.mui-active,.mui-table-view-inverted .mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#242424}.mui-table-view-cell{position:relative;overflow:hidden;padding:11px 15px;-webkit-touch-callout:none}.mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell.mui-checkbox input[type=checkbox],.mui-table-view-cell.mui-radio input[type=radio]{top:8px}.mui-table-view-cell.mui-checkbox.mui-left,.mui-table-view-cell.mui-radio.mui-left{padding-left:58px}.mui-table-view-cell.mui-active{background-color:#eee}.mui-table-view-cell:last-child:after,.mui-table-view-cell:last-child:before{height:0}.mui-table-view-cell>a:not(.mui-btn){position:relative;display:block;overflow:hidden;margin:-11px -15px;padding:inherit;white-space:nowrap;text-overflow:ellipsis;color:inherit}.mui-table-view-cell>a:not(.mui-btn).mui-active{background-color:#eee}.mui-table-view-cell p{margin-bottom:0}.mui-table-view-cell.mui-transitioning>.mui-slider-handle,.mui-table-view-cell.mui-transitioning>.mui-slider-left .mui-btn,.mui-table-view-cell.mui-transitioning>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 300ms ease;transition:transform 300ms ease}.mui-table-view-cell.mui-active>.mui-slider-handle{background-color:#eee}.mui-table-view-cell>.mui-slider-handle{position:relative;background-color:#fff}.mui-table-view-cell>.mui-slider-handle .mui-navigate-right:after,.mui-table-view-cell>.mui-slider-handle.mui-navigate-right:after{right:0}.mui-table-view-cell>.mui-slider-handle,.mui-table-view-cell>.mui-slider-left .mui-btn,.mui-table-view-cell>.mui-slider-right .mui-btn{-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease}.mui-table-view-cell>.mui-slider-left,.mui-table-view-cell>.mui-slider-right{position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:flex;height:100%}.mui-table-view-cell>.mui-slider-left>.mui-btn,.mui-table-view-cell>.mui-slider-right>.mui-btn{position:relative;left:0;display:-webkit-box;display:-webkit-flex;display:flex;padding:0 30px;color:#fff;border:0;border-radius:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.mui-table-view-cell>.mui-slider-left>.mui-btn:after,.mui-table-view-cell>.mui-slider-right>.mui-btn:after{position:absolute;z-index:-1;top:0;width:600%;height:100%;content:'';background:inherit}.mui-table-view-cell>.mui-slider-left>.mui-btn.mui-icon,.mui-table-view-cell>.mui-slider-right>.mui-btn.mui-icon{font-size:30px}.mui-table-view-cell>.mui-slider-right{right:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(100%);transform:translateX(100%)}.mui-table-view-cell>.mui-slider-left{left:0;-webkit-transition:-webkit-transform 0ms ease;transition:transform 0ms ease;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.mui-table-view-cell>.mui-slider-left>.mui-btn:after{right:100%;margin-right:-1px}.mui-table-view-divider{font-weight:500;position:relative;margin-top:-1px;margin-left:0;padding-top:6px;padding-bottom:6px;padding-left:15px;color:#999;background-color:#fafafa}.mui-table-view-divider:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-divider:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-media,.mui-table-view .mui-media-body{overflow:hidden}.mui-table-view .mui-media-large .mui-media-object{line-height:80px;max-width:80px;height:80px}.mui-table-view .mui-media .mui-subtitle{color:#000}.mui-table-view .mui-media-object{line-height:42px;max-width:42px;height:42px}.mui-table-view .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-media-object.mui-pull-right{margin-left:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object{line-height:29px;max-width:29px;height:29px;margin:-4px 0}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object img{line-height:29px;max-width:29px;height:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object.mui-pull-left{margin-right:10px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-object .mui-icon{font-size:29px}.mui-table-view .mui-table-view-cell.mui-media-icon .mui-media-body:after{position:absolute;right:0;bottom:0;left:55px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view .mui-table-view-cell.mui-media-icon:after{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view{display:block}.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:before{height:0!important}.mui-table-view.mui-unfold .mui-table-view-cell.mui-media-icon.mui-collapse .mui-media-body:after{position:absolute;right:0;bottom:0;left:70px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view-cell>.mui-badge,.mui-table-view-cell>.mui-btn,.mui-table-view-cell>.mui-switch,.mui-table-view-cell>a>.mui-badge,.mui-table-view-cell>a>.mui-btn,.mui-table-view-cell>a>.mui-switch{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-table-view-cell .mui-navigate-right>.mui-badge,.mui-table-view-cell .mui-navigate-right>.mui-btn,.mui-table-view-cell .mui-navigate-right>.mui-switch,.mui-table-view-cell .mui-push-left>.mui-badge,.mui-table-view-cell .mui-push-left>.mui-btn,.mui-table-view-cell .mui-push-left>.mui-switch,.mui-table-view-cell .mui-push-right>.mui-badge,.mui-table-view-cell .mui-push-right>.mui-btn,.mui-table-view-cell .mui-push-right>.mui-switch,.mui-table-view-cell>a .mui-navigate-right>.mui-badge,.mui-table-view-cell>a .mui-navigate-right>.mui-btn,.mui-table-view-cell>a .mui-navigate-right>.mui-switch,.mui-table-view-cell>a .mui-push-left>.mui-badge,.mui-table-view-cell>a .mui-push-left>.mui-btn,.mui-table-view-cell>a .mui-push-left>.mui-switch,.mui-table-view-cell>a .mui-push-right>.mui-badge,.mui-table-view-cell>a .mui-push-right>.mui-btn,.mui-table-view-cell>a .mui-push-right>.mui-switch{right:35px}.mui-content>.mui-table-view:first-child{margin-top:15px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after,.mui-table-view-cell.mui-collapse .mui-table-view:after,.mui-table-view-cell.mui-collapse .mui-table-view:before{height:0}.mui-table-view-cell.mui-collapse>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse>.mui-push-right:after{content:'\e581'}.mui-table-view-cell.mui-collapse.mui-active{margin-top:-1px}.mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content,.mui-table-view-cell.mui-collapse.mui-active .mui-table-view{display:block}.mui-table-view-cell.mui-collapse.mui-active>.mui-navigate-right:after,.mui-table-view-cell.mui-collapse.mui-active>.mui-push-right:after{content:'\e580'}.mui-table-view-cell.mui-collapse.mui-active .mui-table-view-cell>a:not(.mui-btn).mui-active{margin-left:-31px;padding-left:47px}.mui-table-view-cell.mui-collapse .mui-collapse-content{position:relative;display:none;overflow:hidden;margin:11px -15px -11px;padding:8px 15px;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease;background:#fff}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-input-group,.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{width:auto;height:auto;margin:-8px -15px}.mui-table-view-cell.mui-collapse .mui-collapse-content>.mui-slider{margin:-8px -16px}.mui-table-view-cell.mui-collapse .mui-table-view{display:none;margin-top:11px;margin-right:-15px;margin-bottom:-11px;margin-left:-15px;border:0}.mui-table-view-cell.mui-collapse .mui-table-view.mui-table-view-chevron{margin-right:-65px}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell{padding-left:31px;background-position:31px 100%}.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:30px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-table-view.mui-grid-view{font-size:0;display:block;width:100%;padding:0 10px 10px 0;white-space:normal}.mui-table-view.mui-grid-view .mui-table-view-cell{font-size:17px;display:inline-block;margin-right:-4px;padding:10px 0 0 14px;text-align:center;vertical-align:middle;background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-object{width:100%;max-width:100%;height:auto}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn){margin:-10px 0 0 -14px}.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn).mui-active,.mui-table-view.mui-grid-view .mui-table-view-cell>a:not(.mui-btn):active{background:0 0}.mui-table-view.mui-grid-view .mui-table-view-cell .mui-media-body{font-size:15px;line-height:15px;display:block;width:100%;height:15px;margin-top:8px;text-overflow:ellipsis;color:#333}.mui-table-view.mui-grid-view .mui-table-view-cell:after,.mui-table-view.mui-grid-view .mui-table-view-cell:before{height:0}.mui-grid-view.mui-grid-9{margin:0;padding:0;border-top:1px solid #eee;border-left:1px solid #eee;background-color:#f2f2f2}.mui-grid-view.mui-grid-9:after,.mui-grid-view.mui-grid-9:before{display:table;content:' '}.mui-grid-view.mui-grid-9:after{clear:both;position:static}.mui-grid-view.mui-grid-9 .mui-table-view-cell{margin:0;padding:11px 15px;vertical-align:top;border-right:1px solid #eee;border-bottom:1px solid #eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell.mui-active{background-color:#eee}.mui-grid-view.mui-grid-9 .mui-table-view-cell>a:not(.mui-btn){margin:0;padding:10px 0}.mui-grid-view.mui-grid-9:before{height:0}.mui-grid-view.mui-grid-9 .mui-media{color:#797979}.mui-grid-view.mui-grid-9 .mui-media .mui-icon{font-size:2.4em;position:relative}.mui-slider-cell{position:relative}.mui-slider-cell>.mui-slider-handle{z-index:1}.mui-slider-cell>.mui-slider-left,.mui-slider-cell>.mui-slider-right{position:absolute;z-index:0;top:0;bottom:0}.mui-slider-cell>.mui-slider-left{left:0}.mui-slider-cell>.mui-slider-right{right:0}input,select,textarea{font-family:'Helvetica Neue',Helvetica,sans-serif;font-size:17px;-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent}input:focus,select:focus,textarea:focus{-webkit-tap-highlight-color:transparent;-webkit-tap-highlight-color:transparent;-webkit-user-modify:read-write-plaintext-only}input[type=color],input[type=date],input[type=datetime-local],input[type=datetime],input[type=email],input[type=month],input[type=number],input[type=password],input[type=search],input[type=tel],input[type=text],input[type=time],input[type=url],input[type=week],select,textarea{line-height:21px;width:100%;height:40px;margin-bottom:15px;padding:10px 15px;-webkit-user-select:text;border:1px solid rgba(0,0,0,.2);border-radius:3px;outline:0;background-color:#fff;-webkit-appearance:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{margin:0;-webkit-appearance:none}input[type=search]{font-size:16px;-webkit-box-sizing:border-box;box-sizing:border-box;height:34px;text-align:center;border:0;border-radius:6px;background-color:rgba(0,0,0,.1)}input[type=search]:focus{text-align:left}textarea{height:auto;resize:none}select{font-size:14px;height:auto;margin-top:1px;border:0!important;background-color:#fff}select:focus{-webkit-user-modify:read-only}.mui-input-group{position:relative;padding:0;border:0;background-color:#fff}.mui-input-group:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group:before{position:absolute;top:0;right:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-group input,.mui-input-group textarea{margin-bottom:0;border:0;border-radius:0;background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.mui-input-group input[type=search]{background:0 0}.mui-input-group input:last-child{background-image:none}.mui-input-row{clear:left;overflow:hidden}.mui-input-row select{font-size:17px;height:37px;padding:0}.mui-input-row .mui-btn+input,.mui-input-row label+input,.mui-input-row:last-child{background:0 0}.mui-input-group .mui-input-row{height:40px}.mui-input-group .mui-input-row:after{position:absolute;right:0;bottom:0;left:15px;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-input-row label{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:left;width:35%;padding:11px 15px}.mui-input-row label~input,.mui-input-row label~select,.mui-input-row label~textarea{float:right;width:65%;margin-bottom:0;padding-left:0;border:0}.mui-input-row .mui-btn{font-family:'Helvetica Neue',Helvetica,sans-serif;line-height:1.1;float:right;width:15%;padding:10px 15px}.mui-input-row .mui-btn~input,.mui-input-row .mui-btn~select,.mui-input-row .mui-btn~textarea{float:left;width:85%;margin-bottom:0;padding-left:0;border:0}.mui-button-row{position:relative;padding-top:5px;text-align:center}.mui-input-group .mui-button-row{height:45px}.mui-input-row{position:relative}.mui-input-row.mui-input-range{overflow:visible;padding-right:20px}.mui-input-row .mui-inline{padding:8px 0}.mui-input-row .mui-input-clear~.mui-icon-clear,.mui-input-row .mui-input-password~.mui-icon-eye,.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:20px;position:absolute;z-index:1;top:10px;right:0;width:38px;height:38px;text-align:center;color:#999}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-active,.mui-input-row .mui-input-password~.mui-icon-eye.mui-active,.mui-input-row .mui-input-speech~.mui-icon-speech.mui-active{color:#007aff}.mui-input-row .mui-input-speech~.mui-icon-speech{font-size:24px;top:8px}.mui-input-row .mui-input-clear~.mui-icon-clear~.mui-icon-speech{display:none}.mui-input-row .mui-input-clear~.mui-icon-clear.mui-hidden~.mui-icon-speech{display:inline-block}.mui-input-row .mui-icon-speech~.mui-placeholder{right:38px}.mui-input-row.mui-search .mui-icon-clear{top:7px}.mui-input-row.mui-search .mui-icon-speech{top:5px}.mui-checkbox,.mui-radio{position:relative}.mui-checkbox label,.mui-radio label{display:inline-block;float:none;width:100%;padding-right:58px}.mui-checkbox.mui-left input[type=checkbox],.mui-radio.mui-left input[type=radio]{left:20px}.mui-checkbox.mui-left label,.mui-radio.mui-left label{padding-right:15px;padding-left:58px}.mui-checkbox input[type=checkbox],.mui-radio input[type=radio]{position:absolute;top:4px;right:20px;display:inline-block;width:28px;height:26px;border:0;outline:0!important;background-color:transparent;-webkit-appearance:none}.mui-checkbox input[type=checkbox][disabled]:before,.mui-radio input[type=radio][disabled]:before{opacity:.3}.mui-checkbox input[type=checkbox]:before,.mui-radio input[type=radio]:before{font-family:Muiicons;font-size:28px;font-weight:400;line-height:1;text-decoration:none;color:#aaa;border-radius:0;background:0 0;-webkit-font-smoothing:antialiased}.mui-checkbox input[type=checkbox]:checked:before,.mui-radio input[type=radio]:checked:before{color:#007aff}.mui-checkbox label.mui-disabled,.mui-checkbox.mui-disabled label,.mui-radio label.mui-disabled,.mui-radio.mui-disabled label{opacity:.4}.mui-radio input[type=radio]:before{content:'\e411'}.mui-radio input[type=radio]:checked:before{content:'\e441'}.mui-checkbox input[type=checkbox]:before{content:'\e411'}.mui-checkbox input[type=checkbox]:checked:before{content:'\e442'}.mui-select{position:relative}.mui-select:before{font-family:Muiicons;position:absolute;top:8px;right:21px;content:'\e581';color:rgba(170,170,170,.6)}.mui-input-row .mui-switch{float:right;margin-top:5px;margin-right:20px}.mui-input-range input[type=range]{position:relative;width:100%;height:2px;margin:17px 0;padding:0;cursor:pointer;border:0;border-radius:3px;outline:0;background-color:#999;-webkit-appearance:none!important}.mui-input-range input[type=range]::-webkit-slider-thumb{width:28px;height:28px;border-color:#0062cc;border-radius:50%;background-color:#007aff;background-clip:padding-box;-webkit-appearance:none!important}.mui-input-range label~input[type=range]{width:65%}.mui-input-range .mui-tooltip{font-size:36px;line-height:64px;position:absolute;z-index:1;top:-70px;width:64px;height:64px;text-align:center;opacity:.8;color:#333;border:1px solid #ddd;border-radius:6px;background-color:#fff;text-shadow:0 1px 0 #f3f3f3}.mui-search{position:relative}.mui-search input[type=search]{padding-left:30px}.mui-search .mui-placeholder{font-size:16px;line-height:34px;position:absolute;z-index:1;top:0;right:0;bottom:0;left:0;display:inline-block;height:34px;text-align:center;color:#999;border:0;border-radius:6px;background:0 0}.mui-search .mui-placeholder .mui-icon{font-size:20px;color:#333}.mui-search:before{font-family:Muiicons;font-size:20px;font-weight:400;position:absolute;top:50%;right:50%;display:none;margin-top:-18px;margin-right:31px;content:'\e466'}.mui-search.mui-active:before{font-size:20px;right:auto;left:5px;display:block;margin-right:0}.mui-search.mui-active input[type=search]{text-align:left}.mui-search.mui-active .mui-placeholder{display:none}.mui-segmented-control{font-size:15px;font-weight:400;position:relative;display:table;overflow:hidden;width:100%;table-layout:fixed;border:1px solid #007aff;border-radius:3px;background-color:transparent;-webkit-touch-callout:none}.mui-segmented-control.mui-segmented-control-vertical{border-collapse:collapse;border-width:0;border-radius:0}.mui-segmented-control.mui-segmented-control-vertical .mui-control-item{display:block;border-bottom:1px solid #c8c7cc;border-left-width:0}.mui-segmented-control.mui-scroll-wrapper{height:38px}.mui-segmented-control.mui-scroll-wrapper .mui-scroll{width:auto;height:40px;white-space:nowrap}.mui-segmented-control.mui-scroll-wrapper .mui-control-item{display:inline-block;width:auto;padding:0 20px;border:0}.mui-segmented-control .mui-control-item{line-height:38px;display:table-cell;overflow:hidden;width:1%;-webkit-transition:background-color .1s linear;transition:background-color .1s linear;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;border-color:#007aff;border-left:1px solid #007aff}.mui-segmented-control .mui-control-item:first-child{border-left-width:0}.mui-segmented-control .mui-control-item.mui-active{color:#fff;background-color:#007aff}.mui-segmented-control.mui-segmented-control-inverted{width:100%;border:0;border-radius:0}.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item,.mui-segmented-control.mui-segmented-control-inverted.mui-segmented-control-vertical .mui-control-item.mui-active{border-bottom:1px solid #c8c7cc}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item{color:inherit;border:0}.mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{color:#007aff;border-bottom:2px solid #007aff;background:0 0}.mui-segmented-control.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#007aff}.mui-segmented-control-positive{border:1px solid #4cd964}.mui-segmented-control-positive .mui-control-item{color:#4cd964;border-color:inherit}.mui-segmented-control-positive .mui-control-item.mui-active{color:#fff;background-color:#4cd964}.mui-segmented-control-positive.mui-segmented-control-inverted .mui-control-item.mui-active{color:#4cd964;border-bottom:2px solid #4cd964;background:0 0}.mui-segmented-control-positive.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#4cd964}.mui-segmented-control-negative{border:1px solid #dd524d}.mui-segmented-control-negative .mui-control-item{color:#dd524d;border-color:inherit}.mui-segmented-control-negative .mui-control-item.mui-active{color:#fff;background-color:#dd524d}.mui-segmented-control-negative.mui-segmented-control-inverted .mui-control-item.mui-active{color:#dd524d;border-bottom:2px solid #dd524d;background:0 0}.mui-segmented-control-negative.mui-segmented-control-inverted~.mui-slider-progress-bar{background-color:#dd524d}.mui-control-content{position:relative;display:none}.mui-control-content.mui-active{display:block}.mui-popover{position:absolute;z-index:999;display:none;width:280px;-webkit-transition:opacity .3s;transition:opacity .3s;-webkit-transition-property:opacity;transition-property:opacity;-webkit-transform:none;transform:none;opacity:0;border-radius:7px;background-color:#f7f7f7;-webkit-box-shadow:0 0 15px rgba(0,0,0,.1);box-shadow:0 0 15px rgba(0,0,0,.1)}.mui-popover .mui-popover-arrow{position:absolute;z-index:1000;top:-25px;left:0;overflow:hidden;width:26px;height:26px}.mui-popover .mui-popover-arrow:after{position:absolute;top:19px;left:0;width:26px;height:26px;content:' ';-webkit-transform:rotate(45deg);transform:rotate(45deg);border-radius:3px;background:#f7f7f7}.mui-popover .mui-popover-arrow.mui-bottom{top:100%;left:-26px;margin-top:-1px}.mui-popover .mui-popover-arrow.mui-bottom:after{top:-19px;left:0}.mui-popover.mui-popover-action{bottom:0;width:100%;-webkit-transition:-webkit-transform .3s,opacity .3s;transition:transform .3s,opacity .3s;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);border-radius:0;background:0 0;-webkit-box-shadow:none;box-shadow:none}.mui-popover.mui-popover-action .mui-popover-arrow{display:none}.mui-popover.mui-popover-action.mui-popover-bottom{position:fixed}.mui-popover.mui-popover-action.mui-active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-popover.mui-popover-action .mui-table-view{margin:8px;text-align:center;color:#007aff;border-radius:4px}.mui-popover.mui-popover-action .mui-table-view .mui-table-view-cell:after{position:absolute;right:0;bottom:0;left:0;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);background-color:#c8c7cc}.mui-popover.mui-popover-action .mui-table-view small{font-weight:400;line-height:1.3;display:block}.mui-popover.mui-active{display:block;opacity:1}.mui-popover .mui-bar~.mui-table-view{padding-top:44px}.mui-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;background-color:rgba(0,0,0,.3)}.mui-bar-backdrop.mui-backdrop{bottom:50px;background:0 0}.mui-backdrop-action.mui-backdrop{background-color:rgba(0,0,0,.3)}.mui-backdrop-action.mui-backdrop,.mui-bar-backdrop.mui-backdrop{opacity:0}.mui-backdrop-action.mui-backdrop.mui-active,.mui-bar-backdrop.mui-backdrop.mui-active{-webkit-transition:all .4s ease;transition:all .4s ease;opacity:1}.mui-popover .mui-btn-block{margin-bottom:5px}.mui-popover .mui-btn-block:last-child{margin-bottom:0}.mui-popover .mui-bar{-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-bar-nav{border-bottom:1px solid rgba(0,0,0,.15);border-top-left-radius:12px;border-top-right-radius:12px;-webkit-box-shadow:none;box-shadow:none}.mui-popover .mui-scroll-wrapper{margin:7px 0;border-radius:7px;background-clip:padding-box}.mui-popover .mui-scroll .mui-table-view{max-height:none}.mui-popover .mui-table-view{overflow:auto;max-height:300px;margin-bottom:0;border-radius:7px;background-color:#f7f7f7;background-image:none;-webkit-overflow-scrolling:touch}.mui-popover .mui-table-view:after,.mui-popover .mui-table-view:before{height:0}.mui-popover .mui-table-view .mui-table-view-cell:first-child,.mui-popover .mui-table-view .mui-table-view-cell:first-child>a:not(.mui-btn){border-top-left-radius:12px;border-top-right-radius:12px}.mui-popover .mui-table-view .mui-table-view-cell:last-child,.mui-popover .mui-table-view .mui-table-view-cell:last-child>a:not(.mui-btn){border-bottom-right-radius:12px;border-bottom-left-radius:12px}.mui-popover.mui-bar-popover .mui-table-view{width:106px}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell{padding:11px 15px;background-position:0 100%}.mui-popover.mui-bar-popover .mui-table-view .mui-table-view-cell>a:not(.mui-btn){margin:-11px -15px -11px -15px}.mui-popup-backdrop{position:fixed;z-index:998;top:0;right:0;bottom:0;left:0;-webkit-transition-duration:400ms;transition-duration:400ms;opacity:0;background:rgba(0,0,0,.4)}.mui-popup-backdrop.mui-active{opacity:1}.mui-popup{position:fixed;z-index:10000;top:50%;left:50%;display:none;overflow:hidden;width:270px;-webkit-transition-property:-webkit-transform,opacity;transition-property:transform,opacity;-webkit-transform:translate3d(-50%,-50%,0) scale(1.185);transform:translate3d(-50%,-50%,0) scale(1.185);text-align:center;opacity:0;color:#000;border-radius:13px}.mui-popup.mui-popup-in{display:block;-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:1}.mui-popup.mui-popup-out{-webkit-transition-duration:400ms;transition-duration:400ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1);opacity:0}.mui-popup-inner{position:relative;padding:15px;border-radius:13px 13px 0 0;background:rgba(255,255,255,.95)}.mui-popup-inner:after{position:absolute;z-index:15;top:auto;right:auto;bottom:0;left:0;display:block;width:100%;height:1px;content:'';-webkit-transform:scaleY(.5);transform:scaleY(.5);-webkit-transform-origin:50% 100%;transform-origin:50% 100%;background-color:rgba(0,0,0,.2)}.mui-popup-title{font-size:18px;font-weight:500;text-align:center}.mui-popup-title+.mui-popup-text{font-family:inherit;font-size:14px;margin:5px 0 0}.mui-popup-buttons{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;height:44px;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.mui-popup-button{font-size:17px;line-height:44px;position:relative;display:block;overflow:hidden;box-sizing:border-box;width:100%;height:44px;padding:0 5px;cursor:pointer;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:#007aff;background:rgba(255,255,255,.95);-webkit-box-flex:1}.mui-popup-button:after{position:absolute;z-index:15;top:0;right:0;bottom:auto;left:auto;display:block;width:1px;height:100%;content:'';-webkit-transform:scaleX(.5);transform:scaleX(.5);-webkit-transform-origin:100% 50%;transform-origin:100% 50%;background-color:rgba(0,0,0,.2)}.mui-popup-button:first-child{border-radius:0 0 0 13px}.mui-popup-button:first-child:last-child{border-radius:0 0 13px 13px}.mui-popup-button:last-child{border-radius:0 0 13px}.mui-popup-button:last-child:after{display:none}.mui-popup-button.mui-popup-button-bold{font-weight:600}.mui-popup-input input{font-size:14px;width:100%;height:26px;margin:15px 0 0;padding:0 5px;border:1px solid rgba(0,0,0,.3);border-radius:0;background:#fff}.mui-plus.mui-android .mui-popup-backdrop{-webkit-transition-duration:1ms;transition-duration:1ms}.mui-plus.mui-android .mui-popup{-webkit-transition-duration:1ms;transition-duration:1ms;-webkit-transform:translate3d(-50%,-50%,0) scale(1);transform:translate3d(-50%,-50%,0) scale(1)}.mui-progressbar{position:relative;display:block;overflow:hidden;width:100%;height:2px;-webkit-transform-origin:center top;transform-origin:center top;vertical-align:middle;border-radius:2px;background:#b6b6b6;-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-progressbar span{position:absolute;top:0;left:0;width:100%;height:100%;-webkit-transition:150ms;transition:150ms;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);background:#007aff}.mui-progressbar.mui-progressbar-infinite:before{position:absolute;top:0;left:0;width:100%;height:100%;content:'';-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-webkit-transform-origin:left center;transform-origin:left center;-webkit-animation:mui-progressbar-infinite 1s linear infinite;animation:mui-progressbar-infinite 1s linear infinite;background:#007aff}body>.mui-progressbar{position:absolute;z-index:10000;top:0;left:0;border-radius:0}.mui-progressbar-in{-webkit-animation:mui-progressbar-in 300ms forwards;animation:mui-progressbar-in 300ms forwards}.mui-progressbar-out{-webkit-animation:mui-progressbar-out 300ms forwards;animation:mui-progressbar-out 300ms forwards}@-webkit-keyframes mui-progressbar-in{from{-webkit-transform:scaleY(0);opacity:0}to{-webkit-transform:scaleY(1);opacity:1}}@keyframes mui-progressbar-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}@-webkit-keyframes mui-progressbar-out{from{-webkit-transform:scaleY(1);opacity:1}to{-webkit-transform:scaleY(0);opacity:0}}@keyframes mui-progressbar-out{from{transform:scaleY(1);opacity:1}to{transform:scaleY(0);opacity:0}}@-webkit-keyframes mui-progressbar-infinite{0%{-webkit-transform:translate3d(-50%,0,0) scaleX(.5)}100%{-webkit-transform:translate3d(100%,0,0) scaleX(.5)}}@keyframes mui-progressbar-infinite{0%{transform:translate3d(-50%,0,0) scaleX(.5)}100%{transform:translate3d(100%,0,0) scaleX(.5)}}.mui-pagination{display:inline-block;margin:0 auto;padding-left:0;border-radius:6px}.mui-pagination>li{display:inline}.mui-pagination>li>a,.mui-pagination>li>span{line-height:1.428571429;position:relative;float:left;margin-left:-1px;padding:6px 12px;text-decoration:none;color:#007aff;border:1px solid #ddd;background-color:#fff}.mui-pagination>li:first-child>a,.mui-pagination>li:first-child>span{margin-left:0;border-top-left-radius:6px;border-bottom-left-radius:6px;background-clip:padding-box}.mui-pagination>li:last-child>a,.mui-pagination>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px;background-clip:padding-box}.mui-pagination>li.mui-active>a,.mui-pagination>li.mui-active>a:active,.mui-pagination>li.mui-active>span,.mui-pagination>li.mui-active>span:active,.mui-pagination>li:active>a,.mui-pagination>li:active>a:active,.mui-pagination>li:active>span,.mui-pagination>li:active>span:active{z-index:2;cursor:default;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pagination>li.mui-disabled>a,.mui-pagination>li.mui-disabled>a:active,.mui-pagination>li.mui-disabled>span,.mui-pagination>li.mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-pagination-lg>li>a,.mui-pagination-lg>li>span{font-size:18px;padding:10px 16px}.mui-pagination-sm>li>a,.mui-pagination-sm>li>span{font-size:12px;padding:5px 10px}.mui-pager{padding-left:0;list-style:none;text-align:center}.mui-pager:after,.mui-pager:before{display:table;content:' '}.mui-pager:after{clear:both}.mui-pager li{display:inline}.mui-pager li>a,.mui-pager li>span{display:inline-block;padding:5px 14px;border:1px solid #ddd;border-radius:6px;background-color:#fff;background-clip:padding-box}.mui-pager li.mui-active>a,.mui-pager li.mui-active>span,.mui-pager li:active>a,.mui-pager li:active>span{cursor:default;text-decoration:none;color:#fff;border-color:#007aff;background-color:#007aff}.mui-pager .mui-next>a,.mui-pager .mui-next>span{float:right}.mui-pager .mui-previous>a,.mui-pager .mui-previous>span{float:left}.mui-pager .mui-disabled>a,.mui-pager .mui-disabled>a:active,.mui-pager .mui-disabled>span,.mui-pager .mui-disabled>span:active{opacity:.6;color:#777;border:1px solid #ddd;background-color:#fff}.mui-modal{position:fixed;z-index:999;top:0;overflow:hidden;width:100%;min-height:100%;-webkit-transition:-webkit-transform .25s,opacity 1ms .25s;transition:transform .25s,opacity 1ms .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0);opacity:0;background-color:#fff}.mui-modal.mui-active{height:100%;-webkit-transition:-webkit-transform .25s;transition:transform .25s;-webkit-transition-timing-function:cubic-bezier(.1,.5,.1,1);transition-timing-function:cubic-bezier(.1,.5,.1,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}.mui-android .mui-modal .mui-bar{position:static}.mui-android .mui-modal .mui-bar-nav~.mui-content{padding-top:0}.mui-slider{position:relative;z-index:1;overflow:hidden;width:100%}.mui-slider .mui-segmented-control.mui-segmented-control-inverted .mui-control-item.mui-active{border-bottom:0}.mui-slider .mui-segmented-control.mui-segmented-control-inverted~.mui-slider-group .mui-slider-item{border-top:1px solid #c8c7cc;border-bottom:1px solid #c8c7cc}.mui-slider .mui-slider-group{font-size:0;position:relative;-webkit-transition:all 0s linear;transition:all 0s linear;white-space:nowrap}.mui-slider .mui-slider-group .mui-slider-item{font-size:14px;position:relative;display:inline-block;width:100%;height:100%;vertical-align:top;white-space:normal}.mui-slider .mui-slider-group .mui-slider-item>a:not(.mui-control-item){line-height:0;position:relative;display:block}.mui-slider .mui-slider-group .mui-slider-item img{width:100%}.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after,.mui-slider .mui-slider-group .mui-slider-item .mui-table-view:before{height:0}.mui-slider .mui-slider-group.mui-slider-loop{-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.mui-slider-title{line-height:30px;position:absolute;bottom:0;left:0;width:100%;height:30px;margin:0;text-align:left;text-indent:12px;opacity:.8;background-color:#000}.mui-slider-indicator{position:absolute;bottom:8px;width:100%;text-align:center;background:0 0}.mui-slider-indicator.mui-segmented-control{position:relative;bottom:auto}.mui-slider-indicator .mui-indicator{display:inline-block;width:6px;height:6px;margin:1px 6px;cursor:pointer;border-radius:50%;background:#aaa;-webkit-box-shadow:0 0 1px 1px rgba(130,130,130,.7);box-shadow:0 0 1px 1px rgba(130,130,130,.7)}.mui-slider-indicator .mui-active.mui-indicator{background:#fff}.mui-slider-indicator .mui-icon{font-size:20px;line-height:30px;width:40px;height:30px;margin:3px;text-align:center;border:1px solid #ddd}.mui-slider-indicator .mui-number{line-height:32px;display:inline-block;width:58px}.mui-slider-indicator .mui-number span{color:#ff5053}.mui-slider-progress-bar{z-index:1;height:2px;-webkit-transform:translateZ(0);transform:translateZ(0)}.mui-switch{position:relative;display:block;width:74px;height:30px;-webkit-transition-timing-function:ease-in-out;transition-timing-function:ease-in-out;-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-property:background-color,border;transition-property:background-color,border;border:2px solid #ddd;border-radius:20px;background-color:#fff;background-clip:padding-box}.mui-switch.mui-disabled{opacity:.3}.mui-switch .mui-switch-handle{position:absolute;z-index:1;top:-1px;left:-1px;width:28px;height:28px;-webkit-transition:.2s ease-in-out;transition:.2s ease-in-out;-webkit-transition-property:-webkit-transform,width,left;transition-property:transform,width,left;border-radius:16px;background-color:#fff;background-clip:padding-box;-webkit-box-shadow:0 2px 5px rgba(0,0,0,.4);box-shadow:0 2px 5px rgba(0,0,0,.4)}.mui-switch:before{font-size:13px;position:absolute;top:3px;right:11px;content:'Off';text-transform:uppercase;color:#999}.mui-switch.mui-dragging{border-color:#f7f7f7;background-color:#f7f7f7}.mui-switch.mui-dragging .mui-switch-handle{width:38px}.mui-switch.mui-dragging.mui-active .mui-switch-handle{left:-11px;width:38px}.mui-switch.mui-active{border-color:#4cd964;background-color:#4cd964}.mui-switch.mui-active .mui-switch-handle{-webkit-transform:translate(43px,0);transform:translate(43px,0)}.mui-switch.mui-active:before{right:auto;left:15px;content:'On';color:#fff}.mui-switch input[type=checkbox]{display:none}.mui-switch-mini{width:47px}.mui-switch-mini:before{display:none}.mui-switch-mini.mui-active .mui-switch-handle{-webkit-transform:translate(16px,0);transform:translate(16px,0)}.mui-switch-blue.mui-active{border:2px solid #007aff;background-color:#007aff}.mui-content.mui-fade{left:0;opacity:0}.mui-content.mui-fade.mui-in{opacity:1}.mui-content.mui-sliding{z-index:2;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.mui-content.mui-sliding.mui-left{z-index:1;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.mui-content.mui-sliding.mui-right{z-index:3;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.mui-navigate-right:after,.mui-push-left:after,.mui-push-right:after{font-family:Muiicons;font-size:inherit;line-height:1;position:absolute;top:50%;display:inline-block;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-decoration:none;color:#bbb;-webkit-font-smoothing:antialiased}.mui-push-left:after{left:15px;content:'\e582'}.mui-navigate-right:after,.mui-push-right:after{right:15px;content:'\e583'}.mui-pull-bottom-pocket,.mui-pull-top-pocket{position:absolute;left:0;display:block;visibility:hidden;overflow:hidden;width:100%;height:50px}.mui-plus-pullrefresh .mui-pull-bottom-pocket,.mui-plus-pullrefresh .mui-pull-top-pocket{display:none;visibility:visible}.mui-pull-top-pocket{top:0}.mui-bar-nav~.mui-content .mui-pull-top-pocket{top:44px}.mui-bar-nav~.mui-bar-header-secondary~.mui-content .mui-pull-top-pocket{top:88px}.mui-pull-bottom-pocket{position:relative;bottom:0;height:40px}.mui-pull-bottom-pocket .mui-pull-loading{visibility:hidden}.mui-pull-bottom-pocket .mui-pull-loading.mui-in{display:inline-block}.mui-pull{font-weight:700;position:absolute;right:0;bottom:10px;left:0;text-align:center;color:#777}.mui-pull-loading{margin-right:10px;-webkit-transition:-webkit-transform .4s;transition:transform .4s;-webkit-transition-duration:400ms;transition-duration:400ms;vertical-align:middle}.mui-pull-loading.mui-reverse{-webkit-transform:rotate(180deg) translateZ(0);transform:rotate(180deg) translateZ(0)}.mui-pull-caption{font-size:15px;line-height:24px;position:relative;display:inline-block;overflow:visible;margin-top:0;vertical-align:middle}.mui-pull-caption span{display:none}.mui-pull-caption span.mui-in{display:inline}.mui-toast-container{position:fixed;z-index:9999;bottom:50px;width:100%;-webkit-transition:opacity .8s;transition:opacity .8s;opacity:0}.mui-toast-container.mui-active{opacity:1}.mui-toast-message{font-size:14px;width:270px;margin:5px auto;padding:5px;text-align:center;color:#000;border-radius:7px;background-color:#d8d8d8}.mui-numbox{position:relative;display:inline-block;overflow:hidden;width:120px;height:35px;padding:0 40px;vertical-align:top;vertical-align:middle;border:solid 1px #bbb;border-radius:3px;background-color:#efeff4}.mui-numbox [class*=btn-numbox],.mui-numbox [class*=numbox-btn]{font-size:18px;font-weight:400;line-height:100%;position:absolute;top:0;overflow:hidden;width:40px;height:100%;padding:0;color:#555;border:none;border-radius:0;background-color:#f9f9f9}.mui-numbox [class*=btn-numbox]:active,.mui-numbox [class*=numbox-btn]:active{background-color:#ccc}.mui-numbox [class*=btn-numbox][disabled],.mui-numbox [class*=numbox-btn][disabled]{color:silver}.mui-numbox .mui-btn-numbox-plus,.mui-numbox .mui-numbox-btn-plus{right:0;border-top-right-radius:3px;border-bottom-right-radius:3px}.mui-numbox .mui-btn-numbox-minus,.mui-numbox .mui-numbox-btn-minus{left:0;border-top-left-radius:3px;border-bottom-left-radius:3px}.mui-numbox .mui-input-numbox,.mui-numbox .mui-numbox-input{display:inline-block;overflow:hidden;width:100%!important;height:100%;margin:0;padding:0 3px!important;text-align:center;text-overflow:ellipsis;word-break:normal;border:none!important;border-right:solid 1px #ccc!important;border-left:solid 1px #ccc!important;border-radius:0!important}.mui-input-row .mui-numbox{float:right;margin:2px 8px}@font-face{font-family:Muiicons;font-weight:400;font-style:normal;src:url(../fonts/mui.ttf) format('truetype')}.mui-icon{font-family:Muiicons;font-size:24px;font-weight:400;font-style:normal;line-height:1;display:inline-block;text-decoration:none;-webkit-font-smoothing:antialiased}.mui-icon.mui-active{color:#007aff}.mui-icon.mui-right:before{float:right;padding-left:.2em}.mui-icon-contact:before{content:'\e100'}.mui-icon-person:before{content:'\e101'}.mui-icon-personadd:before{content:'\e102'}.mui-icon-contact-filled:before{content:'\e130'}.mui-icon-person-filled:before{content:'\e131'}.mui-icon-personadd-filled:before{content:'\e132'}.mui-icon-phone:before{content:'\e200'}.mui-icon-email:before{content:'\e201'}.mui-icon-chatbubble:before{content:'\e202'}.mui-icon-chatboxes:before{content:'\e203'}.mui-icon-phone-filled:before{content:'\e230'}.mui-icon-email-filled:before{content:'\e231'}.mui-icon-chatbubble-filled:before{content:'\e232'}.mui-icon-chatboxes-filled:before{content:'\e233'}.mui-icon-weibo:before{content:'\e260'}.mui-icon-weixin:before{content:'\e261'}.mui-icon-pengyouquan:before{content:'\e262'}.mui-icon-chat:before{content:'\e263'}.mui-icon-qq:before{content:'\e264'}.mui-icon-videocam:before{content:'\e300'}.mui-icon-camera:before{content:'\e301'}.mui-icon-mic:before{content:'\e302'}.mui-icon-location:before{content:'\e303'}.mui-icon-mic-filled:before,.mui-icon-speech:before{content:'\e332'}.mui-icon-location-filled:before{content:'\e333'}.mui-icon-micoff:before{content:'\e360'}.mui-icon-image:before{content:'\e363'}.mui-icon-map:before{content:'\e364'}.mui-icon-compose:before{content:'\e400'}.mui-icon-trash:before{content:'\e401'}.mui-icon-upload:before{content:'\e402'}.mui-icon-download:before{content:'\e403'}.mui-icon-close:before{content:'\e404'}.mui-icon-redo:before{content:'\e405'}.mui-icon-undo:before{content:'\e406'}.mui-icon-refresh:before{content:'\e407'}.mui-icon-star:before{content:'\e408'}.mui-icon-plus:before{content:'\e409'}.mui-icon-minus:before{content:'\e410'}.mui-icon-checkbox:before,.mui-icon-circle:before{content:'\e411'}.mui-icon-clear:before,.mui-icon-close-filled:before{content:'\e434'}.mui-icon-refresh-filled:before{content:'\e437'}.mui-icon-star-filled:before{content:'\e438'}.mui-icon-plus-filled:before{content:'\e439'}.mui-icon-minus-filled:before{content:'\e440'}.mui-icon-circle-filled:before{content:'\e441'}.mui-icon-checkbox-filled:before{content:'\e442'}.mui-icon-closeempty:before{content:'\e460'}.mui-icon-refreshempty:before{content:'\e461'}.mui-icon-reload:before{content:'\e462'}.mui-icon-starhalf:before{content:'\e463'}.mui-icon-spinner:before{content:'\e464'}.mui-icon-spinner-cycle:before{content:'\e465'}.mui-icon-search:before{content:'\e466'}.mui-icon-plusempty:before{content:'\e468'}.mui-icon-forward:before{content:'\e470'}.mui-icon-back:before,.mui-icon-left-nav:before{content:'\e471'}.mui-icon-checkmarkempty:before{content:'\e472'}.mui-icon-home:before{content:'\e500'}.mui-icon-navigate:before{content:'\e501'}.mui-icon-gear:before{content:'\e502'}.mui-icon-paperplane:before{content:'\e503'}.mui-icon-info:before{content:'\e504'}.mui-icon-help:before{content:'\e505'}.mui-icon-locked:before{content:'\e506'}.mui-icon-more:before{content:'\e507'}.mui-icon-flag:before{content:'\e508'}.mui-icon-home-filled:before{content:'\e530'}.mui-icon-gear-filled:before{content:'\e532'}.mui-icon-info-filled:before{content:'\e534'}.mui-icon-help-filled:before{content:'\e535'}.mui-icon-more-filled:before{content:'\e537'}.mui-icon-settings:before{content:'\e560'}.mui-icon-list:before{content:'\e562'}.mui-icon-bars:before{content:'\e563'}.mui-icon-loop:before{content:'\e565'}.mui-icon-paperclip:before{content:'\e567'}.mui-icon-eye:before{content:'\e568'}.mui-icon-arrowup:before{content:'\e580'}.mui-icon-arrowdown:before{content:'\e581'}.mui-icon-arrowleft:before{content:'\e582'}.mui-icon-arrowright:before{content:'\e583'}.mui-icon-arrowthinup:before{content:'\e584'}.mui-icon-arrowthindown:before{content:'\e585'}.mui-icon-arrowthinleft:before{content:'\e586'}.mui-icon-arrowthinright:before{content:'\e587'}.mui-icon-pulldown:before{content:'\e588'}.mui-fullscreen{position:absolute;top:0;right:0;bottom:0;left:0}.mui-fullscreen.mui-slider .mui-slider-group{height:100%}.mui-fullscreen .mui-segmented-control~.mui-slider-group{position:absolute;top:40px;bottom:0;width:100%;height:auto}.mui-fullscreen.mui-slider .mui-slider-item>a{top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.mui-fullscreen .mui-off-canvas-wrap .mui-slider-item>a{top:auto;-webkit-transform:none;transform:none}.mui-bar-nav~.mui-content .mui-slider.mui-fullscreen{top:44px}.mui-bar-tab~.mui-content .mui-slider.mui-fullscreen .mui-segmented-control~.mui-slider-group{bottom:50px}.mui-android.mui-android-4-0 input:focus,.mui-android.mui-android-4-0 textarea:focus{-webkit-user-modify:inherit}.mui-android.mui-android-4-2 input,.mui-android.mui-android-4-2 textarea,.mui-android.mui-android-4-3 input,.mui-android.mui-android-4-3 textarea{-webkit-user-select:text}.mui-ios .mui-table-view-cell{-webkit-transform-style:preserve-3d;transform-style:preserve-3d}.mui-plus-visible,.mui-wechat-visible{display:none!important}.mui-plus-hidden,.mui-wechat-hidden{display:block!important}.mui-tab-item.mui-plus-hidden,.mui-tab-item.mui-wechat-hidden{display:table-cell!important}.mui-plus .mui-plus-visible,.mui-wechat .mui-wechat-visible{display:block!important}.mui-plus .mui-tab-item.mui-plus-visible,.mui-wechat .mui-tab-item.mui-wechat-visible{display:table-cell!important}.mui-plus .mui-plus-hidden,.mui-wechat .mui-wechat-hidden{display:none!important}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav{height:64px;padding-top:20px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content{padding-top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary,.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-nav~.mui-content .mui-pull-top-pocket{top:64px}.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary~.mui-content{padding-top:94px}.mui-iframe-wrapper{position:absolute;right:0;left:0;-webkit-overflow-scrolling:touch}.mui-iframe-wrapper iframe{width:100%;height:100%;border:0} \ No newline at end of file diff --git a/examples/hello-mui/examples/info.html b/examples/hello-mui/examples/info.html index a24ec21a..7039083b 100644 --- a/examples/hello-mui/examples/info.html +++ b/examples/hello-mui/examples/info.html @@ -68,7 +68,7 @@

关于

mui是一款小巧高能的前端UI框架,其UI控件富有原生UI样式; 通过封装多webview、启动原生动画,使得mui成为目前最接近原生体验的前端框架, 更多详细介绍,请到mui官网查看

-

当前版本:2.9.0

+

当前版本:3.0.0

diff --git a/examples/hello-mui/examples/setting.html b/examples/hello-mui/examples/setting.html index 5c7b7dc1..a784a4df 100644 --- a/examples/hello-mui/examples/setting.html +++ b/examples/hello-mui/examples/setting.html @@ -212,7 +212,7 @@

设置

    diff --git a/examples/hello-mui/examples/tab-vertical-scroll.html b/examples/hello-mui/examples/tab-vertical-scroll.html new file mode 100644 index 00000000..8fba1508 --- /dev/null +++ b/examples/hello-mui/examples/tab-vertical-scroll.html @@ -0,0 +1,170 @@ + + + + + + Hello MUI + + + + + + + + + + + + +
    + +

    侧面选项卡-div模式

    +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + + \ No newline at end of file diff --git a/examples/hello-mui/js/mui.dtpicker.js b/examples/hello-mui/js/mui.dtpicker.js index 5bcdda57..61771b24 100644 --- a/examples/hello-mui/js/mui.dtpicker.js +++ b/examples/hello-mui/js/mui.dtpicker.js @@ -6,7 +6,7 @@ */ (function($, document) { - + //创建 DOM $.dom = function(str) { if (typeof(str) !== 'string') { @@ -22,7 +22,7 @@ $.__create_dom_div__.innerHTML = str; return [].slice.call($.__create_dom_div__.childNodes); }; - + var domBuffer = '
    \
    \ \ @@ -101,23 +101,37 @@ self.hide(); } }, false); - ui.y.addEventListener('change', function() { - self._createDay(); + ui.y.addEventListener('change', function(e) { //目前的change事件容易导致级联触发 + if (self.options.beginMonth || self.options.endMonth) { + self._createMonth(); + } else { + self._createDay(); + } }, false); - ui.m.addEventListener('change', function() { + ui.m.addEventListener('change', function(e) { self._createDay(); }, false); + ui.d.addEventListener('change', function(e) { + if (self.options.beginMonth || self.options.endMonth) { //仅提供了beginDate时,触发day,hours,minutes的change + self._createHours(); + } + }, false); + ui.h.addEventListener('change', function(e) { + if (self.options.beginMonth || self.options.endMonth) { + self._createMinutes(); + } + }, false); ui.mask[0].addEventListener('tap', function() { self.hide(); }, false); self._create(options); //防止滚动穿透 - self.ui.picker.addEventListener('touchstart',function(event){ - event.preventDefault(); - },false); - self.ui.picker.addEventListener('touchmove',function(event){ - event.preventDefault(); - },false); + self.ui.picker.addEventListener($.EVENT_START, function(event) { + event.preventDefault(); + }, false); + self.ui.picker.addEventListener($.EVENT_MOVE, function(event) { + event.preventDefault(); + }, false); }, getSelected: function() { var self = this; @@ -162,11 +176,16 @@ var self = this; var ui = self.ui; var parsedValue = self._parseValue(value); - ui.y.picker.setSelectedValue(parsedValue.y, 0); - ui.m.picker.setSelectedValue(parsedValue.m, 0); - ui.d.picker.setSelectedValue(parsedValue.d, 0); - ui.h.picker.setSelectedValue(parsedValue.h, 0); - ui.i.picker.setSelectedValue(parsedValue.i, 0); + //TODO 嵌套过多,因为picker的change时间是异步(考虑到性能)的,所以为了保证change之后再setSelected,目前使用回调处理 + ui.y.picker.setSelectedValue(parsedValue.y, 0, function() { + ui.m.picker.setSelectedValue(parsedValue.m, 0, function() { + ui.d.picker.setSelectedValue(parsedValue.d, 0, function() { + ui.h.picker.setSelectedValue(parsedValue.h, 0, function() { + ui.i.picker.setSelectedValue(parsedValue.i, 0); + }); + }); + }); + }); }, isLeapYear: function(year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); @@ -197,6 +216,30 @@ } return num; }, + _isBeginYear: function() { + return this.options.beginYear === parseInt(this.ui.y.picker.getSelectedValue()); + }, + _isBeginMonth: function() { + return this.options.beginMonth && this._isBeginYear() && this.options.beginMonth === parseInt(this.ui.m.picker.getSelectedValue()); + }, + _isBeginDay: function() { + return this._isBeginMonth() && this.options.beginDay === parseInt(this.ui.d.picker.getSelectedValue()); + }, + _isBeginHours: function() { + return this._isBeginDay() && this.options.beginHours === parseInt(this.ui.h.picker.getSelectedValue()); + }, + _isEndYear: function() { + return this.options.endYear === parseInt(this.ui.y.picker.getSelectedValue()); + }, + _isEndMonth: function() { + return this.options.endMonth && this._isEndYear() && this.options.endMonth === parseInt(this.ui.m.picker.getSelectedValue()); + }, + _isEndDay: function() { + return this._isEndMonth() && this.options.endDay === parseInt(this.ui.d.picker.getSelectedValue()); + }, + _isEndHours: function() { + return this._isEndDay() && this.options.endHours === parseInt(this.ui.h.picker.getSelectedValue()); + }, _createYear: function(current) { var self = this; var options = self.options; @@ -222,12 +265,15 @@ var self = this; var options = self.options; var ui = self.ui; + //生成月列表 var mArray = []; if (options.customData.m) { mArray = options.customData.m; } else { - for (var m = 1; m <= 12; m++) { + var m = options.beginMonth && self._isBeginYear() ? options.beginMonth : 1; + var maxMonth = options.endMonth && self._isEndYear() ? options.endMonth : 12; + for (; m <= maxMonth; m++) { var val = self._fill(m); mArray.push({ text: val, @@ -242,13 +288,15 @@ var self = this; var options = self.options; var ui = self.ui; + //生成日列表 var dArray = []; if (options.customData.d) { dArray = options.customData.d; } else { - var maxDay = self.getDayNum(parseInt(ui.y.picker.getSelectedValue()), parseInt(ui.m.picker.getSelectedValue())); - for (var d = 1; d <= maxDay; d++) { + var d = self._isBeginMonth() ? options.beginDay : 1; + var maxDay = self._isEndMonth() ? options.endDay : self.getDayNum(parseInt(this.ui.y.picker.getSelectedValue()), parseInt(this.ui.m.picker.getSelectedValue())); + for (; d <= maxDay; d++) { var val = self._fill(d); dArray.push({ text: val, @@ -269,7 +317,9 @@ if (options.customData.h) { hArray = options.customData.h; } else { - for (var h = 0; h <= 23; h++) { + var h = self._isBeginDay() ? options.beginHours : 0; + var maxHours = self._isEndDay() ? options.endHours : 23; + for (; h <= maxHours; h++) { var val = self._fill(h); hArray.push({ text: val, @@ -284,12 +334,15 @@ var self = this; var options = self.options; var ui = self.ui; + //生成分列表 var iArray = []; if (options.customData.i) { iArray = options.customData.i; } else { - for (var i = 0; i <= 59; i++) { + var i = self._isBeginHours() ? options.beginMinutes : 0; + var maxMinutes = self._isEndHours() ? options.endMinutes : 59; + for (; i <= maxMinutes; i++) { var val = self._fill(i); iArray.push({ text: val, @@ -344,6 +397,22 @@ options.customData = options.customData || {}; self.options = options; var now = new Date(); + var beginDate = options.beginDate; + if (beginDate instanceof Date && !isNaN(beginDate.valueOf())) { //设定了开始日期 + options.beginYear = beginDate.getFullYear(); + options.beginMonth = beginDate.getMonth() + 1; + options.beginDay = beginDate.getDate(); + options.beginHours = beginDate.getHours(); + options.beginMinutes = beginDate.getMinutes(); + } + var endDate = options.endDate; + if (endDate instanceof Date && !isNaN(endDate.valueOf())) { //设定了结束日期 + options.endYear = endDate.getFullYear(); + options.endMonth = endDate.getMonth() + 1; + options.endDay = endDate.getDate(); + options.endHours = endDate.getHours(); + options.endMinutes = endDate.getMinutes(); + } options.beginYear = options.beginYear || (now.getFullYear() - 5); options.endYear = options.endYear || (now.getFullYear() + 5); var ui = self.ui; @@ -383,7 +452,7 @@ ui.mask.close(); document.body.classList.remove($.className('dtpicker-active-for-page')); //处理物理返回键 - $.back=self.__back; + $.back = self.__back; }, dispose: function() { var self = this; diff --git a/examples/hello-mui/js/mui.imageViewer.js b/examples/hello-mui/js/mui.imageViewer.js index 70c6d579..6adcdf84 100644 --- a/examples/hello-mui/js/mui.imageViewer.js +++ b/examples/hello-mui/js/mui.imageViewer.js @@ -107,7 +107,7 @@ self.next(); }, false); //处理划动 - self.mask.addEventListener('touchmove', function(event) { + self.mask.addEventListener($.EVENT_MOVE, function(event) { event.preventDefault(); event.cancelBubble = true; }, false); @@ -122,7 +122,7 @@ event.cancelBubble = true; }, false); //处理缩放开始 - self.viewer.addEventListener('touchstart', function(event) { + self.viewer.addEventListener($.EVENT_START, function(event) { var touches = event.touches; if (touches.length == 2) { var p1 = touches[0]; @@ -135,7 +135,7 @@ self.dragStart = touches[0]; } }, false); - self.viewer.addEventListener('touchmove', function(event) { + self.viewer.addEventListener($.EVENT_MOVE, function(event) { var img = self.currentItem.querySelector('img'); var touches = event.changedTouches; if (touches.length == 2) { @@ -160,7 +160,7 @@ //img.style.transform = "translate(" + self._dragX + "px," + self._dragY + "px) " + " scale(" + self.scaleValue || 1 + "," + self.scaleValue || 1 + ")"; } }, false); - self.viewer.addEventListener('touchend', function() { + self.viewer.addEventListener($.EVENT_END, function() { self.scaleValue = self._scaleValue || self.scaleValue; self._scaleValue = null; self.dragX = self._dragX; diff --git a/examples/hello-mui/js/mui.indexedlist.js b/examples/hello-mui/js/mui.indexedlist.js index 0e734903..de2f9d46 100644 --- a/examples/hello-mui/js/mui.indexedlist.js +++ b/examples/hello-mui/js/mui.indexedlist.js @@ -98,16 +98,16 @@ pointElement = null; } }; - self.el.bar.addEventListener('touchmove', function(event) { + self.el.bar.addEventListener($.EVENT_MOVE, function(event) { findStart(event); }, false); - self.el.bar.addEventListener('touchstart', function(event) { + self.el.bar.addEventListener($.EVENT_START, function(event) { findStart(event); }, false); - document.body.addEventListener('touchend', function(event) { + document.body.addEventListener($.EVENT_END, function(event) { findEnd(event); }, false); - document.body.addEventListener('touchcancel', function(event) { + document.body.addEventListener($.EVENT_CANCEL, function(event) { findEnd(event); }, false); }, diff --git a/examples/hello-mui/js/mui.js b/examples/hello-mui/js/mui.js deleted file mode 100644 index 88929da3..00000000 --- a/examples/hello-mui/js/mui.js +++ /dev/null @@ -1,7729 +0,0 @@ -/*! - * ===================================================== - * Mui v2.9.0 (http://dev.dcloud.net.cn/mui) - * ===================================================== - */ -/** - * MUI核心JS - * @type _L4.$|Function - */ -var mui = (function(document, undefined) { - var readyRE = /complete|loaded|interactive/; - var idSelectorRE = /^#([\w-]+)$/; - var classSelectorRE = /^\.([\w-]+)$/; - var tagSelectorRE = /^[\w-]+$/; - var translateRE = /translate(?:3d)?\((.+?)\)/; - var translateMatrixRE = /matrix(3d)?\((.+?)\)/; - - var $ = function(selector, context) { - context = context || document; - if (!selector) - return wrap(); - if (typeof selector === 'object') - if ($.isArrayLike(selector)) { - return wrap($.slice.call(selector), null); - } else { - return wrap([selector], null); - } - if (typeof selector === 'function') - return $.ready(selector); - if (typeof selector === 'string') { - try { - selector = selector.trim(); - if (idSelectorRE.test(selector)) { - var found = document.getElementById(RegExp.$1); - return wrap(found ? [found] : []); - } - return wrap($.qsa(selector, context), selector); - } catch (e) {} - } - return wrap(); - }; - - var wrap = function(dom, selector) { - dom = dom || []; - Object.setPrototypeOf(dom, $.fn); - dom.selector = selector || ''; - return dom; - }; - - $.uuid = 0; - - $.data = {}; - /** - * extend(simple) - * @param {type} target - * @param {type} source - * @param {type} deep - * @returns {unresolved} - */ - $.extend = function() { //from jquery2 - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - if (typeof target === "boolean") { - deep = target; - - target = arguments[i] || {}; - i++; - } - - if (typeof target !== "object" && !$.isFunction(target)) { - target = {}; - } - - if (i === length) { - target = this; - i--; - } - - for (; i < length; i++) { - if ((options = arguments[i]) != null) { - for (name in options) { - src = target[name]; - copy = options[name]; - - if (target === copy) { - continue; - } - - if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) { - if (copyIsArray) { - copyIsArray = false; - clone = src && $.isArray(src) ? src : []; - - } else { - clone = src && $.isPlainObject(src) ? src : {}; - } - - target[name] = $.extend(deep, clone, copy); - - } else if (copy !== undefined) { - target[name] = copy; - } - } - } - } - - return target; - }; - /** - * mui noop(function) - */ - $.noop = function() {}; - /** - * mui slice(array) - */ - $.slice = [].slice; - /** - * mui filter(array) - */ - $.filter = [].filter; - - $.type = function(obj) { - return obj == null ? String(obj) : class2type[{}.toString.call(obj)] || "object"; - }; - /** - * mui isArray - */ - $.isArray = Array.isArray || - function(object) { - return object instanceof Array; - }; - /** - * mui isArrayLike - * @param {Object} obj - */ - $.isArrayLike = function(obj) { - var length = !!obj && "length" in obj && obj.length; - var type = $.type(obj); - if (type === "function" || $.isWindow(obj)) { - return false; - } - return type === "array" || length === 0 || - typeof length === "number" && length > 0 && (length - 1) in obj; - }; - /** - * mui isWindow(需考虑obj为undefined的情况) - */ - $.isWindow = function(obj) { - return obj != null && obj === obj.window; - }; - /** - * mui isObject - */ - $.isObject = function(obj) { - return $.type(obj) === "object"; - }; - /** - * mui isPlainObject - */ - $.isPlainObject = function(obj) { - return $.isObject(obj) && !$.isWindow(obj) && Object.getPrototypeOf(obj) === Object.prototype; - }; - /** - * mui isEmptyObject - * @param {Object} o - */ - $.isEmptyObject = function(o) { - for (var p in o) { - if (p !== undefined) { - return false; - } - } - return true; - }; - /** - * mui isFunction - */ - $.isFunction = function(value) { - return $.type(value) === "function"; - }; - /** - * mui querySelectorAll - * @param {type} selector - * @param {type} context - * @returns {Array} - */ - $.qsa = function(selector, context) { - context = context || document; - return $.slice.call(classSelectorRE.test(selector) ? context.getElementsByClassName(RegExp.$1) : tagSelectorRE.test(selector) ? context.getElementsByTagName(selector) : context.querySelectorAll(selector)); - }; - /** - * ready(DOMContentLoaded) - * @param {type} callback - * @returns {_L6.$} - */ - $.ready = function(callback) { - if (readyRE.test(document.readyState)) { - callback($); - } else { - document.addEventListener('DOMContentLoaded', function() { - callback($); - }, false); - } - return this; - }; - /** - * each - * @param {type} elements - * @param {type} callback - * @returns {_L8.$} - */ - $.each = function(elements, callback, hasOwnProperty) { - if (!elements) { - return this; - } - if (typeof elements.length === 'number') { - [].every.call(elements, function(el, idx) { - return callback.call(el, idx, el) !== false; - }); - } else { - for (var key in elements) { - if (hasOwnProperty) { - if (elements.hasOwnProperty(key)) { - if (callback.call(elements[key], key, elements[key]) === false) return elements; - } - } else { - if (callback.call(elements[key], key, elements[key]) === false) return elements; - } - } - } - return this; - }; - $.focus = function(element) { - if ($.os.ios) { - setTimeout(function() { - element.focus(); - }, 10); - } else { - element.focus(); - } - }; - /** - * trigger event - * @param {type} element - * @param {type} eventType - * @param {type} eventData - * @returns {_L8.$} - */ - $.trigger = function(element, eventType, eventData) { - element.dispatchEvent(new CustomEvent(eventType, { - detail: eventData, - bubbles: true, - cancelable: true - })); - return this; - }; - /** - * getStyles - * @param {type} element - * @param {type} property - * @returns {styles} - */ - $.getStyles = function(element, property) { - var styles = element.ownerDocument.defaultView.getComputedStyle(element, null); - if (property) { - return styles.getPropertyValue(property) || styles[property]; - } - return styles; - }; - /** - * parseTranslate - * @param {type} translateString - * @param {type} position - * @returns {Object} - */ - $.parseTranslate = function(translateString, position) { - var result = translateString.match(translateRE || ''); - if (!result || !result[1]) { - result = ['', '0,0,0']; - } - result = result[1].split(","); - result = { - x: parseFloat(result[0]), - y: parseFloat(result[1]), - z: parseFloat(result[2]) - }; - if (position && result.hasOwnProperty(position)) { - return result[position]; - } - return result; - }; - /** - * parseTranslateMatrix - * @param {type} translateString - * @param {type} position - * @returns {Object} - */ - $.parseTranslateMatrix = function(translateString, position) { - var matrix = translateString.match(translateMatrixRE); - var is3D = matrix && matrix[1]; - if (matrix) { - matrix = matrix[2].split(","); - if (is3D === "3d") - matrix = matrix.slice(12, 15); - else { - matrix.push(0); - matrix = matrix.slice(4, 7); - } - } else { - matrix = [0, 0, 0]; - } - var result = { - x: parseFloat(matrix[0]), - y: parseFloat(matrix[1]), - z: parseFloat(matrix[2]) - }; - if (position && result.hasOwnProperty(position)) { - return result[position]; - } - return result; - }; - $.hooks = {}; - $.addAction = function(type, hook) { - var hooks = $.hooks[type]; - if (!hooks) { - hooks = []; - } - hook.index = hook.index || 1000; - hooks.push(hook); - hooks.sort(function(a, b) { - return a.index - b.index; - }); - $.hooks[type] = hooks; - return $.hooks[type]; - }; - $.doAction = function(type, callback) { - if ($.isFunction(callback)) { //指定了callback - $.each($.hooks[type], callback); - } else { //未指定callback,直接执行 - $.each($.hooks[type], function(index, hook) { - return !hook.handle(); - }); - } - }; - /** - * setTimeout封装 - * @param {Object} fn - * @param {Object} when - * @param {Object} context - * @param {Object} data - */ - $.later = function(fn, when, context, data) { - when = when || 0; - var m = fn; - var d = data; - var f; - var r; - - if (typeof fn === 'string') { - m = context[fn]; - } - - f = function() { - m.apply(context, $.isArray(d) ? d : [d]); - }; - - r = setTimeout(f, when); - - return { - id: r, - cancel: function() { - clearTimeout(r); - } - }; - }; - $.now = Date.now || function() { - return +new Date(); - }; - var class2type = {}; - $.each(['Boolean', 'Number', 'String', 'Function', 'Array', 'Date', 'RegExp', 'Object', 'Error'], function(i, name) { - class2type["[object " + name + "]"] = name.toLowerCase(); - }); - if (window.JSON) { - $.parseJSON = JSON.parse; - } - /** - * $.fn - */ - $.fn = { - each: function(callback) { - [].every.call(this, function(el, idx) { - return callback.call(el, idx, el) !== false; - }); - return this; - } - }; - - /** - * 兼容 AMD 模块 - **/ - if (typeof define === 'function' && define.amd) { - define('mui', [], function() { - return $; - }); - } - - return $; -})(document); -//window.mui = mui; -//'$' in window || (window.$ = mui); -/** - * $.os - * @param {type} $ - * @returns {undefined} - */ -(function($, window) { - function detect(ua) { - this.os = {}; - var funcs = [ - - function() { //wechat - var wechat = ua.match(/(MicroMessenger)\/([\d\.]+)/i); - if (wechat) { //wechat - this.os.wechat = { - version: wechat[2].replace(/_/g, '.') - }; - } - return false; - }, - function() { //android - var android = ua.match(/(Android);?[\s\/]+([\d.]+)?/); - if (android) { - this.os.android = true; - this.os.version = android[2]; - - this.os.isBadAndroid = !(/Chrome\/\d/.test(window.navigator.appVersion)); - } - return this.os.android === true; - }, - function() { //ios - var iphone = ua.match(/(iPhone\sOS)\s([\d_]+)/); - if (iphone) { //iphone - this.os.ios = this.os.iphone = true; - this.os.version = iphone[2].replace(/_/g, '.'); - } else { - var ipad = ua.match(/(iPad).*OS\s([\d_]+)/); - if (ipad) { //ipad - this.os.ios = this.os.ipad = true; - this.os.version = ipad[2].replace(/_/g, '.'); - } - } - return this.os.ios === true; - } - ]; - [].every.call(funcs, function(func) { - return !func.call($); - }); - } - detect.call($, navigator.userAgent); -})(mui, window); -/** - * $.os.plus - * @param {type} $ - * @returns {undefined} - */ -(function($, document) { - function detect(ua) { - this.os = this.os || {}; - var plus = ua.match(/Html5Plus/i); //TODO 5\+Browser? - if (plus) { - this.os.plus = true; - $(function() { - document.body.classList.add('mui-plus'); - }); - if (ua.match(/StreamApp/i)) { //TODO 最好有流应用自己的标识 - this.os.stream = true; - $(function() { - document.body.classList.add('mui-plus-stream'); - }); - } - } - } - detect.call($, navigator.userAgent); -})(mui, document); -/** - * 仅提供简单的on,off(仅支持事件委托,不支持当前元素绑定,当前元素绑定请直接使用addEventListener,removeEventListener) - * @param {Object} $ - */ -(function($) { - if ('ontouchstart' in window) { - $.isTouchable = true; - $.EVENT_START = 'touchstart'; - $.EVENT_MOVE = 'touchmove'; - $.EVENT_END = 'touchend'; - } else { - $.isTouchable = false; - $.EVENT_START = 'mousedown'; - $.EVENT_MOVE = 'mousemove'; - $.EVENT_END = 'mouseup'; - } - $.EVENT_CANCEL = 'touchcancel'; - $.EVENT_CLICK = 'click'; - - var _mid = 1; - var delegates = {}; - //需要wrap的函数 - var eventMethods = { - preventDefault: 'isDefaultPrevented', - stopImmediatePropagation: 'isImmediatePropagationStopped', - stopPropagation: 'isPropagationStopped' - }; - //默认true返回函数 - var returnTrue = function() { - return true - }; - //默认false返回函数 - var returnFalse = function() { - return false - }; - //wrap浏览器事件 - var compatible = function(event, target) { - if (!event.detail) { - event.detail = { - currentTarget: target - }; - } else { - event.detail.currentTarget = target; - } - $.each(eventMethods, function(name, predicate) { - var sourceMethod = event[name]; - event[name] = function() { - this[predicate] = returnTrue; - return sourceMethod && sourceMethod.apply(event, arguments) - } - event[predicate] = returnFalse; - }, true); - return event; - }; - //简单的wrap对象_mid - var mid = function(obj) { - return obj && (obj._mid || (obj._mid = _mid++)); - }; - //事件委托对象绑定的事件回调列表 - var delegateFns = {}; - //返回事件委托的wrap事件回调 - var delegateFn = function(element, event, selector, callback) { - return function(e) { - //same event - var callbackObjs = delegates[element._mid][event]; - var handlerQueue = []; - var target = e.target; - var selectorAlls = {}; - for (; target && target !== document; target = target.parentNode) { - if (target === element) { - break; - } - if (~['click', 'tap', 'doubletap', 'longtap', 'hold'].indexOf(event) && (target.disabled || target.classList.contains('mui-disabled'))) { - break; - } - var matches = {}; - $.each(callbackObjs, function(selector, callbacks) { //same selector - selectorAlls[selector] || (selectorAlls[selector] = $.qsa(selector, element)); - if (selectorAlls[selector] && ~(selectorAlls[selector]).indexOf(target)) { - if (!matches[selector]) { - matches[selector] = callbacks; - } - } - }, true); - if (!$.isEmptyObject(matches)) { - handlerQueue.push({ - element: target, - handlers: matches - }); - } - } - selectorAlls = null; - e = compatible(e); //compatible event - $.each(handlerQueue, function(index, handler) { - target = handler.element; - var tagName = target.tagName; - if (event === 'tap' && (tagName !== 'INPUT' && tagName !== 'TEXTAREA' && tagName !== 'SELECT')) { - e.preventDefault(); - e.detail && e.detail.gesture && e.detail.gesture.preventDefault(); - } - $.each(handler.handlers, function(index, handler) { - $.each(handler, function(index, callback) { - if (callback.call(target, e) === false) { - e.preventDefault(); - e.stopPropagation(); - } - }, true); - }, true) - if (e.isPropagationStopped()) { - return false; - } - }, true); - }; - }; - var findDelegateFn = function(element, event) { - var delegateCallbacks = delegateFns[mid(element)]; - var result = []; - if (delegateCallbacks) { - result = []; - if (event) { - var filterFn = function(fn) { - return fn.type === event; - } - return delegateCallbacks.filter(filterFn); - } else { - result = delegateCallbacks; - } - } - return result; - }; - var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/; - /** - * mui delegate events - * @param {type} event - * @param {type} selector - * @param {type} callback - * @returns {undefined} - */ - $.fn.on = function(event, selector, callback) { //仅支持简单的事件委托,主要是tap事件使用,类似mouse,focus之类暂不封装支持 - return this.each(function() { - var element = this; - mid(element); - mid(callback); - var isAddEventListener = false; - var delegateEvents = delegates[element._mid] || (delegates[element._mid] = {}); - var delegateCallbackObjs = delegateEvents[event] || ((delegateEvents[event] = {})); - if ($.isEmptyObject(delegateCallbackObjs)) { - isAddEventListener = true; - } - var delegateCallbacks = delegateCallbackObjs[selector] || (delegateCallbackObjs[selector] = []); - delegateCallbacks.push(callback); - if (isAddEventListener) { - var delegateFnArray = delegateFns[mid(element)]; - if (!delegateFnArray) { - delegateFnArray = []; - } - var delegateCallback = delegateFn(element, event, selector, callback); - delegateFnArray.push(delegateCallback); - delegateCallback.i = delegateFnArray.length - 1; - delegateCallback.type = event; - delegateFns[mid(element)] = delegateFnArray; - element.addEventListener(event, delegateCallback); - if (event === 'tap') { //TODO 需要找个更好的解决方案 - element.addEventListener('click', function(e) { - if (e.target) { - var tagName = e.target.tagName; - if (!preventDefaultException.test(tagName)) { - if (tagName === 'A') { - var href = e.target.href; - if (!(href && ~href.indexOf('tel:'))) { - e.preventDefault(); - } - } else { - e.preventDefault(); - } - } - } - }); - } - } - }); - }; - $.fn.off = function(event, selector, callback) { - return this.each(function() { - var _mid = mid(this); - if (!event) { //mui(selector).off(); - delegates[_mid] && delete delegates[_mid]; - } else if (!selector) { //mui(selector).off(event); - delegates[_mid] && delete delegates[_mid][event]; - } else if (!callback) { //mui(selector).off(event,selector); - delegates[_mid] && delegates[_mid][event] && delete delegates[_mid][event][selector]; - } else { //mui(selector).off(event,selector,callback); - var delegateCallbacks = delegates[_mid] && delegates[_mid][event] && delegates[_mid][event][selector]; - $.each(delegateCallbacks, function(index, delegateCallback) { - if (mid(delegateCallback) === mid(callback)) { - delegateCallbacks.splice(index, 1); - return false; - } - }, true); - } - if (delegates[_mid]) { - //如果off掉了所有当前element的指定的event事件,则remove掉当前element的delegate回调 - if ((!delegates[_mid][event] || $.isEmptyObject(delegates[_mid][event]))) { - findDelegateFn(this, event).forEach(function(fn) { - this.removeEventListener(fn.type, fn); - delete delegateFns[_mid][fn.i]; - }.bind(this)); - } - } else { - //如果delegates[_mid]已不存在,删除所有 - findDelegateFn(this).forEach(function(fn) { - this.removeEventListener(fn.type, fn); - delete delegateFns[_mid][fn.i]; - }.bind(this)); - } - }); - - }; -})(mui); -/** - * mui target(action>popover>modal>tab>toggle) - */ -(function($, window, document) { - /** - * targets - */ - $.targets = {}; - /** - * target handles - */ - $.targetHandles = []; - /** - * register target - * @param {type} target - * @returns {$.targets} - */ - $.registerTarget = function(target) { - - target.index = target.index || 1000; - - $.targetHandles.push(target); - - $.targetHandles.sort(function(a, b) { - return a.index - b.index; - }); - - return $.targetHandles; - }; - window.addEventListener($.EVENT_START, function(event) { - var target = event.target; - var founds = {}; - for (; target && target !== document; target = target.parentNode) { - var isFound = false; - $.each($.targetHandles, function(index, targetHandle) { - var name = targetHandle.name; - if (!isFound && !founds[name] && targetHandle.hasOwnProperty('handle')) { - $.targets[name] = targetHandle.handle(event, target); - if ($.targets[name]) { - founds[name] = true; - if (targetHandle.isContinue !== true) { - isFound = true; - } - } - } else { - if (!founds[name]) { - if (targetHandle.isReset !== false) - $.targets[name] = false; - } - } - }); - if (isFound) { - break; - } - } - }); - window.addEventListener('click', function(event) { //解决touch与click的target不一致的问题(比如链接边缘点击时,touch的target为html,而click的target为A) - var target = event.target; - var isFound = false; - for (; target && target !== document; target = target.parentNode) { - if (target.tagName === 'A') { - $.each($.targetHandles, function(index, targetHandle) { - var name = targetHandle.name; - if (targetHandle.hasOwnProperty('handle')) { - if (targetHandle.handle(event, target)) { - isFound = true; - event.preventDefault(); - return false; - } - } - }); - if (isFound) { - break; - } - } - } - }); -})(mui, window, document); -/** - * fixed trim - * @param {type} undefined - * @returns {undefined} - */ -(function(undefined) { - if (String.prototype.trim === undefined) { // fix for iOS 3.2 - String.prototype.trim = function() { - return this.replace(/^\s+|\s+$/g, ''); - }; - } - Object.setPrototypeOf = Object.setPrototypeOf || function(obj, proto) { - obj['__proto__'] = proto; - return obj; - }; - -})(); -/** - * fixed CustomEvent - */ -(function() { - if (typeof window.CustomEvent === 'undefined') { - function CustomEvent(event, params) { - params = params || { - bubbles: false, - cancelable: false, - detail: undefined - }; - var evt = document.createEvent('Events'); - var bubbles = true; - for (var name in params) { - (name === 'bubbles') ? (bubbles = !!params[name]) : (evt[name] = params[name]); - } - evt.initEvent(event, bubbles, true); - return evt; - }; - CustomEvent.prototype = window.Event.prototype; - window.CustomEvent = CustomEvent; - } -})(); -/* - A shim for non ES5 supporting browsers. - Adds function bind to Function prototype, so that you can do partial application. - Works even with the nasty thing, where the first word is the opposite of extranet, the second one is the profession of Columbus, and the version number is 9, flipped 180 degrees. -*/ - -Function.prototype.bind = Function.prototype.bind || function(to) { - // Make an array of our arguments, starting from second argument - var partial = Array.prototype.splice.call(arguments, 1), - // We'll need the original function. - fn = this; - var bound = function() { - // Join the already applied arguments to the now called ones (after converting to an array again). - var args = partial.concat(Array.prototype.splice.call(arguments, 0)); - // If not being called as a constructor - if (!(this instanceof bound)) { - // return the result of the function called bound to target and partially applied. - return fn.apply(to, args); - } - // If being called as a constructor, apply the function bound to self. - fn.apply(this, args); - } - // Attach the prototype of the function to our newly created function. - bound.prototype = fn.prototype; - return bound; -}; -/** - * mui fixed classList - * @param {type} document - * @returns {undefined} - */ -(function(document) { - if (!("classList" in document.documentElement) && Object.defineProperty && typeof HTMLElement !== 'undefined') { - - Object.defineProperty(HTMLElement.prototype, 'classList', { - get: function() { - var self = this; - function update(fn) { - return function(value) { - var classes = self.className.split(/\s+/), - index = classes.indexOf(value); - - fn(classes, index, value); - self.className = classes.join(" "); - }; - } - - var ret = { - add: update(function(classes, index, value) { - ~index || classes.push(value); - }), - remove: update(function(classes, index) { - ~index && classes.splice(index, 1); - }), - toggle: update(function(classes, index, value) { - ~index ? classes.splice(index, 1) : classes.push(value); - }), - contains: function(value) { - return !!~self.className.split(/\s+/).indexOf(value); - }, - item: function(i) { - return self.className.split(/\s+/)[i] || null; - } - }; - - Object.defineProperty(ret, 'length', { - get: function() { - return self.className.split(/\s+/).length; - } - }); - - return ret; - } - }); - } -})(document); - -/** - * mui fixed requestAnimationFrame - * @param {type} window - * @returns {undefined} - */ -(function(window) { - if (!window.requestAnimationFrame) { - var lastTime = 0; - window.requestAnimationFrame = window.webkitRequestAnimationFrame || function(callback, element) { - var currTime = new Date().getTime(); - var timeToCall = Math.max(0, 16.7 - (currTime - lastTime)); - var id = window.setTimeout(function() { - callback(currTime + timeToCall); - }, timeToCall); - lastTime = currTime + timeToCall; - return id; - }; - window.cancelAnimationFrame = window.webkitCancelAnimationFrame || window.webkitCancelRequestAnimationFrame || function(id) { - clearTimeout(id); - }; - }; -}(window)); -/** - * fastclick(only for radio,checkbox) - */ -(function($, window, name) { - if (!$.os.android && !$.os.ios) { //目前仅识别android和ios - return; - } - if (window.FastClick) { - return; - } - - var handle = function(event, target) { - if (target.tagName === 'LABEL') { - if (target.parentNode) { - target = target.parentNode.querySelector('input'); - } - } - if (target && (target.type === 'radio' || target.type === 'checkbox')) { - if (!target.disabled) { //disabled - return target; - } - } - return false; - }; - - $.registerTarget({ - name: name, - index: 40, - handle: handle, - target: false - }); - var dispatchEvent = function(event) { - var targetElement = $.targets.click; - if (targetElement) { - var clickEvent, touch; - // On some Android devices activeElement needs to be blurred otherwise the synthetic click will have no effect - if (document.activeElement && document.activeElement !== targetElement) { - document.activeElement.blur(); - } - touch = event.detail.gesture.changedTouches[0]; - // Synthesise a click event, with an extra attribute so it can be tracked - clickEvent = document.createEvent('MouseEvents'); - clickEvent.initMouseEvent('click', true, true, window, 1, touch.screenX, touch.screenY, touch.clientX, touch.clientY, false, false, false, false, 0, null); - clickEvent.forwardedTouchEvent = true; - targetElement.dispatchEvent(clickEvent); - event.detail && event.detail.gesture.preventDefault(); - } - }; - window.addEventListener('tap', dispatchEvent); - window.addEventListener('doubletap', dispatchEvent); - //捕获 - window.addEventListener('click', function(event) { - if ($.targets.click) { - if (!event.forwardedTouchEvent) { //stop click - if (event.stopImmediatePropagation) { - event.stopImmediatePropagation(); - } else { - // Part of the hack for browsers that don't support Event#stopImmediatePropagation - event.propagationStopped = true; - } - event.stopPropagation(); - event.preventDefault(); - return false; - } - } - }, true); - -})(mui, window, 'click'); -(function($, document) { - $(function() { - if (!$.os.ios) { - return; - } - var CLASS_FOCUSIN = 'mui-focusin'; - var CLASS_BAR_TAB = 'mui-bar-tab'; - var CLASS_BAR_FOOTER = 'mui-bar-footer'; - var CLASS_BAR_FOOTER_SECONDARY = 'mui-bar-footer-secondary'; - var CLASS_BAR_FOOTER_SECONDARY_TAB = 'mui-bar-footer-secondary-tab'; - // var content = document.querySelector('.' + CLASS_CONTENT); - // if (content) { - // document.body.insertBefore(content, document.body.firstElementChild); - // } - document.addEventListener('focusin', function(e) { - if ($.os.plus) { //在父webview里边不fix - if (window.plus) { - if (plus.webview.currentWebview().children().length > 0) { - return; - } - } - } - var target = e.target; - //TODO 需考虑所有键盘弹起的情况 - if (target.tagName && (target.tagName === 'TEXTAREA' || (target.tagName === 'INPUT' && (target.type === 'text' || target.type === 'search' || target.type === 'number')))) { - if (target.disabled || target.readOnly) { - return; - } - document.body.classList.add(CLASS_FOCUSIN); - var isFooter = false; - for (; target && target !== document; target = target.parentNode) { - var classList = target.classList; - if (classList && classList.contains(CLASS_BAR_TAB) || classList.contains(CLASS_BAR_FOOTER) || classList.contains(CLASS_BAR_FOOTER_SECONDARY) || classList.contains(CLASS_BAR_FOOTER_SECONDARY_TAB)) { - isFooter = true; - break; - } - } - if (isFooter) { - var scrollTop = document.body.scrollHeight; - var scrollLeft = document.body.scrollLeft; - setTimeout(function() { - window.scrollTo(scrollLeft, scrollTop); - }, 20); - } - } - }); - document.addEventListener('focusout', function(e) { - var classList = document.body.classList; - if (classList.contains(CLASS_FOCUSIN)) { - classList.remove(CLASS_FOCUSIN); - setTimeout(function() { - window.scrollTo(document.body.scrollLeft, document.body.scrollTop); - }, 20); - } - }); - }); -})(mui, document); -/** - * mui namespace(optimization) - * @param {type} $ - * @returns {undefined} - */ -(function($) { - $.namespace = 'mui'; - $.classNamePrefix = $.namespace + '-'; - $.classSelectorPrefix = '.' + $.classNamePrefix; - /** - * 返回正确的className - * @param {type} className - * @returns {String} - */ - $.className = function(className) { - return $.classNamePrefix + className; - }; - /** - * 返回正确的classSelector - * @param {type} classSelector - * @returns {String} - */ - $.classSelector = function(classSelector) { - return classSelector.replace(/\./g, $.classSelectorPrefix); - }; - /** - * 返回正确的eventName - * @param {type} event - * @param {type} module - * @returns {String} - */ - $.eventName = function(event, module) { - return event + ($.namespace ? ('.' + $.namespace) : '') + ( module ? ('.' + module) : ''); - }; -})(mui); - -/** - * mui gestures - * @param {type} $ - * @param {type} window - * @returns {undefined} - */ -(function($, window) { - $.gestures = { - session: {} - }; - /** - * Gesture preventDefault - * @param {type} e - * @returns {undefined} - */ - $.preventDefault = function(e) { - e.preventDefault(); - }; - /** - * Gesture stopPropagation - * @param {type} e - * @returns {undefined} - */ - $.stopPropagation = function(e) { - e.stopPropagation(); - }; - - /** - * register gesture - * @param {type} gesture - * @returns {$.gestures} - */ - $.addGesture = function(gesture) { - return $.addAction('gestures', gesture); - - }; - - var round = Math.round; - var abs = Math.abs; - var sqrt = Math.sqrt; - var atan = Math.atan; - var atan2 = Math.atan2; - /** - * distance - * @param {type} p1 - * @param {type} p2 - * @returns {Number} - */ - var getDistance = function(p1, p2, props) { - if (!props) { - props = ['x', 'y']; - } - var x = p2[props[0]] - p1[props[0]]; - var y = p2[props[1]] - p1[props[1]]; - return sqrt((x * x) + (y * y)); - }; - /** - * scale - * @param {Object} starts - * @param {Object} moves - */ - var getScale = function(starts, moves) { - if (starts.length >= 2 && moves.length >= 2) { - var props = ['pageX', 'pageY']; - return getDistance(moves[1], moves[0], props) / getDistance(starts[1], starts[0], props); - } - return 1; - }; - /** - * angle - * @param {type} p1 - * @param {type} p2 - * @returns {Number} - */ - var getAngle = function(p1, p2, props) { - if (!props) { - props = ['x', 'y']; - } - var x = p2[props[0]] - p1[props[0]]; - var y = p2[props[1]] - p1[props[1]]; - return atan2(y, x) * 180 / Math.PI; - }; - /** - * direction - * @param {Object} x - * @param {Object} y - */ - var getDirection = function(x, y) { - if (x === y) { - return ''; - } - if (abs(x) >= abs(y)) { - return x > 0 ? 'left' : 'right'; - } - return y > 0 ? 'up' : 'down'; - }; - /** - * rotation - * @param {Object} start - * @param {Object} end - */ - var getRotation = function(start, end) { - var props = ['pageX', 'pageY']; - return getAngle(end[1], end[0], props) - getAngle(start[1], start[0], props); - }; - /** - * px per ms - * @param {Object} deltaTime - * @param {Object} x - * @param {Object} y - */ - var getVelocity = function(deltaTime, x, y) { - return { - x: x / deltaTime || 0, - y: y / deltaTime || 0 - }; - }; - /** - * detect gestures - * @param {type} event - * @param {type} touch - * @returns {undefined} - */ - var detect = function(event, touch) { - if ($.gestures.stoped) { - return; - } - $.doAction('gestures', function(index, gesture) { - if (!$.gestures.stoped) { - if ($.options.gestureConfig[gesture.name] !== false) { - gesture.handle(event, touch); - } - } - }); - }; - /** - * 暂时无用 - * @param {Object} node - * @param {Object} parent - */ - var hasParent = function(node, parent) { - while (node) { - if (node == parent) { - return true; - } - node = node.parentNode; - } - return false; - }; - - var uniqueArray = function(src, key, sort) { - var results = []; - var values = []; - var i = 0; - - while (i < src.length) { - var val = key ? src[i][key] : src[i]; - if (values.indexOf(val) < 0) { - results.push(src[i]); - } - values[i] = val; - i++; - } - - if (sort) { - if (!key) { - results = results.sort(); - } else { - results = results.sort(function sortUniqueArray(a, b) { - return a[key] > b[key]; - }); - } - } - - return results; - }; - var getMultiCenter = function(touches) { - var touchesLength = touches.length; - if (touchesLength === 1) { - return { - x: round(touches[0].pageX), - y: round(touches[0].pageY) - }; - } - - var x = 0; - var y = 0; - var i = 0; - while (i < touchesLength) { - x += touches[i].pageX; - y += touches[i].pageY; - i++; - } - - return { - x: round(x / touchesLength), - y: round(y / touchesLength) - }; - }; - var multiTouch = function() { - return $.options.gestureConfig.pinch; - }; - var copySimpleTouchData = function(touch) { - var touches = []; - var i = 0; - while (i < touch.touches.length) { - touches[i] = { - pageX: round(touch.touches[i].pageX), - pageY: round(touch.touches[i].pageY) - }; - i++; - } - return { - timestamp: $.now(), - gesture: touch.gesture, - touches: touches, - center: getMultiCenter(touch.touches), - deltaX: touch.deltaX, - deltaY: touch.deltaY - }; - }; - - var calDelta = function(touch) { - var session = $.gestures.session; - var center = touch.center; - var offset = session.offsetDelta || {}; - var prevDelta = session.prevDelta || {}; - var prevTouch = session.prevTouch || {}; - - if (touch.gesture.type === $.EVENT_START || touch.gesture.type === $.EVENT_END) { - prevDelta = session.prevDelta = { - x: prevTouch.deltaX || 0, - y: prevTouch.deltaY || 0 - }; - - offset = session.offsetDelta = { - x: center.x, - y: center.y - }; - } - touch.deltaX = prevDelta.x + (center.x - offset.x); - touch.deltaY = prevDelta.y + (center.y - offset.y); - }; - var calTouchData = function(touch) { - var session = $.gestures.session; - var touches = touch.touches; - var touchesLength = touches.length; - - if (!session.firstTouch) { - session.firstTouch = copySimpleTouchData(touch); - } - - if (multiTouch() && touchesLength > 1 && !session.firstMultiTouch) { - session.firstMultiTouch = copySimpleTouchData(touch); - } else if (touchesLength === 1) { - session.firstMultiTouch = false; - } - - var firstTouch = session.firstTouch; - var firstMultiTouch = session.firstMultiTouch; - var offsetCenter = firstMultiTouch ? firstMultiTouch.center : firstTouch.center; - - var center = touch.center = getMultiCenter(touches); - touch.timestamp = $.now(); - touch.deltaTime = touch.timestamp - firstTouch.timestamp; - - touch.angle = getAngle(offsetCenter, center); - touch.distance = getDistance(offsetCenter, center); - - calDelta(touch); - - touch.offsetDirection = getDirection(touch.deltaX, touch.deltaY); - - touch.scale = firstMultiTouch ? getScale(firstMultiTouch.touches, touches) : 1; - touch.rotation = firstMultiTouch ? getRotation(firstMultiTouch.touches, touches) : 0; - - calIntervalTouchData(touch); - - }; - var CAL_INTERVAL = 25; - var calIntervalTouchData = function(touch) { - var session = $.gestures.session; - var last = session.lastInterval || touch; - var deltaTime = touch.timestamp - last.timestamp; - var velocity; - var velocityX; - var velocityY; - var direction; - - if (touch.gesture.type != $.EVENT_CANCEL && (deltaTime > CAL_INTERVAL || last.velocity === undefined)) { - var deltaX = last.deltaX - touch.deltaX; - var deltaY = last.deltaY - touch.deltaY; - - var v = getVelocity(deltaTime, deltaX, deltaY); - velocityX = v.x; - velocityY = v.y; - velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y; - direction = getDirection(deltaX, deltaY) || last.direction; - - session.lastInterval = touch; - } else { - velocity = last.velocity; - velocityX = last.velocityX; - velocityY = last.velocityY; - direction = last.direction; - } - - touch.velocity = velocity; - touch.velocityX = velocityX; - touch.velocityY = velocityY; - touch.direction = direction; - }; - var targetIds = {}; - var convertTouches = function(touches) { - for (var i = 0; i < touches.length; i++) { - !touches['identifier'] && (touches['identifier'] = 0); - } - return touches; - }; - var getTouches = function(event, touch) { - var allTouches = convertTouches($.slice.call(event.touches || [event])); - - var type = event.type; - - var targetTouches = []; - var changedTargetTouches = []; - - //当touchstart或touchmove且touches长度为1,直接获得all和changed - if ((type === $.EVENT_START || type === $.EVENT_MOVE) && allTouches.length === 1) { - targetIds[allTouches[0].identifier] = true; - targetTouches = allTouches; - changedTargetTouches = allTouches; - touch.target = event.target; - } else { - var i = 0; - var targetTouches = []; - var changedTargetTouches = []; - var changedTouches = convertTouches($.slice.call(event.changedTouches || [event])); - - touch.target = event.target; - var sessionTarget = $.gestures.session.target || event.target; - targetTouches = allTouches.filter(function(touch) { - return hasParent(touch.target, sessionTarget); - }); - - if (type === $.EVENT_START) { - i = 0; - while (i < targetTouches.length) { - targetIds[targetTouches[i].identifier] = true; - i++; - } - } - - i = 0; - while (i < changedTouches.length) { - if (targetIds[changedTouches[i].identifier]) { - changedTargetTouches.push(changedTouches[i]); - } - if (type === $.EVENT_END || type === $.EVENT_CANCEL) { - delete targetIds[changedTouches[i].identifier]; - } - i++; - } - - if (!changedTargetTouches.length) { - return false; - } - } - targetTouches = uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true); - var touchesLength = targetTouches.length; - var changedTouchesLength = changedTargetTouches.length; - if (type === $.EVENT_START && touchesLength - changedTouchesLength === 0) { //first - touch.isFirst = true; - $.gestures.touch = $.gestures.session = { - target: event.target - }; - } - touch.isFinal = ((type === $.EVENT_END || type === $.EVENT_CANCEL) && (touchesLength - changedTouchesLength === 0)); - - touch.touches = targetTouches; - touch.changedTouches = changedTargetTouches; - return true; - - }; - var handleTouchEvent = function(event) { - var touch = { - gesture: event - }; - var touches = getTouches(event, touch); - if (!touches) { - return; - } - calTouchData(touch); - detect(event, touch); - $.gestures.session.prevTouch = touch; - if (event.type === $.EVENT_END && !$.isTouchable) { - $.gestures.touch = $.gestures.session = {}; - } - }; - window.addEventListener($.EVENT_START, handleTouchEvent); - window.addEventListener($.EVENT_MOVE, handleTouchEvent); - window.addEventListener($.EVENT_END, handleTouchEvent); - window.addEventListener($.EVENT_CANCEL, handleTouchEvent); - //fixed hashchange(android) - window.addEventListener($.EVENT_CLICK, function(e) { - //TODO 应该判断当前target是不是在targets.popover内部,而不是非要相等 - if (($.os.android || $.os.ios) && (($.targets.popover && e.target === $.targets.popover) || ($.targets.tab) || $.targets.offcanvas || $.targets.modal)) { - e.preventDefault(); - } - }, true); - - - //增加原生滚动识别 - $.isScrolling = false; - var scrollingTimeout = null; - window.addEventListener('scroll', function() { - $.isScrolling = true; - scrollingTimeout && clearTimeout(scrollingTimeout); - scrollingTimeout = setTimeout(function() { - $.isScrolling = false; - }, 250); - }); -})(mui, window); -/** - * mui gesture flick[left|right|up|down] - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var flickStartTime = 0; - var handle = function(event, touch) { - var session = $.gestures.session; - var options = this.options; - var now = $.now(); - switch (event.type) { - case $.EVENT_MOVE: - if (now - flickStartTime > 300) { - flickStartTime = now; - session.flickStart = touch.center; - } - break; - case $.EVENT_END: - case $.EVENT_CANCEL: - touch.flick = false; - if (session.flickStart && options.flickMaxTime > (now - flickStartTime) && touch.distance > options.flickMinDistince) { - touch.flick = true; - touch.flickTime = now - flickStartTime; - touch.flickDistanceX = touch.center.x - session.flickStart.x; - touch.flickDistanceY = touch.center.y - session.flickStart.y; - $.trigger(session.target, name, touch); - $.trigger(session.target, name + touch.direction, touch); - } - break; - } - - }; - /** - * mui gesture flick - */ - $.addGesture({ - name: name, - index: 5, - handle: handle, - options: { - flickMaxTime: 200, - flickMinDistince: 10 - } - }); -})(mui, 'flick'); -/** - * mui gesture swipe[left|right|up|down] - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var handle = function(event, touch) { - var session = $.gestures.session; - if (event.type === $.EVENT_END || event.type === $.EVENT_CANCEL) { - var options = this.options; - touch.swipe = false; - //TODO 后续根据velocity计算 - if (touch.direction && options.swipeMaxTime > touch.deltaTime && touch.distance > options.swipeMinDistince) { - touch.swipe = true; - $.trigger(session.target, name, touch); - $.trigger(session.target, name + touch.direction, touch); - } - } - }; - /** - * mui gesture swipe - */ - $.addGesture({ - name: name, - index: 10, - handle: handle, - options: { - swipeMaxTime: 300, - swipeMinDistince: 18 - } - }); -})(mui, 'swipe'); -/** - * mui gesture drag[start|left|right|up|down|end] - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var handle = function(event, touch) { - var session = $.gestures.session; - switch (event.type) { - case $.EVENT_START: - break; - case $.EVENT_MOVE: - if (!touch.direction || !session.target) { - return; - } - //修正direction,可在session期间自行锁定拖拽方向,方便开发scroll类不同方向拖拽插件嵌套 - if (session.lockDirection && session.startDirection) { - if (session.startDirection && session.startDirection !== touch.direction) { - if (session.startDirection === 'up' || session.startDirection === 'down') { - touch.direction = touch.deltaY < 0 ? 'up' : 'down'; - } else { - touch.direction = touch.deltaX < 0 ? 'left' : 'right'; - } - } - } - - if (!session.drag) { - session.drag = true; - $.trigger(session.target, name + 'start', touch); - } - $.trigger(session.target, name, touch); - $.trigger(session.target, name + touch.direction, touch); - break; - case $.EVENT_END: - case $.EVENT_CANCEL: - if (session.drag && touch.isFinal) { - $.trigger(session.target, name + 'end', touch); - } - break; - } - }; - /** - * mui gesture drag - */ - $.addGesture({ - name: name, - index: 20, - handle: handle, - options: { - fingers: 1 - } - }); -})(mui, 'drag'); -/** - * mui gesture tap and doubleTap - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var lastTarget; - var lastTapTime; - var handle = function(event, touch) { - var session = $.gestures.session; - var options = this.options; - switch (event.type) { - case $.EVENT_END: - if (!touch.isFinal) { - return; - } - var target = session.target; - if (!target || (target.disabled || (target.classList && target.classList.contains('mui-disabled')))) { - return; - } - if (touch.distance < options.tapMaxDistance && touch.deltaTime < options.tapMaxTime) { - if ($.options.gestureConfig.doubletap && lastTarget && (lastTarget === target)) { //same target - if (lastTapTime && (touch.timestamp - lastTapTime) < options.tapMaxInterval) { - $.trigger(target, 'doubletap', touch); - lastTapTime = $.now(); - lastTarget = target; - return; - } - } - $.trigger(target, name, touch); - lastTapTime = $.now(); - lastTarget = target; - } - break; - } - }; - /** - * mui gesture tap - */ - $.addGesture({ - name: name, - index: 30, - handle: handle, - options: { - fingers: 1, - tapMaxInterval: 300, - tapMaxDistance: 5, - tapMaxTime: 250 - } - }); -})(mui, 'tap'); -/** - * mui gesture longtap - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var timer; - var handle = function(event, touch) { - var session = $.gestures.session; - var options = this.options; - switch (event.type) { - case $.EVENT_START: - clearTimeout(timer); - timer = setTimeout(function() { - $.trigger(session.target, name, touch); - }, options.holdTimeout); - break; - case $.EVENT_MOVE: - if (touch.distance > options.holdThreshold) { - clearTimeout(timer); - } - break; - case $.EVENT_END: - case $.EVENT_CANCEL: - clearTimeout(timer); - break; - } - }; - /** - * mui gesture longtap - */ - $.addGesture({ - name: name, - index: 10, - handle: handle, - options: { - fingers: 1, - holdTimeout: 500, - holdThreshold: 2 - } - }); -})(mui, 'longtap'); -/** - * mui gesture hold - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var timer; - var handle = function(event, touch) { - var session = $.gestures.session; - var options = this.options; - switch (event.type) { - case $.EVENT_START: - if ($.options.gestureConfig.hold) { - timer && clearTimeout(timer); - timer = setTimeout(function() { - touch.hold = true; - $.trigger(session.target, name, touch); - }, options.holdTimeout); - } - break; - case $.EVENT_MOVE: - break; - case $.EVENT_END: - case $.EVENT_CANCEL: - if (timer) { - clearTimeout(timer) && (timer = null); - $.trigger(session.target, 'release', touch); - } - break; - } - }; - /** - * mui gesture hold - */ - $.addGesture({ - name: name, - index: 10, - handle: handle, - options: { - fingers: 1, - holdTimeout: 0 - } - }); -})(mui, 'hold'); -/** - * mui gesture pinch - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var handle = function(event, touch) { - var options = this.options; - var session = $.gestures.session; - switch (event.type) { - case $.EVENT_START: - break; - case $.EVENT_MOVE: - if ($.options.gestureConfig.pinch) { - if (touch.touches.length < 2) { - return; - } - if (!session.pinch) { //start - session.pinch = true; - $.trigger(session.target, name + 'start', touch); - } - $.trigger(session.target, name, touch); - var scale = touch.scale; - var rotation = touch.rotation; - var lastScale = typeof touch.lastScale === 'undefined' ? 1 : touch.lastScale; - var scaleDiff = 0.000000000001; //防止scale与lastScale相等,不触发事件的情况。 - if (scale > lastScale) { //out - lastScale = scale - scaleDiff; - $.trigger(session.target, name + 'out', touch); - } //in - else if (scale < lastScale) { - lastScale = scale + scaleDiff; - $.trigger(session.target, name + 'in', touch); - } - if (Math.abs(rotation) > options.minRotationAngle) { - $.trigger(session.target, 'rotate', touch); - } - } - break; - case $.EVENT_END: - case $.EVENT_CANCEL: - if ($.options.gestureConfig.pinch && session.pinch && touch.touches.length === 2) { - session.pinch = false; - $.trigger(session.target, name + 'end', touch); - } - break; - } - }; - /** - * mui gesture pinch - */ - $.addGesture({ - name: name, - index: 10, - handle: handle, - options: { - minRotationAngle: 0 - } - }); -})(mui, 'pinch'); -/** - * mui.init - * @param {type} $ - * @returns {undefined} - */ -(function($) { - $.global = $.options = { - gestureConfig: { - tap: true, - doubletap: false, - longtap: false, - hold: false, - flick: true, - swipe: true, - drag: true, - pinch: false - } - }; - /** - * - * @param {type} options - * @returns {undefined} - */ - $.initGlobal = function(options) { - $.options = $.extend(true, $.global, options); - return this; - }; - var inits = {}; - - var isInitialized = false; - //TODO 自动调用init?因为用户自己调用init的时机可能不确定,如果晚于自动init,则会有潜在问题 - // $.ready(function() { - // setTimeout(function() { - // if (!isInitialized) { - // $.init(); - // } - // }, 300); - // }); - /** - * 单页配置 初始化 - * @param {object} options - */ - $.init = function(options) { - isInitialized = true; - $.options = $.extend(true, $.global, options || {}); - $.ready(function() { - $.doAction('inits', function(index, init) { - var isInit = !!(!inits[init.name] || init.repeat); - if (isInit) { - init.handle.call($); - inits[init.name] = true; - } - }); - }); - return this; - }; - - /** - * 增加初始化执行流程 - * @param {function} init - */ - $.addInit = function(init) { - return $.addAction('inits', init); - }; - /** - * 处理html5版本subpages - */ - $.addInit({ - name: 'iframe', - index: 100, - handle: function() { - var options = $.options; - var subpages = options.subpages || []; - if (!$.os.plus && subpages.length) { - //暂时只处理单个subpage。后续可以考虑支持多个subpage - createIframe(subpages[0]); - } - } - }); - var createIframe = function(options) { - var wrapper = document.createElement('div'); - wrapper.className = 'mui-iframe-wrapper'; - var styles = options.styles || {}; - if (typeof styles.top !== 'string') { - styles.top = '0px'; - } - if (typeof styles.bottom !== 'string') { - styles.bottom = '0px'; - } - wrapper.style.top = styles.top; - wrapper.style.bottom = styles.bottom; - var iframe = document.createElement('iframe'); - iframe.src = options.url; - iframe.id = options.id || options.url; - iframe.name = iframe.id; - wrapper.appendChild(iframe); - document.body.appendChild(wrapper); - //目前仅处理微信 - $.os.wechat && handleScroll(wrapper, iframe); - }; - - function handleScroll(wrapper, iframe) { - var key = 'MUI_SCROLL_POSITION_' + document.location.href + '_' + iframe.src; - var scrollTop = (parseFloat(localStorage.getItem(key)) || 0); - if (scrollTop) { - (function(y) { - iframe.onload = function() { - window.scrollTo(0, y); - }; - })(scrollTop); - } - setInterval(function() { - var _scrollTop = window.scrollY; - if (scrollTop !== _scrollTop) { - localStorage.setItem(key, _scrollTop + ''); - scrollTop = _scrollTop; - } - }, 100); - }; - $(function() { - var classList = document.body.classList; - var os = []; - if ($.os.ios) { - os.push({ - os: 'ios', - version: $.os.version - }); - classList.add('mui-ios'); - } else if ($.os.android) { - os.push({ - os: 'android', - version: $.os.version - }); - classList.add('mui-android'); - } - if ($.os.wechat) { - os.push({ - os: 'wechat', - version: $.os.wechat.version - }); - classList.add('mui-wechat'); - } - if (os.length) { - $.each(os, function(index, osObj) { - var version = ''; - var classArray = []; - if (osObj.version) { - $.each(osObj.version.split('.'), function(i, v) { - version = version + (version ? '-' : '') + v; - classList.add($.className(osObj.os + '-' + version)); - }); - } - }); - } - }); -})(mui); -/** - * mui.init 5+ - * @param {type} $ - * @returns {undefined} - */ -(function($) { - var defaultOptions = { - swipeBack: false, - preloadPages: [], //5+ lazyLoad webview - preloadLimit: 10, //预加载窗口的数量限制(一旦超出,先进先出) - keyEventBind: { - backbutton: true, - menubutton: true - } - }; - - //默认页面动画 - var defaultShow = { - autoShow: true, - duration: $.os.ios ? 200 : 100, - aniShow: 'slide-in-right' - }; - //若执行了显示动画初始化操作,则要覆盖默认配置 - if ($.options.show) { - defaultShow = $.extend(true, defaultShow, $.options.show); - } - - $.currentWebview = null; - $.isHomePage = false; - - $.extend(true, $.global, defaultOptions); - $.extend(true, $.options, defaultOptions); - /** - * 等待动画配置 - * @param {type} options - * @returns {Object} - */ - $.waitingOptions = function(options) { - return $.extend(true, {}, { - autoShow: true, - title: '' - }, options); - }; - /** - * 窗口显示配置 - * @param {type} options - * @returns {Object} - */ - $.showOptions = function(options) { - return $.extend(true, {}, defaultShow, options); - }; - /** - * 窗口默认配置 - * @param {type} options - * @returns {Object} - */ - $.windowOptions = function(options) { - return $.extend({ - scalable: false, - bounce: "" //vertical - }, options); - }; - /** - * plusReady - * @param {type} callback - * @returns {_L6.$} - */ - $.plusReady = function(callback) { - if (window.plus) { - setTimeout(function() { //解决callback与plusready事件的执行时机问题(典型案例:showWaiting,closeWaiting) - callback(); - }, 0); - } else { - document.addEventListener("plusready", function() { - callback(); - }, false); - } - return this; - }; - /** - * 5+ event(5+没提供之前我自己实现) - * @param {type} webview - * @param {type} eventType - * @param {type} data - * @returns {undefined} - */ - $.fire = function(webview, eventType, data) { - if (webview) { - if (data !== '') { - data = data || {}; - if ($.isPlainObject(data)) { - data = JSON.stringify(data || {}).replace(/\'/g, "\\u0027").replace(/\\/g, "\\u005c"); - } - } - webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "','" + data + "')"); - } - }; - /** - * 5+ event(5+没提供之前我自己实现) - * @param {type} eventType - * @param {type} data - * @returns {undefined} - */ - $.receive = function(eventType, data) { - if (eventType) { - try { - if (data) { - data = JSON.parse(data); - } - } catch (e) {} - $.trigger(document, eventType, data); - } - }; - var triggerPreload = function(webview) { - if (!webview.preloaded) { - $.fire(webview, 'preload'); - var list = webview.children(); - for (var i = 0; i < list.length; i++) { - $.fire(list[i], 'preload'); - } - webview.preloaded = true; - } - }; - var trigger = function(webview, eventType, timeChecked) { - if (timeChecked) { - if (!webview[eventType + 'ed']) { - $.fire(webview, eventType); - var list = webview.children(); - for (var i = 0; i < list.length; i++) { - $.fire(list[i], eventType); - } - webview[eventType + 'ed'] = true; - } - } else { - $.fire(webview, eventType); - var list = webview.children(); - for (var i = 0; i < list.length; i++) { - $.fire(list[i], eventType); - } - } - - }; - /** - * 打开新窗口 - * @param {string} url 要打开的页面地址 - * @param {string} id 指定页面ID - * @param {object} options 可选:参数,等待,窗口,显示配置{params:{},waiting:{},styles:{},show:{}} - */ - $.openWindow = function(url, id, options) { - if (typeof url === 'object') { - options = url; - url = options.url; - id = options.id || url; - } else { - if (typeof id === 'object') { - options = id; - id = url; - } else { - id = id || url; - } - } - if (!$.os.plus) { - //TODO 先临时这么处理:手机上顶层跳,PC上parent跳 - if ($.os.ios || $.os.android) { - window.top.location.href = url; - } else { - window.parent.location.href = url; - } - return; - } - if (!window.plus) { - return; - } - - options = options || {}; - var params = options.params || {}; - var webview = null, - webviewCache = null, - nShow, nWaiting; - - if ($.webviews[id]) { - webviewCache = $.webviews[id]; - //webview真实存在,才能获取 - if (plus.webview.getWebviewById(id)) { - webview = webviewCache.webview; - } - } - - if (webviewCache && webview) { //已缓存 - //每次show都需要传递动画参数; - //预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置; - nShow = webviewCache.show; - nShow = options.show ? $.extend(nShow, options.show) : nShow; - webview.show(nShow.aniShow, nShow.duration, function() { - triggerPreload(webview); - trigger(webview, 'pagebeforeshow', false); - }); - - webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')'); - return webview; - } else { //新窗口 - if (options.createNew !== true) { - webview = plus.webview.getWebviewById(id); - if (webview) { //如果已存在 - nShow = $.showOptions(options.show); - nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() { - triggerPreload(webview); - trigger(webview, 'pagebeforeshow', false); - }); - return webview; - } else { - if (!url) { - throw new Error('webview[' + id + '] does not exist'); - } - } - } - //显示waiting - var waitingConfig = $.waitingOptions(options.waiting); - if (waitingConfig.autoShow) { - nWaiting = plus.nativeUI.showWaiting(waitingConfig.title, waitingConfig.options); - } - //创建页面 - options = $.extend(options, { - id: id, - url: url - }); - - webview = $.createWindow(options); - //显示 - nShow = $.showOptions(options.show); - if (nShow.autoShow) { - var showWebview = function() { - //关闭等待框 - if (nWaiting) { - nWaiting.close(); - } - //显示页面 - webview.show(nShow.aniShow, nShow.duration, function() { - triggerPreload(webview); - trigger(webview, 'pagebeforeshow', false); - }); - webview.showed = true; - options.afterShowMethodName && webview.evalJS(options.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')'); - }; - if (!url) { - showWebview(); - } else { - webview.addEventListener("loaded", showWebview, false); - } - } - } - return webview; - }; - /** - * 根据配置信息创建一个webview - * @param {type} options - * @param {type} isCreate - * @returns {webview} - */ - $.createWindow = function(options, isCreate) { - if (!window.plus) { - return; - } - var id = options.id || options.url; - var webview; - if (options.preload) { - if ($.webviews[id] && $.webviews[id].webview.getURL()) { //已经cache - webview = $.webviews[id].webview; - } else { //新增预加载窗口 - //preload - //判断是否携带createNew参数,默认为false - if (options.createNew !== true) { - webview = plus.webview.getWebviewById(id); - } - - //之前没有,那就新创建 - if (!webview) { - webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), $.extend({ - preload: true - }, options.extras)); - if (options.subpages) { - $.each(options.subpages, function(index, subpage) { - var subpageId = subpage.id || subpage.url; - if (subpageId) { //过滤空对象 - var subWebview = plus.webview.getWebviewById(subpageId); - if (!subWebview) { //如果该webview不存在,则创建 - subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), $.extend({ - preload: true - }, subpage.extras)); - } - webview.append(subWebview); - } - }); - } - } - } - - //TODO 理论上,子webview也应该计算到预加载队列中,但这样就麻烦了,要退必须退整体,否则可能出现问题; - $.webviews[id] = { - webview: webview, //目前仅preload的缓存webview - preload: true, - show: $.showOptions(options.show), - afterShowMethodName: options.afterShowMethodName //就不应该用evalJS。应该是通过事件消息通讯 - }; - //索引该预加载窗口 - var preloads = $.data.preloads; - var index = preloads.indexOf(id); - if (~index) { //删除已存在的(变相调整插入位置) - preloads.splice(index, 1); - } - preloads.push(id); - if (preloads.length > $.options.preloadLimit) { - //先进先出 - var first = $.data.preloads.shift(); - var webviewCache = $.webviews[first]; - if (webviewCache && webviewCache.webview) { - //需要将自己打开的所有页面,全部close; - //关闭该预加载webview - $.closeAll(webviewCache.webview); - } - //删除缓存 - delete $.webviews[first]; - } - } else { - if (isCreate !== false) { //直接创建非预加载窗口 - webview = plus.webview.create(options.url, id, $.windowOptions(options.styles), options.extras); - if (options.subpages) { - $.each(options.subpages, function(index, subpage) { - var subpageId = subpage.id || subpage.url; - var subWebview = plus.webview.getWebviewById(subpageId); - if (!subWebview) { - subWebview = plus.webview.create(subpage.url, subpageId, $.windowOptions(subpage.styles), subpage.extras); - } - webview.append(subWebview); - }); - } - } - } - return webview; - }; - - /** - * 预加载 - */ - $.preload = function(options) { - //调用预加载函数,不管是否传递preload参数,强制变为true - if (!options.preload) { - options.preload = true; - } - return $.createWindow(options); - }; - - /** - *关闭当前webview打开的所有webview; - */ - $.closeOpened = function(webview) { - var opened = webview.opened(); - if (opened) { - for (var i = 0, len = opened.length; i < len; i++) { - var openedWebview = opened[i]; - var open_open = openedWebview.opened(); - if (open_open && open_open.length > 0) { - $.closeOpened(openedWebview); - } else { - //如果直接孩子节点,就不用关闭了,因为父关闭的时候,会自动关闭子; - if (openedWebview.parent() !== webview) { - openedWebview.close('none'); - } - } - } - } - }; - $.closeAll = function(webview, aniShow) { - $.closeOpened(webview); - if (aniShow) { - webview.close(aniShow); - } else { - webview.close(); - } - }; - - /** - * 批量创建webview - * @param {type} options - * @returns {undefined} - */ - $.createWindows = function(options) { - $.each(options, function(index, option) { - //初始化预加载窗口(创建)和非预加载窗口(仅配置,不创建) - $.createWindow(option, false); - }); - }; - /** - * 创建当前页面的子webview - * @param {type} options - * @returns {webview} - */ - $.appendWebview = function(options) { - if (!window.plus) { - return; - } - var id = options.id || options.url; - var webview; - if (!$.webviews[id]) { //保证执行一遍 - //TODO 这里也有隐患,比如某个webview不是作为subpage创建的,而是作为target webview的话; - if (!plus.webview.getWebviewById(id)) { - webview = plus.webview.create(options.url, id, options.styles, options.extras); - } - //之前的实现方案:子窗口loaded之后再append到父窗口中; - //问题:部分子窗口loaded事件发生较晚,此时执行父窗口的children方法会返回空,导致父子通讯失败; - // 比如父页面执行完preload事件后,需触发子页面的preload事件,此时未append的话,就无法触发; - //修改方式:不再监控loaded事件,直接append - //by chb@20150521 - // webview.addEventListener('loaded', function() { - plus.webview.currentWebview().append(webview); - // }); - $.webviews[id] = options; - - } - return webview; - }; - - //全局webviews - $.webviews = {}; - //预加载窗口索引 - $.data.preloads = []; - //$.currentWebview - $.plusReady(function() { - $.currentWebview = plus.webview.currentWebview(); - }); - $.addInit({ - name: '5+', - index: 100, - handle: function() { - var options = $.options; - var subpages = options.subpages || []; - if ($.os.plus) { - $.plusReady(function() { - //TODO 这里需要判断一下,最好等子窗口加载完毕后,再调用主窗口的show方法; - //或者:在openwindow方法中,监听实现; - $.each(subpages, function(index, subpage) { - $.appendWebview(subpage); - }); - //判断是否首页 - if (plus.webview.currentWebview() === plus.webview.getWebviewById(plus.runtime.appid)) { - $.isHomePage = true; - //首页需要自己激活预加载; - //timeout因为子页面loaded之后才append的,防止子页面尚未append、从而导致其preload未触发的问题; - setTimeout(function() { - triggerPreload(plus.webview.currentWebview()); - }, 300); - } - //设置ios顶部状态栏颜色; - if ($.os.ios && $.options.statusBarBackground) { - plus.navigator.setStatusBarBackground($.options.statusBarBackground); - } - if ($.os.android && parseFloat($.os.version) < 4.4) { - //解决Android平台4.4版本以下,resume后,父窗体标题延迟渲染的问题; - if (plus.webview.currentWebview().parent() == null) { - document.addEventListener("resume", function() { - var body = document.body; - body.style.display = 'none'; - setTimeout(function() { - body.style.display = ''; - }, 10); - }); - } - } - }); - } else { - //已支持iframe嵌入 - // if (subpages.length > 0) { - // var err = document.createElement('div'); - // err.className = 'mui-error'; - // //文字描述 - // var span = document.createElement('span'); - // span.innerHTML = '在该浏览器下,不支持创建子页面,具体参考'; - // err.appendChild(span); - // var a = document.createElement('a'); - // a.innerHTML = '"mui框架适用场景"'; - // a.href = 'http://ask.dcloud.net.cn/article/113'; - // err.appendChild(a); - // document.body.appendChild(err); - // console.log('在该浏览器下,不支持创建子页面'); - // } - - } - - } - }); - window.addEventListener('preload', function() { - //处理预加载部分 - var webviews = $.options.preloadPages || []; - $.plusReady(function() { - $.each(webviews, function(index, webview) { - $.createWindow($.extend(webview, { - preload: true - })); - }); - - }); - }); - $.supportStatusbarOffset = function() { - return $.os.plus && $.os.ios && parseFloat($.os.version) >= 7; - }; - $.ready(function() { - //标识当前环境支持statusbar - if ($.supportStatusbarOffset()) { - document.body.classList.add('mui-statusbar'); - } - }); -})(mui); -/** - * mui back - * @param {type} $ - * @param {type} window - * @returns {undefined} - */ -(function($, window) { - /** - * register back - * @param {type} back - * @returns {$.gestures} - */ - $.addBack = function(back) { - return $.addAction('backs', back); - }; - /** - * default - */ - $.addBack({ - name: 'browser', - index: 100, - handle: function() { - if (window.history.length > 1) { - window.history.back(); - return true; - } - return false; - } - }); - /** - * 后退 - */ - $.back = function() { - if (typeof $.options.beforeback === 'function') { - if ($.options.beforeback() === false) { - return; - } - } - $.doAction('backs'); - }; - window.addEventListener('tap', function(e) { - var action = $.targets.action; - if (action && action.classList.contains('mui-action-back')) { - $.back(); - $.targets.action = false; - } - }); - window.addEventListener('swiperight', function(e) { - var detail = e.detail; - if ($.options.swipeBack === true && Math.abs(detail.angle) < 3) { - $.back(); - } - }); - -})(mui, window); -/** - * mui back 5+ - * @param {type} $ - * @param {type} window - * @returns {undefined} - */ -(function($, window) { - if ($.os.plus && $.os.android) { - $.addBack({ - name: 'mui', - index: 5, - handle: function() { - //后续重新设计此处,将back放到各个空间内部实现 - //popover - if ($.targets._popover && $.targets._popover.classList.contains('mui-active')) { - $($.targets._popover).popover('hide'); - return true; - } - //offcanvas - var offCanvas = document.querySelector('.mui-off-canvas-wrap.mui-active'); - if (offCanvas) { - $(offCanvas).offCanvas('close'); - return true; - } - var previewImage = $.isFunction($.getPreviewImage) && $.getPreviewImage(); - if (previewImage && previewImage.isShown()) { - previewImage.close(); - return true; - } - //popup - return $.closePopup(); - } - }); - } - /** - * 5+ back - */ - $.addBack({ - name: '5+', - index: 10, - handle: function() { - if (!window.plus) { - return false; - } - var wobj = plus.webview.currentWebview(); - var parent = wobj.parent(); - if (parent) { - parent.evalJS('mui&&mui.back();'); - } else { - wobj.canBack(function(e) { - //by chb 暂时注释,在碰到类似popover之类的锚点的时候,需多次点击才能返回; - if (e.canBack) { //webview history back - window.history.back(); - } else { //webview close or hide - //fixed by fxy 此处不应该用opener判断,因为用户有可能自己close掉当前窗口的opener。这样的话。opener就为空了,导致不能执行close - if (wobj.id === plus.runtime.appid) { //首页 - //首页不存在opener的情况下,后退实际上应该是退出应用; - //这个交给项目具体实现,框架暂不处理; - //plus.runtime.quit(); - } else { //其他页面, - if (wobj.preload) { - wobj.hide("auto"); - } else { - //关闭页面时,需要将其打开的所有子页面全部关闭; - $.closeAll(wobj); - } - } - } - }); - } - return true; - } - }); - - - $.menu = function() { - var menu = document.querySelector('.mui-action-menu'); - if (menu) { - $.trigger(menu, $.EVENT_START); //临时处理menu无touchstart的话,找不到当前targets的问题 - $.trigger(menu, 'tap'); - } else { //执行父窗口的menu - if (window.plus) { - var wobj = $.currentWebview; - var parent = wobj.parent(); - if (parent) { //又得evalJS - parent.evalJS('mui&&mui.menu();'); - } - } - } - }; - var __back = function() { - $.back(); - }; - var __menu = function() { - $.menu(); - }; - //默认监听 - $.plusReady(function() { - if ($.options.keyEventBind.backbutton) { - plus.key.addEventListener('backbutton', __back, false); - } - if ($.options.keyEventBind.menubutton) { - plus.key.addEventListener('menubutton', __menu, false); - } - }); - //处理按键监听事件 - $.addInit({ - name: 'keyEventBind', - index: 1000, - handle: function() { - $.plusReady(function() { - //如果不为true,则移除默认监听 - if (!$.options.keyEventBind.backbutton) { - plus.key.removeEventListener('backbutton', __back); - } - if (!$.options.keyEventBind.menubutton) { - plus.key.removeEventListener('menubutton', __menu); - } - }); - } - }); -})(mui, window); -/** - * mui.init pulldownRefresh - * @param {type} $ - * @returns {undefined} - */ -(function($) { - $.addInit({ - name: 'pullrefresh', - index: 1000, - handle: function() { - var options = $.options; - var pullRefreshOptions = options.pullRefresh || {}; - var hasPulldown = pullRefreshOptions.down && pullRefreshOptions.down.hasOwnProperty('callback'); - var hasPullup = pullRefreshOptions.up && pullRefreshOptions.up.hasOwnProperty('callback'); - if (hasPulldown || hasPullup) { - var container = pullRefreshOptions.container; - if (container) { - var $container = $(container); - if ($container.length === 1) { - if ($.os.plus && $.os.android) { //android 5+ - $.plusReady(function() { - var webview = plus.webview.currentWebview(); - if (hasPullup) { - //当前页面初始化pullup - var upOptions = {}; - upOptions.up = pullRefreshOptions.up; - upOptions.webviewId = webview.id || webview.getURL(); - $container.pullRefresh(upOptions); - } - if (hasPulldown) { - var parent = webview.parent(); - var id = webview.id || webview.getURL(); - if (parent) { - if (!hasPullup) { //如果没有上拉加载,需要手动初始化一个默认的pullRefresh,以便当前页面容器可以调用endPulldownToRefresh等方法 - $container.pullRefresh({ - webviewId: id - }); - } - var downOptions = { - webviewId: id - }; - downOptions.down = $.extend({}, pullRefreshOptions.down); - downOptions.down.callback = '_CALLBACK'; - //父页面初始化pulldown - parent.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(downOptions) + "')"); - } - } - }); - } else { - $container.pullRefresh(pullRefreshOptions); - } - } - } - } - } - }); -})(mui); -/** - * mui ajax - * @param {type} $ - * @returns {undefined} - */ -(function($, window, undefined) { - - var jsonType = 'application/json'; - var htmlType = 'text/html'; - var rscript = /)<[^<]*)*<\/script>/gi; - var scriptTypeRE = /^(?:text|application)\/javascript/i; - var xmlTypeRE = /^(?:text|application)\/xml/i; - var blankRE = /^\s*$/; - - $.ajaxSettings = { - type: 'GET', - beforeSend: $.noop, - success: $.noop, - error: $.noop, - complete: $.noop, - context: null, - xhr: function(protocol) { - return new window.XMLHttpRequest(); - }, - accepts: { - script: 'text/javascript, application/javascript, application/x-javascript', - json: jsonType, - xml: 'application/xml, text/xml', - html: htmlType, - text: 'text/plain' - }, - timeout: 0, - processData: true, - cache: true - }; - var ajaxBeforeSend = function(xhr, settings) { - var context = settings.context - if (settings.beforeSend.call(context, xhr, settings) === false) { - return false; - } - }; - var ajaxSuccess = function(data, xhr, settings) { - settings.success.call(settings.context, data, 'success', xhr); - ajaxComplete('success', xhr, settings); - }; - // type: "timeout", "error", "abort", "parsererror" - var ajaxError = function(error, type, xhr, settings) { - settings.error.call(settings.context, xhr, type, error); - ajaxComplete(type, xhr, settings); - }; - // status: "success", "notmodified", "error", "timeout", "abort", "parsererror" - var ajaxComplete = function(status, xhr, settings) { - settings.complete.call(settings.context, xhr, status); - }; - - var serialize = function(params, obj, traditional, scope) { - var type, array = $.isArray(obj), - hash = $.isPlainObject(obj); - $.each(obj, function(key, value) { - type = $.type(value); - if (scope) { - key = traditional ? scope : - scope + '[' + (hash || type === 'object' || type === 'array' ? key : '') + ']'; - } - // handle data in serializeArray() format - if (!scope && array) { - params.add(value.name, value.value); - } - // recurse into nested objects - else if (type === "array" || (!traditional && type === "object")) { - serialize(params, value, traditional, key); - } else { - params.add(key, value); - } - }); - }; - var serializeData = function(options) { - if (options.processData && options.data && typeof options.data !== "string") { - options.data = $.param(options.data, options.traditional); - } - if (options.data && (!options.type || options.type.toUpperCase() === 'GET')) { - options.url = appendQuery(options.url, options.data); - options.data = undefined; - } - }; - var appendQuery = function(url, query) { - if (query === '') { - return url; - } - return (url + '&' + query).replace(/[&?]{1,2}/, '?'); - }; - var mimeToDataType = function(mime) { - if (mime) { - mime = mime.split(';', 2)[0]; - } - return mime && (mime === htmlType ? 'html' : - mime === jsonType ? 'json' : - scriptTypeRE.test(mime) ? 'script' : - xmlTypeRE.test(mime) && 'xml') || 'text'; - }; - var parseArguments = function(url, data, success, dataType) { - if ($.isFunction(data)) { - dataType = success, success = data, data = undefined; - } - if (!$.isFunction(success)) { - dataType = success, success = undefined; - } - return { - url: url, - data: data, - success: success, - dataType: dataType - }; - }; - $.ajax = function(url, options) { - if (typeof url === "object") { - options = url; - url = undefined; - } - var settings = options || {}; - settings.url = url || settings.url; - for (var key in $.ajaxSettings) { - if (settings[key] === undefined) { - settings[key] = $.ajaxSettings[key]; - } - } - serializeData(settings); - var dataType = settings.dataType; - - if (settings.cache === false || ((!options || options.cache !== true) && ('script' === dataType))) { - settings.url = appendQuery(settings.url, '_=' + $.now()); - } - var mime = settings.accepts[dataType && dataType.toLowerCase()]; - var headers = {}; - var setHeader = function(name, value) { - headers[name.toLowerCase()] = [name, value]; - }; - var protocol = /^([\w-]+:)\/\//.test(settings.url) ? RegExp.$1 : window.location.protocol; - var xhr = settings.xhr(settings); - var nativeSetHeader = xhr.setRequestHeader; - var abortTimeout; - - setHeader('X-Requested-With', 'XMLHttpRequest'); - setHeader('Accept', mime || '*/*'); - if (!!(mime = settings.mimeType || mime)) { - if (mime.indexOf(',') > -1) { - mime = mime.split(',', 2)[0]; - } - xhr.overrideMimeType && xhr.overrideMimeType(mime); - } - if (settings.contentType || (settings.contentType !== false && settings.data && settings.type.toUpperCase() !== 'GET')) { - setHeader('Content-Type', settings.contentType || 'application/x-www-form-urlencoded'); - } - if (settings.headers) { - for (var name in settings.headers) - setHeader(name, settings.headers[name]); - } - xhr.setRequestHeader = setHeader; - - xhr.onreadystatechange = function() { - if (xhr.readyState === 4) { - xhr.onreadystatechange = $.noop; - clearTimeout(abortTimeout); - var result, error = false; - var isLocal = protocol === 'file:'; - if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304 || (xhr.status === 0 && isLocal && xhr.responseText)) { - dataType = dataType || mimeToDataType(settings.mimeType || xhr.getResponseHeader('content-type')); - result = xhr.responseText; - try { - // http://perfectionkills.com/global-eval-what-are-the-options/ - if (dataType === 'script') { - (1, eval)(result); - } else if (dataType === 'xml') { - result = xhr.responseXML; - } else if (dataType === 'json') { - result = blankRE.test(result) ? null : $.parseJSON(result); - } - } catch (e) { - error = e; - } - - if (error) { - ajaxError(error, 'parsererror', xhr, settings); - } else { - ajaxSuccess(result, xhr, settings); - } - } else { - var status = xhr.status ? 'error' : 'abort'; - var statusText = xhr.statusText || null; - if (isLocal) { - status = 'error'; - statusText = '404'; - } - ajaxError(statusText, status, xhr, settings); - } - } - }; - if (ajaxBeforeSend(xhr, settings) === false) { - xhr.abort(); - ajaxError(null, 'abort', xhr, settings); - return xhr; - } - - if (settings.xhrFields) { - for (var name in settings.xhrFields) { - xhr[name] = settings.xhrFields[name]; - } - } - - var async = 'async' in settings ? settings.async : true; - - xhr.open(settings.type.toUpperCase(), settings.url, async, settings.username, settings.password); - - for (var name in headers) { - nativeSetHeader.apply(xhr, headers[name]); - } - if (settings.timeout > 0) { - abortTimeout = setTimeout(function() { - xhr.onreadystatechange = $.noop; - xhr.abort(); - ajaxError(null, 'timeout', xhr, settings); - }, settings.timeout); - } - xhr.send(settings.data ? settings.data : null); - return xhr; - }; - - - $.param = function(obj, traditional) { - var params = []; - params.add = function(k, v) { - this.push(encodeURIComponent(k) + '=' + encodeURIComponent(v)); - }; - serialize(params, obj, traditional); - return params.join('&').replace(/%20/g, '+'); - }; - $.get = function( /* url, data, success, dataType */ ) { - return $.ajax(parseArguments.apply(null, arguments)); - }; - - $.post = function( /* url, data, success, dataType */ ) { - var options = parseArguments.apply(null, arguments); - options.type = 'POST'; - return $.ajax(options); - }; - - $.getJSON = function( /* url, data, success */ ) { - var options = parseArguments.apply(null, arguments); - options.dataType = 'json'; - return $.ajax(options); - }; - - $.fn.load = function(url, data, success) { - if (!this.length) - return this; - var self = this, - parts = url.split(/\s/), - selector, - options = parseArguments(url, data, success), - callback = options.success; - if (parts.length > 1) - options.url = parts[0], selector = parts[1]; - options.success = function(response) { - if (selector) { - var div = document.createElement('div'); - div.innerHTML = response.replace(rscript, ""); - var selectorDiv = document.createElement('div'); - var childs = div.querySelectorAll(selector); - if (childs && childs.length > 0) { - for (var i = 0, len = childs.length; i < len; i++) { - selectorDiv.appendChild(childs[i]); - } - } - self[0].innerHTML = selectorDiv.innerHTML; - } else { - self[0].innerHTML = response; - } - callback && callback.apply(self, arguments); - }; - $.ajax(options); - return this; - }; - -})(mui, window); -/** - * 5+ ajax - */ -(function($) { - var originAnchor = document.createElement('a'); - originAnchor.href = window.location.href; - $.plusReady(function() { - $.ajaxSettings = $.extend($.ajaxSettings, { - xhr: function(settings) { - if (settings.crossDomain) { //强制使用plus跨域 - return new plus.net.XMLHttpRequest(); - } - //仅在webview的url为远程文件,且ajax请求的资源不同源下使用plus.net.XMLHttpRequest - if (originAnchor.protocol !== 'file:') { - var urlAnchor = document.createElement('a'); - urlAnchor.href = settings.url; - urlAnchor.href = urlAnchor.href; - settings.crossDomain = (originAnchor.protocol + '//' + originAnchor.host) !== (urlAnchor.protocol + '//' + urlAnchor.host); - if (settings.crossDomain) { - return new plus.net.XMLHttpRequest(); - } - } - return new window.XMLHttpRequest(); - } - }); - }); -})(mui); -/** - * mui layout(offset[,position,width,height...]) - * @param {type} $ - * @param {type} window - * @param {type} undefined - * @returns {undefined} - */ -(function($, window, undefined) { - $.offset = function(element) { - var box = { - top : 0, - left : 0 - }; - if ( typeof element.getBoundingClientRect !== undefined) { - box = element.getBoundingClientRect(); - } - return { - top : box.top + window.pageYOffset - element.clientTop, - left : box.left + window.pageXOffset - element.clientLeft - }; - }; -})(mui, window); -/** - * mui animation - */ -(function($, window) { - /** - * scrollTo - */ - $.scrollTo = function(scrollTop, duration, callback) { - duration = duration || 1000; - var scroll = function(duration) { - if (duration <= 0) { - window.scrollTo(0, scrollTop); - callback && callback(); - return; - } - var distaince = scrollTop - window.scrollY; - setTimeout(function() { - window.scrollTo(0, window.scrollY + distaince / duration * 10); - scroll(duration - 10); - }, 16.7); - }; - scroll(duration); - }; - $.animationFrame = function(cb) { - var args, isQueued, context; - return function() { - args = arguments; - context = this; - if (!isQueued) { - isQueued = true; - requestAnimationFrame(function() { - cb.apply(context, args); - isQueued = false; - }); - } - }; - }; - -})(mui, window); -(function($) { - var initializing = false, - fnTest = /xyz/.test(function() { - xyz; - }) ? /\b_super\b/ : /.*/; - - var Class = function() {}; - Class.extend = function(prop) { - var _super = this.prototype; - initializing = true; - var prototype = new this(); - initializing = false; - for (var name in prop) { - prototype[name] = typeof prop[name] == "function" && - typeof _super[name] == "function" && fnTest.test(prop[name]) ? - (function(name, fn) { - return function() { - var tmp = this._super; - - this._super = _super[name]; - - var ret = fn.apply(this, arguments); - this._super = tmp; - - return ret; - }; - })(name, prop[name]) : - prop[name]; - } - function Class() { - if (!initializing && this.init) - this.init.apply(this, arguments); - } - Class.prototype = prototype; - Class.prototype.constructor = Class; - Class.extend = arguments.callee; - return Class; - }; - $.Class = Class; -})(mui); -(function($, document, undefined) { - var CLASS_PULL_TOP_POCKET = 'mui-pull-top-pocket'; - var CLASS_PULL_BOTTOM_POCKET = 'mui-pull-bottom-pocket'; - var CLASS_PULL = 'mui-pull'; - var CLASS_PULL_LOADING = 'mui-pull-loading'; - var CLASS_PULL_CAPTION = 'mui-pull-caption'; - var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down'; - var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh'; - var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore'; - - var CLASS_ICON = 'mui-icon'; - var CLASS_SPINNER = 'mui-spinner'; - var CLASS_ICON_PULLDOWN = 'mui-icon-pulldown'; - - var CLASS_BLOCK = 'mui-block'; - var CLASS_HIDDEN = 'mui-hidden'; - var CLASS_VISIBILITY = 'mui-visibility'; - - var CLASS_LOADING_UP = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN; - var CLASS_LOADING_DOWN = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_ICON_PULLDOWN; - var CLASS_LOADING = CLASS_PULL_LOADING + ' ' + CLASS_ICON + ' ' + CLASS_SPINNER; - - var pocketHtml = ['
    ', '
    ', '
    {contentrefresh}
    ', '
    '].join(''); - - var PullRefresh = { - init: function(element, options) { - this._super(element, $.extend(true, { - scrollY: true, - scrollX: false, - indicators: true, - deceleration: 0.003, - down: { - height: 50, - contentinit: '下拉可以刷新', - contentdown: '下拉可以刷新', - contentover: '释放立即刷新', - contentrefresh: '正在刷新...' - }, - up: { - height: 50, - auto: false, - contentinit: '上拉显示更多', - contentdown: '上拉显示更多', - contentrefresh: '正在加载...', - contentnomore: '没有更多数据了', - duration: 300 - } - }, options)); - }, - _init: function() { - this._super(); - this._initPocket(); - }, - _initPulldownRefresh: function() { - this.pulldown = true; - this.pullPocket = this.topPocket; - this.pullPocket.classList.add(CLASS_BLOCK); - this.pullPocket.classList.add(CLASS_VISIBILITY); - this.pullCaption = this.topCaption; - this.pullLoading = this.topLoading; - }, - _initPullupRefresh: function() { - this.pulldown = false; - this.pullPocket = this.bottomPocket; - this.pullPocket.classList.add(CLASS_BLOCK); - this.pullPocket.classList.add(CLASS_VISIBILITY); - this.pullCaption = this.bottomCaption; - this.pullLoading = this.bottomLoading; - }, - _initPocket: function() { - var options = this.options; - if (options.down && options.down.hasOwnProperty('callback')) { - this.topPocket = this.scroller.querySelector('.' + CLASS_PULL_TOP_POCKET); - if (!this.topPocket) { - this.topPocket = this._createPocket(CLASS_PULL_TOP_POCKET, options.down, CLASS_LOADING_DOWN); - this.wrapper.insertBefore(this.topPocket, this.wrapper.firstChild); - } - this.topLoading = this.topPocket.querySelector('.' + CLASS_PULL_LOADING); - this.topCaption = this.topPocket.querySelector('.' + CLASS_PULL_CAPTION); - } - if (options.up && options.up.hasOwnProperty('callback')) { - this.bottomPocket = this.scroller.querySelector('.' + CLASS_PULL_BOTTOM_POCKET); - if (!this.bottomPocket) { - this.bottomPocket = this._createPocket(CLASS_PULL_BOTTOM_POCKET, options.up, CLASS_LOADING); - this.scroller.appendChild(this.bottomPocket); - } - this.bottomLoading = this.bottomPocket.querySelector('.' + CLASS_PULL_LOADING); - this.bottomCaption = this.bottomPocket.querySelector('.' + CLASS_PULL_CAPTION); - //TODO only for h5 - this.wrapper.addEventListener('scrollbottom', this); - } - }, - _createPocket: function(clazz, options, iconClass) { - var pocket = document.createElement('div'); - pocket.className = clazz; - pocket.innerHTML = pocketHtml.replace('{contentrefresh}', options.contentinit).replace('{icon}', iconClass); - return pocket; - }, - _resetPullDownLoading: function() { - var loading = this.pullLoading; - if (loading) { - this.pullCaption.innerHTML = this.options.down.contentdown; - loading.style.webkitTransition = ""; - loading.style.webkitTransform = ""; - loading.style.webkitAnimation = ""; - loading.className = CLASS_LOADING_DOWN; - } - }, - _setCaptionClass: function(isPulldown, caption, title) { - if (!isPulldown) { - switch (title) { - case this.options.up.contentdown: - caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN; - break; - case this.options.up.contentrefresh: - caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH - break; - case this.options.up.contentnomore: - caption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE; - break; - } - } - }, - _setCaption: function(title, reset) { - if (this.loading) { - return; - } - var options = this.options; - var pocket = this.pullPocket; - var caption = this.pullCaption; - var loading = this.pullLoading; - var isPulldown = this.pulldown; - var self = this; - if (pocket) { - if (reset) { - setTimeout(function() { - caption.innerHTML = self.lastTitle = title; - if (isPulldown) { - loading.className = CLASS_LOADING_DOWN; - } else { - self._setCaptionClass(false, caption, title); - loading.className = CLASS_LOADING; - } - loading.style.webkitAnimation = ""; - loading.style.webkitTransition = ""; - loading.style.webkitTransform = ""; - }, 100); - } else { - if (title !== this.lastTitle) { - caption.innerHTML = title; - if (isPulldown) { - if (title === options.down.contentrefresh) { - loading.className = CLASS_LOADING; - loading.style.webkitAnimation = "spinner-spin 1s step-end infinite"; - } else if (title === options.down.contentover) { - loading.className = CLASS_LOADING_UP; - loading.style.webkitTransition = "-webkit-transform 0.3s ease-in"; - loading.style.webkitTransform = "rotate(180deg)"; - } else if (title === options.down.contentdown) { - loading.className = CLASS_LOADING_DOWN; - loading.style.webkitTransition = "-webkit-transform 0.3s ease-in"; - loading.style.webkitTransform = "rotate(0deg)"; - } - } else { - if (title === options.up.contentrefresh) { - loading.className = CLASS_LOADING + ' ' + CLASS_VISIBILITY; - } else { - loading.className = CLASS_LOADING + ' ' + CLASS_HIDDEN; - } - self._setCaptionClass(false, caption, title); - } - this.lastTitle = title; - } - } - - } - } - }; - $.PullRefresh = PullRefresh; -})(mui, document); -(function($, window, document, undefined) { - var CLASS_SCROLL = 'mui-scroll'; - var CLASS_SCROLLBAR = 'mui-scrollbar'; - var CLASS_INDICATOR = 'mui-scrollbar-indicator'; - var CLASS_SCROLLBAR_VERTICAL = CLASS_SCROLLBAR + '-vertical'; - var CLASS_SCROLLBAR_HORIZONTAL = CLASS_SCROLLBAR + '-horizontal'; - - var CLASS_ACTIVE = 'mui-active'; - - var ease = { - quadratic: { - style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)', - fn: function(k) { - return k * (2 - k); - } - }, - circular: { - style: 'cubic-bezier(0.1, 0.57, 0.1, 1)', - fn: function(k) { - return Math.sqrt(1 - (--k * k)); - } - }, - outCirc: { - style: 'cubic-bezier(0.075, 0.82, 0.165, 1)' - }, - outCubic: { - style: 'cubic-bezier(0.165, 0.84, 0.44, 1)' - } - } - var Scroll = $.Class.extend({ - init: function(element, options) { - this.wrapper = this.element = element; - this.scroller = this.wrapper.children[0]; - this.scrollerStyle = this.scroller && this.scroller.style; - this.stopped = false; - - this.options = $.extend(true, { - scrollY: true, //是否竖向滚动 - scrollX: false, //是否横向滚动 - startX: 0, //初始化时滚动至x - startY: 0, //初始化时滚动至y - - indicators: true, //是否显示滚动条 - stopPropagation: false, - hardwareAccelerated: true, - fixedBadAndorid: false, - preventDefaultException: { - tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/ - }, - momentum: true, - - snapX: 0.5, //横向切换距离(以当前容器宽度为基准) - snap: false, //图片轮播,拖拽式选项卡 - - bounce: true, //是否启用回弹 - bounceTime: 500, //回弹动画时间 - bounceEasing: ease.outCirc, //回弹动画曲线 - - scrollTime: 500, - scrollEasing: ease.outCubic, //轮播动画曲线 - - - directionLockThreshold: 5, - - parallaxElement: false, //视差元素 - parallaxRatio: 0.5 - }, options); - - this.x = 0; - this.y = 0; - this.translateZ = this.options.hardwareAccelerated ? ' translateZ(0)' : ''; - - this._init(); - if (this.scroller) { - this.refresh(); - // if (this.options.startX !== 0 || this.options.startY !== 0) { //需要判断吗?后续根据实际情况再看看 - this.scrollTo(this.options.startX, this.options.startY); - // } - } - }, - _init: function() { - this._initParallax(); - this._initIndicators(); - this._initEvent(); - }, - _initParallax: function() { - if (this.options.parallaxElement) { - this.parallaxElement = document.querySelector(this.options.parallaxElement); - this.parallaxStyle = this.parallaxElement.style; - this.parallaxHeight = this.parallaxElement.offsetHeight; - this.parallaxImgStyle = this.parallaxElement.querySelector('img').style; - } - }, - _initIndicators: function() { - var self = this; - self.indicators = []; - if (!this.options.indicators) { - return; - } - var indicators = [], - indicator; - - // Vertical scrollbar - if (self.options.scrollY) { - indicator = { - el: this._createScrollBar(CLASS_SCROLLBAR_VERTICAL), - listenX: false - }; - - this.wrapper.appendChild(indicator.el); - indicators.push(indicator); - } - - // Horizontal scrollbar - if (this.options.scrollX) { - indicator = { - el: this._createScrollBar(CLASS_SCROLLBAR_HORIZONTAL), - listenY: false - }; - - this.wrapper.appendChild(indicator.el); - indicators.push(indicator); - } - - for (var i = indicators.length; i--;) { - this.indicators.push(new Indicator(this, indicators[i])); - } - - }, - _initSnap: function() { - this.currentPage = {}; - this.pages = []; - var snaps = this.snaps; - var length = snaps.length; - var m = 0; - var n = -1; - var x = 0; - var leftX = 0; - var rightX = 0; - var snapX = 0; - for (var i = 0; i < length; i++) { - var snap = snaps[i]; - var offsetLeft = snap.offsetLeft; - var offsetWidth = snap.offsetWidth; - if (i === 0 || offsetLeft <= snaps[i - 1].offsetLeft) { - m = 0; - n++; - } - if (!this.pages[m]) { - this.pages[m] = []; - } - x = this._getSnapX(offsetLeft); - snapX = Math.round((offsetWidth) * this.options.snapX); - leftX = x - snapX; - rightX = x - offsetWidth + snapX; - this.pages[m][n] = { - x: x, - leftX: leftX, - rightX: rightX, - pageX: m, - element: snap - } - if (snap.classList.contains(CLASS_ACTIVE)) { - this.currentPage = this.pages[m][0]; - } - if (x >= this.maxScrollX) { - m++; - } - } - this.options.startX = this.currentPage.x || 0; - }, - _getSnapX: function(offsetLeft) { - return Math.max(Math.min(0, -offsetLeft + (this.wrapperWidth / 2)), this.maxScrollX); - }, - _gotoPage: function(index) { - this.currentPage = this.pages[Math.min(index, this.pages.length - 1)][0]; - for (var i = 0, len = this.snaps.length; i < len; i++) { - if (i === index) { - this.snaps[i].classList.add(CLASS_ACTIVE); - } else { - this.snaps[i].classList.remove(CLASS_ACTIVE); - } - } - this.scrollTo(this.currentPage.x, 0, this.options.scrollTime); - }, - _nearestSnap: function(x) { - if (!this.pages.length) { - return { - x: 0, - pageX: 0 - }; - } - var i = 0; - var length = this.pages.length; - if (x > 0) { - x = 0; - } else if (x < this.maxScrollX) { - x = this.maxScrollX; - } - for (; i < length; i++) { - var nearestX = this.direction === 'left' ? this.pages[i][0].leftX : this.pages[i][0].rightX; - if (x >= nearestX) { - return this.pages[i][0]; - } - } - return { - x: 0, - pageX: 0 - }; - }, - _initEvent: function(detach) { - var action = detach ? 'removeEventListener' : 'addEventListener'; - window[action]('orientationchange', this); - window[action]('resize', this); - - this.scroller[action]('webkitTransitionEnd', this); - - this.wrapper[action]($.EVENT_START, this); - this.wrapper[action]($.EVENT_CANCEL, this); - this.wrapper[action]($.EVENT_END, this); - this.wrapper[action]('drag', this); - this.wrapper[action]('dragend', this); - this.wrapper[action]('flick', this); - this.wrapper[action]('scrollend', this); - if (this.options.scrollX) { - this.wrapper[action]('swiperight', this); - } - var segmentedControl = this.wrapper.querySelector('.mui-segmented-control'); - if (segmentedControl) { //靠,这个bug排查了一下午,阻止hash跳转,一旦hash跳转会导致可拖拽选项卡的tab不见 - mui(segmentedControl)[detach ? 'off' : 'on']('click', 'a', $.preventDefault); - } - - this.wrapper[action]('scrollstart', this); - this.wrapper[action]('refresh', this); - }, - _handleIndicatorScrollend: function() { - this.indicators.map(function(indicator) { - indicator.fade(); - }); - }, - _handleIndicatorScrollstart: function() { - this.indicators.map(function(indicator) { - indicator.fade(1); - }); - }, - _handleIndicatorRefresh: function() { - this.indicators.map(function(indicator) { - indicator.refresh(); - }); - }, - handleEvent: function(e) { - if (this.stopped) { - this.resetPosition(); - return; - } - - switch (e.type) { - case $.EVENT_START: - this._start(e); - break; - case 'drag': - this.options.stopPropagation && e.stopPropagation(); - this._drag(e); - break; - case 'dragend': - case 'flick': - this.options.stopPropagation && e.stopPropagation(); - this._flick(e); - break; - case $.EVENT_CANCEL: - case $.EVENT_END: - this._end(e); - break; - case 'webkitTransitionEnd': - this.transitionTimer && this.transitionTimer.cancel(); - this._transitionEnd(e); - break; - case 'scrollstart': - this._handleIndicatorScrollstart(e); - break; - case 'scrollend': - this._handleIndicatorScrollend(e); - this._scrollend(e); - e.stopPropagation(); - break; - case 'orientationchange': - case 'resize': - this._resize(); - break; - case 'swiperight': - e.stopPropagation(); - break; - case 'refresh': - this._handleIndicatorRefresh(e); - break; - - } - }, - _start: function(e) { - this.moved = this.needReset = false; - this._transitionTime(); - if (this.isInTransition) { - this.needReset = true; - this.isInTransition = false; - var pos = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform')); - this.setTranslate(Math.round(pos.x), Math.round(pos.y)); - // this.resetPosition(); //reset - $.trigger(this.scroller, 'scrollend', this); - // e.stopPropagation(); - e.preventDefault(); - } - this.reLayout(); - $.trigger(this.scroller, 'beforescrollstart', this); - }, - _getDirectionByAngle: function(angle) { - if (angle < -80 && angle > -100) { - return 'up'; - } else if (angle >= 80 && angle < 100) { - return 'down'; - } else if (angle >= 170 || angle <= -170) { - return 'left'; - } else if (angle >= -35 && angle <= 10) { - return 'right'; - } - return null; - }, - _drag: function(e) { - // if (this.needReset) { - // e.stopPropagation(); //disable parent drag(nested scroller) - // return; - // } - var detail = e.detail; - if (this.options.scrollY || detail.direction === 'up' || detail.direction === 'down') { //如果是竖向滚动或手势方向是上或下 - //ios8 hack - if ($.os.ios && parseFloat($.os.version) >= 8) { //多webview时,离开当前webview会导致后续touch事件不触发 - var clientY = detail.gesture.touches[0].clientY; - //下拉刷新 or 上拉加载 - if ((clientY + 10) > window.innerHeight || clientY < 10) { - this.resetPosition(this.options.bounceTime); - return; - } - } - } - var isPreventDefault = isReturn = false; - var direction = this._getDirectionByAngle(detail.angle); - if (detail.direction === 'left' || detail.direction === 'right') { - if (this.options.scrollX) { - isPreventDefault = true; - if (!this.moved) { //识别角度(该角度导致轮播不灵敏) - // if (direction !== 'left' && direction !== 'right') { - // isReturn = true; - // } else { - $.gestures.session.lockDirection = true; //锁定方向 - $.gestures.session.startDirection = detail.direction; - // } - } - } else if (this.options.scrollY && !this.moved) { - isReturn = true; - } - } else if (detail.direction === 'up' || detail.direction === 'down') { - if (this.options.scrollY) { - isPreventDefault = true; - // if (!this.moved) { //识别角度,竖向滚动似乎没必要进行小角度验证 - // if (direction !== 'up' && direction !== 'down') { - // isReturn = true; - // } - // } - if (!this.moved) { - $.gestures.session.lockDirection = true; //锁定方向 - $.gestures.session.startDirection = detail.direction; - } - } else if (this.options.scrollX && !this.moved) { - isReturn = true; - } - } else { - isReturn = true; - } - if (this.moved || isPreventDefault) { - e.stopPropagation(); //阻止冒泡(scroll类嵌套) - detail.gesture && detail.gesture.preventDefault(); - } - if (isReturn) { //禁止非法方向滚动 - return; - } - if (!this.moved) { - $.trigger(this.scroller, 'scrollstart', this); - } else { - e.stopPropagation(); //move期间阻止冒泡(scroll嵌套) - } - var deltaX = 0; - var deltaY = 0; - if (!this.moved) { //start - deltaX = detail.deltaX; - deltaY = detail.deltaY; - } else { //move - deltaX = detail.deltaX - $.gestures.session.prevTouch.deltaX; - deltaY = detail.deltaY - $.gestures.session.prevTouch.deltaY; - } - var absDeltaX = Math.abs(detail.deltaX); - var absDeltaY = Math.abs(detail.deltaY); - if (absDeltaX > absDeltaY + this.options.directionLockThreshold) { - deltaY = 0; - } else if (absDeltaY >= absDeltaX + this.options.directionLockThreshold) { - deltaX = 0; - } - - deltaX = this.hasHorizontalScroll ? deltaX : 0; - deltaY = this.hasVerticalScroll ? deltaY : 0; - var newX = this.x + deltaX; - var newY = this.y + deltaY; - // Slow down if outside of the boundaries - if (newX > 0 || newX < this.maxScrollX) { - newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX; - } - if (newY > 0 || newY < this.maxScrollY) { - newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY; - } - - if (!this.requestAnimationFrame) { - this._updateTranslate(); - } - this.direction = detail.deltaX > 0 ? 'right' : 'left'; - this.moved = true; - this.x = newX; - this.y = newY; - $.trigger(this.scroller, 'scroll', this); - }, - _flick: function(e) { - // if (!this.moved || this.needReset) { - // return; - // } - if (!this.moved) { - return; - } - e.stopPropagation(); - var detail = e.detail; - this._clearRequestAnimationFrame(); - if (e.type === 'dragend' && detail.flick) { //dragend - return; - } - - var newX = Math.round(this.x); - var newY = Math.round(this.y); - - this.isInTransition = false; - // reset if we are outside of the boundaries - if (this.resetPosition(this.options.bounceTime)) { - return; - } - - this.scrollTo(newX, newY); // ensures that the last position is rounded - - if (e.type === 'dragend') { //dragend - $.trigger(this.scroller, 'scrollend', this); - return; - } - var time = 0; - var easing = ''; - // start momentum animation if needed - if (this.options.momentum && detail.flickTime < 300) { - momentumX = this.hasHorizontalScroll ? this._momentum(this.x, detail.flickDistanceX, detail.flickTime, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { - destination: newX, - duration: 0 - }; - momentumY = this.hasVerticalScroll ? this._momentum(this.y, detail.flickDistanceY, detail.flickTime, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { - destination: newY, - duration: 0 - }; - newX = momentumX.destination; - newY = momentumY.destination; - time = Math.max(momentumX.duration, momentumY.duration); - this.isInTransition = true; - } - - if (newX != this.x || newY != this.y) { - if (newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY) { - easing = ease.quadratic; - } - this.scrollTo(newX, newY, time, easing); - return; - } - - $.trigger(this.scroller, 'scrollend', this); - // e.stopPropagation(); - }, - _end: function(e) { - this.needReset = false; - if ((!this.moved && this.needReset) || e.type === $.EVENT_CANCEL) { - this.resetPosition(); - } - }, - _transitionEnd: function(e) { - if (e.target != this.scroller || !this.isInTransition) { - return; - } - this._transitionTime(); - if (!this.resetPosition(this.options.bounceTime)) { - this.isInTransition = false; - $.trigger(this.scroller, 'scrollend', this); - } - }, - _scrollend: function(e) { - if (Math.abs(this.y) > 0 && this.y <= this.maxScrollY) { - $.trigger(this.scroller, 'scrollbottom', this); - } - }, - _resize: function() { - var that = this; - clearTimeout(that.resizeTimeout); - that.resizeTimeout = setTimeout(function() { - that.refresh(); - }, that.options.resizePolling); - }, - _transitionTime: function(time) { - time = time || 0; - this.scrollerStyle['webkitTransitionDuration'] = time + 'ms'; - if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 - this.parallaxStyle['webkitTransitionDuration'] = time + 'ms'; - } - if (this.options.fixedBadAndorid && !time && $.os.isBadAndroid) { - this.scrollerStyle['webkitTransitionDuration'] = '0.001s'; - if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 - this.parallaxStyle['webkitTransitionDuration'] = '0.001s'; - } - } - if (this.indicators) { - for (var i = this.indicators.length; i--;) { - this.indicators[i].transitionTime(time); - } - } - if (time) { //自定义timer,保证webkitTransitionEnd始终触发 - this.transitionTimer && this.transitionTimer.cancel(); - this.transitionTimer = $.later(function() { - $.trigger(this.scroller, 'webkitTransitionEnd'); - }, time + 100, this); - } - }, - _transitionTimingFunction: function(easing) { - this.scrollerStyle['webkitTransitionTimingFunction'] = easing; - if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 - this.parallaxStyle['webkitTransitionDuration'] = easing; - } - if (this.indicators) { - for (var i = this.indicators.length; i--;) { - this.indicators[i].transitionTimingFunction(easing); - } - } - }, - _translate: function(x, y) { - this.x = x; - this.y = y; - }, - _clearRequestAnimationFrame: function() { - if (this.requestAnimationFrame) { - cancelAnimationFrame(this.requestAnimationFrame); - this.requestAnimationFrame = null; - } - }, - _updateTranslate: function() { - var self = this; - if (self.x !== self.lastX || self.y !== self.lastY) { - self.setTranslate(self.x, self.y); - } - self.requestAnimationFrame = requestAnimationFrame(function() { - self._updateTranslate(); - }); - }, - _createScrollBar: function(clazz) { - var scrollbar = document.createElement('div'); - var indicator = document.createElement('div'); - scrollbar.className = CLASS_SCROLLBAR + ' ' + clazz; - indicator.className = CLASS_INDICATOR; - scrollbar.appendChild(indicator); - if (clazz === CLASS_SCROLLBAR_VERTICAL) { - this.scrollbarY = scrollbar; - this.scrollbarIndicatorY = indicator; - } else if (clazz === CLASS_SCROLLBAR_HORIZONTAL) { - this.scrollbarX = scrollbar; - this.scrollbarIndicatorX = indicator; - } - this.wrapper.appendChild(scrollbar); - return scrollbar; - }, - _preventDefaultException: function(el, exceptions) { - for (var i in exceptions) { - if (exceptions[i].test(el[i])) { - return true; - } - } - return false; - }, - _reLayout: function() { - if (!this.hasHorizontalScroll) { - this.maxScrollX = 0; - this.scrollerWidth = this.wrapperWidth; - } - - if (!this.hasVerticalScroll) { - this.maxScrollY = 0; - this.scrollerHeight = this.wrapperHeight; - } - - this.indicators.map(function(indicator) { - indicator.refresh(); - }); - - //以防slider类嵌套使用 - if (this.options.snap && typeof this.options.snap === 'string') { - var items = this.scroller.querySelectorAll(this.options.snap); - this.itemLength = 0; - this.snaps = []; - for (var i = 0, len = items.length; i < len; i++) { - var item = items[i]; - if (item.parentNode === this.scroller) { - this.itemLength++; - this.snaps.push(item); - } - } - this._initSnap(); //需要每次都_initSnap么。其实init的时候执行一次,后续resize的时候执行一次就行了吧.先这么做吧,如果影响性能,再调整 - } - }, - _momentum: function(current, distance, time, lowerMargin, wrapperSize, deceleration) { - var speed = parseFloat(Math.abs(distance) / time), - destination, - duration; - - deceleration = deceleration === undefined ? 0.0006 : deceleration; - destination = current + (speed * speed) / (2 * deceleration) * (distance < 0 ? -1 : 1); - duration = speed / deceleration; - if (destination < lowerMargin) { - destination = wrapperSize ? lowerMargin - (wrapperSize / 2.5 * (speed / 8)) : lowerMargin; - distance = Math.abs(destination - current); - duration = distance / speed; - } else if (destination > 0) { - destination = wrapperSize ? wrapperSize / 2.5 * (speed / 8) : 0; - distance = Math.abs(current) + destination; - duration = distance / speed; - } - - return { - destination: Math.round(destination), - duration: duration - }; - }, - _getTranslateStr: function(x, y) { - if (this.options.hardwareAccelerated) { - return 'translate3d(' + x + 'px,' + y + 'px,0px) ' + this.translateZ; - } - return 'translate(' + x + 'px,' + y + 'px) '; - }, - //API - setStopped: function(stopped) { - this.stopped = !!stopped; - }, - setTranslate: function(x, y) { - this.x = x; - this.y = y; - this.scrollerStyle['webkitTransform'] = this._getTranslateStr(x, y); - if (this.parallaxElement && this.options.scrollY) { //目前仅支持竖向视差效果 - var parallaxY = y * this.options.parallaxRatio; - var scale = 1 + parallaxY / ((this.parallaxHeight - parallaxY) / 2); - if (scale > 1) { - this.parallaxImgStyle['opacity'] = 1 - parallaxY / 100 * this.options.parallaxRatio; - this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -parallaxY) + ' scale(' + scale + ',' + scale + ')'; - } else { - this.parallaxImgStyle['opacity'] = 1; - this.parallaxStyle['webkitTransform'] = this._getTranslateStr(0, -1) + ' scale(1,1)'; - } - } - if (this.indicators) { - for (var i = this.indicators.length; i--;) { - this.indicators[i].updatePosition(); - } - } - this.lastX = this.x; - this.lastY = this.y; - $.trigger(this.scroller, 'scroll', this); - }, - reLayout: function() { - this.wrapper.offsetHeight; - - var paddingLeft = parseFloat($.getStyles(this.wrapper, 'padding-left')) || 0; - var paddingRight = parseFloat($.getStyles(this.wrapper, 'padding-right')) || 0; - var paddingTop = parseFloat($.getStyles(this.wrapper, 'padding-top')) || 0; - var paddingBottom = parseFloat($.getStyles(this.wrapper, 'padding-bottom')) || 0; - - var clientWidth = this.wrapper.clientWidth; - var clientHeight = this.wrapper.clientHeight; - - this.scrollerWidth = this.scroller.offsetWidth; - this.scrollerHeight = this.scroller.offsetHeight; - - this.wrapperWidth = clientWidth - paddingLeft - paddingRight; - this.wrapperHeight = clientHeight - paddingTop - paddingBottom; - - this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0); - this.maxScrollY = Math.min(this.wrapperHeight - this.scrollerHeight, 0); - this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0; - this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0; - this._reLayout(); - }, - resetPosition: function(time) { - var x = this.x, - y = this.y; - - time = time || 0; - if (!this.hasHorizontalScroll || this.x > 0) { - x = 0; - } else if (this.x < this.maxScrollX) { - x = this.maxScrollX; - } - - if (!this.hasVerticalScroll || this.y > 0) { - y = 0; - } else if (this.y < this.maxScrollY) { - y = this.maxScrollY; - } - - if (x == this.x && y == this.y) { - return false; - } - this.scrollTo(x, y, time, this.options.scrollEasing); - - return true; - }, - _reInit: function() { - var groups = this.wrapper.querySelectorAll('.' + CLASS_SCROLL); - for (var i = 0, len = groups.length; i < len; i++) { - if (groups[i].parentNode === this.wrapper) { - this.scroller = groups[i]; - break; - } - } - this.scrollerStyle = this.scroller && this.scroller.style; - }, - refresh: function() { - this._reInit(); - this.reLayout(); - $.trigger(this.scroller, 'refresh', this); - this.resetPosition(); - }, - scrollTo: function(x, y, time, easing) { - var easing = easing || ease.circular; - // this.isInTransition = time > 0 && (this.lastX != x || this.lastY != y); - //暂不严格判断x,y,否则会导致部分版本上不正常触发轮播 - this.isInTransition = time > 0; - if (this.isInTransition) { - this._clearRequestAnimationFrame(); - this._transitionTimingFunction(easing.style); - this._transitionTime(time); - this.setTranslate(x, y); - } else { - this.setTranslate(x, y); - } - - }, - scrollToBottom: function(time, easing) { - time = time || this.options.scrollTime; - this.scrollTo(0, this.maxScrollY, time, easing); - }, - gotoPage: function(index) { - this._gotoPage(index); - }, - destroy: function() { - this._initEvent(true); //detach - delete $.data[this.wrapper.getAttribute('data-scroll')]; - this.wrapper.setAttribute('data-scroll', ''); - } - }); - //Indicator - var Indicator = function(scroller, options) { - this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el; - this.wrapperStyle = this.wrapper.style; - this.indicator = this.wrapper.children[0]; - this.indicatorStyle = this.indicator.style; - this.scroller = scroller; - - this.options = $.extend({ - listenX: true, - listenY: true, - fade: false, - speedRatioX: 0, - speedRatioY: 0 - }, options); - - - this.sizeRatioX = 1; - this.sizeRatioY = 1; - this.maxPosX = 0; - this.maxPosY = 0; - - if (this.options.fade) { - this.wrapperStyle['webkitTransform'] = this.scroller.translateZ; - this.wrapperStyle['webkitTransitionDuration'] = this.options.fixedBadAndorid && $.os.isBadAndroid ? '0.001s' : '0ms'; - this.wrapperStyle.opacity = '0'; - } - } - Indicator.prototype = { - handleEvent: function(e) { - - }, - transitionTime: function(time) { - time = time || 0; - this.indicatorStyle['webkitTransitionDuration'] = time + 'ms'; - if (this.scroller.options.fixedBadAndorid && !time && $.os.isBadAndroid) { - this.indicatorStyle['webkitTransitionDuration'] = '0.001s'; - } - }, - transitionTimingFunction: function(easing) { - this.indicatorStyle['webkitTransitionTimingFunction'] = easing; - }, - refresh: function() { - this.transitionTime(); - - if (this.options.listenX && !this.options.listenY) { - this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none'; - } else if (this.options.listenY && !this.options.listenX) { - this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none'; - } else { - this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none'; - } - - this.wrapper.offsetHeight; // force refresh - - if (this.options.listenX) { - this.wrapperWidth = this.wrapper.clientWidth; - this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8); - this.indicatorStyle.width = this.indicatorWidth + 'px'; - - this.maxPosX = this.wrapperWidth - this.indicatorWidth; - - this.minBoundaryX = 0; - this.maxBoundaryX = this.maxPosX; - - this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX)); - } - - if (this.options.listenY) { - this.wrapperHeight = this.wrapper.clientHeight; - this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8); - this.indicatorStyle.height = this.indicatorHeight + 'px'; - - this.maxPosY = this.wrapperHeight - this.indicatorHeight; - - this.minBoundaryY = 0; - this.maxBoundaryY = this.maxPosY; - - this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY)); - } - - this.updatePosition(); - }, - - updatePosition: function() { - var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0, - y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0; - - if (x < this.minBoundaryX) { - this.width = Math.max(this.indicatorWidth + x, 8); - this.indicatorStyle.width = this.width + 'px'; - x = this.minBoundaryX; - } else if (x > this.maxBoundaryX) { - this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8); - this.indicatorStyle.width = this.width + 'px'; - x = this.maxPosX + this.indicatorWidth - this.width; - } else if (this.width != this.indicatorWidth) { - this.width = this.indicatorWidth; - this.indicatorStyle.width = this.width + 'px'; - } - - if (y < this.minBoundaryY) { - this.height = Math.max(this.indicatorHeight + y * 3, 8); - this.indicatorStyle.height = this.height + 'px'; - y = this.minBoundaryY; - } else if (y > this.maxBoundaryY) { - this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8); - this.indicatorStyle.height = this.height + 'px'; - y = this.maxPosY + this.indicatorHeight - this.height; - } else if (this.height != this.indicatorHeight) { - this.height = this.indicatorHeight; - this.indicatorStyle.height = this.height + 'px'; - } - - this.x = x; - this.y = y; - - this.indicatorStyle['webkitTransform'] = this.scroller._getTranslateStr(x, y); - - }, - fade: function(val, hold) { - if (hold && !this.visible) { - return; - } - - clearTimeout(this.fadeTimeout); - this.fadeTimeout = null; - - var time = val ? 250 : 500, - delay = val ? 0 : 300; - - val = val ? '1' : '0'; - - this.wrapperStyle['webkitTransitionDuration'] = time + 'ms'; - - this.fadeTimeout = setTimeout((function(val) { - this.wrapperStyle.opacity = val; - this.visible = +val; - }).bind(this, val), delay); - } - }; - - $.Scroll = Scroll; - - $.fn.scroll = function(options) { - var scrollApis = []; - this.each(function() { - var scrollApi = null; - var self = this; - var id = self.getAttribute('data-scroll'); - if (!id) { - id = ++$.uuid; - var _options = $.extend({}, options); - if (self.classList.contains('mui-segmented-control')) { - _options = $.extend(_options, { - scrollY: false, - scrollX: true, - indicators: false, - snap: '.mui-control-item' - }); - } - $.data[id] = scrollApi = new Scroll(self, _options); - self.setAttribute('data-scroll', id); - } else { - scrollApi = $.data[id]; - } - scrollApis.push(scrollApi); - }); - return scrollApis.length === 1 ? scrollApis[0] : scrollApis; - }; -})(mui, window, document); -(function($, window, document, undefined) { - - var CLASS_VISIBILITY = 'mui-visibility'; - var CLASS_HIDDEN = 'mui-hidden'; - - var PullRefresh = $.Scroll.extend($.extend({ - handleEvent: function(e) { - this._super(e); - if (e.type === 'scrollbottom') { - if (e.target === this.scroller) { - this._scrollbottom(); - } - } - }, - _scrollbottom: function() { - if (!this.pulldown && !this.loading) { - this.pulldown = false; - this._initPullupRefresh(); - this.pullupLoading(); - } - }, - _start: function(e) { - //仅下拉刷新在start阻止默认事件 - if (e.touches && e.touches.length && e.touches[0].clientX > 30) { - e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault(); - } - if (!this.loading) { - this.pulldown = this.pullPocket = this.pullCaption = this.pullLoading = false - } - this._super(e); - }, - _drag: function(e) { - this._super(e); - if (!this.pulldown && !this.loading && this.topPocket && e.detail.direction === 'down' && this.y >= 0) { - this._initPulldownRefresh(); - } - if (this.pulldown) { - this._setCaption(this.y > this.options.down.height ? this.options.down.contentover : this.options.down.contentdown); - } - }, - - _reLayout: function() { - this.hasVerticalScroll = true; - this._super(); - }, - //API - resetPosition: function(time) { - if (this.pulldown) { - if (this.y >= this.options.down.height) { - this.pulldownLoading(undefined, time || 0); - return true; - } else { - !this.loading && this.topPocket.classList.remove(CLASS_VISIBILITY); - } - } - return this._super(time); - }, - pulldownLoading: function(y, time) { - typeof y === 'undefined' && (y = this.options.down.height); //默认高度 - this.scrollTo(0, y, time, this.options.bounceEasing); - if (this.loading) { - return; - } - // if (!this.pulldown) { - this._initPulldownRefresh(); - // } - this._setCaption(this.options.down.contentrefresh); - this.loading = true; - this.indicators.map(function(indicator) { - indicator.fade(0); - }); - var callback = this.options.down.callback; - callback && callback.call(this); - }, - endPulldownToRefresh: function() { - var self = this; - if (self.topPocket && self.loading && this.pulldown) { - self.scrollTo(0, 0, self.options.bounceTime, self.options.bounceEasing); - self.loading = false; - self._setCaption(self.options.down.contentdown, true); - setTimeout(function() { - self.loading || self.topPocket.classList.remove(CLASS_VISIBILITY); - }, 350); - } - }, - pullupLoading: function(callback, x, time) { - x = x || 0; - this.scrollTo(x, this.maxScrollY, time, this.options.bounceEasing); - if (this.loading) { - return; - } - this._initPullupRefresh(); - this._setCaption(this.options.up.contentrefresh); - this.indicators.map(function(indicator) { - indicator.fade(0); - }); - this.loading = true; - callback = callback || this.options.up.callback; - callback && callback.call(this); - }, - endPullupToRefresh: function(finished) { - var self = this; - if (self.bottomPocket) { // && self.loading && !this.pulldown - self.loading = false; - if (finished) { - this.finished = true; - self._setCaption(self.options.up.contentnomore); - // self.bottomPocket.classList.remove(CLASS_VISIBILITY); - // self.bottomPocket.classList.add(CLASS_HIDDEN); - self.wrapper.removeEventListener('scrollbottom', self); - } else { - self._setCaption(self.options.up.contentdown); - // setTimeout(function() { - self.loading || self.bottomPocket.classList.remove(CLASS_VISIBILITY); - // }, 300); - } - } - }, - disablePullupToRefresh: function() { - this._initPullupRefresh(); - this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN; - this.wrapper.removeEventListener('scrollbottom', this); - }, - enablePullupToRefresh: function() { - this._initPullupRefresh(); - this.bottomPocket.classList.remove(CLASS_HIDDEN); - this._setCaption(this.options.up.contentdown); - this.wrapper.addEventListener('scrollbottom', this); - }, - refresh: function(isReset) { - if (isReset && this.finished) { - this.enablePullupToRefresh(); - this.finished = false; - } - this._super(); - }, - }, $.PullRefresh)); - $.fn.pullRefresh = function(options) { - if (this.length === 1) { - var self = this[0]; - var pullRefreshApi = null; - options = options || {}; - var id = self.getAttribute('data-pullrefresh'); - if (!id) { - id = ++$.uuid; - $.data[id] = pullRefreshApi = new PullRefresh(self, options); - self.setAttribute('data-pullrefresh', id); - } else { - pullRefreshApi = $.data[id]; - } - if (options.down && options.down.auto) { //如果设置了auto,则自动下拉一次 - pullRefreshApi.pulldownLoading(options.down.autoY); - } else if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次 - pullRefreshApi.pullupLoading(); - } - //暂不提供这种调用方式吧 - // if (typeof options === 'string') { - // var methodValue = pullRefreshApi[options].apply(pullRefreshApi, $.slice.call(arguments, 1)); - // if (methodValue !== undefined) { - // return methodValue; - // } - // } - return pullRefreshApi; - } - }; -})(mui, window, document); -/** - * snap 重构 - * @param {Object} $ - * @param {Object} window - */ -(function($, window) { - var CLASS_SLIDER = 'mui-slider'; - var CLASS_SLIDER_GROUP = 'mui-slider-group'; - var CLASS_SLIDER_LOOP = 'mui-slider-loop'; - var CLASS_SLIDER_INDICATOR = 'mui-slider-indicator'; - var CLASS_ACTION_PREVIOUS = 'mui-action-previous'; - var CLASS_ACTION_NEXT = 'mui-action-next'; - var CLASS_SLIDER_ITEM = 'mui-slider-item'; - - var CLASS_ACTIVE = 'mui-active'; - - var SELECTOR_SLIDER_ITEM = '.' + CLASS_SLIDER_ITEM; - var SELECTOR_SLIDER_INDICATOR = '.' + CLASS_SLIDER_INDICATOR; - var SELECTOR_SLIDER_PROGRESS_BAR = '.mui-slider-progress-bar'; - - var Slider = $.Slider = $.Scroll.extend({ - init: function(element, options) { - this._super(element, $.extend(true, { - fingers: 1, - interval: 0, //设置为0,则不定时轮播 - scrollY: false, - scrollX: true, - indicators: false, - scrollTime: 1000, - startX: false, - slideTime: 0, //滑动动画时间 - snap: SELECTOR_SLIDER_ITEM - }, options)); - if (this.options.startX) { - // $.trigger(this.wrapper, 'scrollend', this); - } - }, - _init: function() { - this._reInit(); - if (this.scroller) { - this.scrollerStyle = this.scroller.style; - this.progressBar = this.wrapper.querySelector(SELECTOR_SLIDER_PROGRESS_BAR); - if (this.progressBar) { - this.progressBarWidth = this.progressBar.offsetWidth; - this.progressBarStyle = this.progressBar.style; - } - //忘记这个代码是干什么的了? - // this.x = this._getScroll(); - // if (this.options.startX === false) { - // this.options.startX = this.x; - // } - //根据active修正startX - - this._super(); - this._initTimer(); - } - }, - _triggerSlide: function() { - var self = this; - self.isInTransition = false; - var page = self.currentPage; - self.slideNumber = self._fixedSlideNumber(); - if (self.loop) { - if (self.slideNumber === 0) { - self.setTranslate(self.pages[1][0].x, 0); - } else if (self.slideNumber === self.itemLength - 3) { - self.setTranslate(self.pages[self.itemLength - 2][0].x, 0); - } - } - if (self.lastSlideNumber != self.slideNumber) { - self.lastSlideNumber = self.slideNumber; - self.lastPage = self.currentPage; - $.trigger(self.wrapper, 'slide', { - slideNumber: self.slideNumber - }); - } - self._initTimer(); - }, - _handleSlide: function(e) { - var self = this; - if (e.target !== self.wrapper) { - return; - } - var detail = e.detail; - detail.slideNumber = detail.slideNumber || 0; - var temps = self.scroller.querySelectorAll(SELECTOR_SLIDER_ITEM); - var items = []; - for (var i = 0, len = temps.length; i < len; i++) { - var item = temps[i]; - if (item.parentNode === self.scroller) { - items.push(item); - } - } - var _slideNumber = detail.slideNumber; - if (self.loop) { - _slideNumber += 1; - } - if (!self.wrapper.classList.contains('mui-segmented-control')) { - for (var i = 0, len = items.length; i < len; i++) { - var item = items[i]; - if (item.parentNode === self.scroller) { - if (i === _slideNumber) { - item.classList.add(CLASS_ACTIVE); - } else { - item.classList.remove(CLASS_ACTIVE); - } - } - } - } - var indicatorWrap = self.wrapper.querySelector('.mui-slider-indicator'); - if (indicatorWrap) { - if (indicatorWrap.getAttribute('data-scroll')) { //scroll - $(indicatorWrap).scroll().gotoPage(detail.slideNumber); - } - var indicators = indicatorWrap.querySelectorAll('.mui-indicator'); - if (indicators.length > 0) { //图片轮播 - for (var i = 0, len = indicators.length; i < len; i++) { - indicators[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE); - } - } else { - var number = indicatorWrap.querySelector('.mui-number span'); - if (number) { //图文表格 - number.innerText = (detail.slideNumber + 1); - } else { //segmented controls - var controlItems = self.wrapper.querySelectorAll('.mui-control-item'); - for (var i = 0, len = controlItems.length; i < len; i++) { - controlItems[i].classList[i === detail.slideNumber ? 'add' : 'remove'](CLASS_ACTIVE); - } - } - } - } - e.stopPropagation(); - }, - _handleTabShow: function(e) { - var self = this; - self.gotoItem((e.detail.tabNumber || 0), self.options.slideTime); - }, - _handleIndicatorTap: function(event) { - var self = this; - var target = event.target; - if (target.classList.contains(CLASS_ACTION_PREVIOUS) || target.classList.contains(CLASS_ACTION_NEXT)) { - self[target.classList.contains(CLASS_ACTION_PREVIOUS) ? 'prevItem' : 'nextItem'](); - event.stopPropagation(); - } - }, - _initEvent: function(detach) { - var self = this; - self._super(detach); - var action = detach ? 'removeEventListener' : 'addEventListener'; - self.wrapper[action]('slide', this); - self.wrapper[action]($.eventName('shown', 'tab'), this); - }, - handleEvent: function(e) { - this._super(e); - switch (e.type) { - case 'slide': - this._handleSlide(e); - break; - case $.eventName('shown', 'tab'): - this._handleTabShow(e); - break; - } - }, - _scrollend: function(e) { - this._super(e); - this._triggerSlide(e); - }, - _drag: function(e) { - this._super(e); - var direction = e.detail.direction; - if (direction === 'left' || direction === 'right') { - //拖拽期间取消定时 - var slidershowTimer = this.wrapper.getAttribute('data-slidershowTimer'); - slidershowTimer && window.clearTimeout(slidershowTimer); - - e.stopPropagation(); - } - }, - _initTimer: function() { - var self = this; - var slider = self.wrapper; - var interval = self.options.interval; - var slidershowTimer = slider.getAttribute('data-slidershowTimer'); - slidershowTimer && window.clearTimeout(slidershowTimer); - if (interval) { - slidershowTimer = window.setTimeout(function() { - if (!slider) { - return; - } - //仅slider显示状态进行自动轮播 - if (!!(slider.offsetWidth || slider.offsetHeight)) { - self.nextItem(true); - //下一个 - } - self._initTimer(); - }, interval); - slider.setAttribute('data-slidershowTimer', slidershowTimer); - } - }, - - _fixedSlideNumber: function(page) { - page = page || this.currentPage; - var slideNumber = page.pageX; - if (this.loop) { - if (page.pageX === 0) { - slideNumber = this.itemLength - 3; - } else if (page.pageX === (this.itemLength - 1)) { - slideNumber = 0; - } else { - slideNumber = page.pageX - 1; - } - } - return slideNumber; - }, - _reLayout: function() { - this.hasHorizontalScroll = true; - this.loop = this.scroller.classList.contains(CLASS_SLIDER_LOOP); - this._super(); - }, - _getScroll: function() { - var result = $.parseTranslateMatrix($.getStyles(this.scroller, 'webkitTransform')); - return result ? result.x : 0; - }, - _transitionEnd: function(e) { - if (e.target !== this.scroller || !this.isInTransition) { - return; - } - this._transitionTime(); - this.isInTransition = false; - $.trigger(this.wrapper, 'scrollend', this); - }, - _flick: function(e) { - if (!this.moved) { //无moved - return; - } - var detail = e.detail; - var direction = detail.direction; - this._clearRequestAnimationFrame(); - this.isInTransition = true; - // if (direction === 'up' || direction === 'down') { - // this.resetPosition(this.options.bounceTime); - // return; - // } - if (e.type === 'flick') { - if (detail.deltaTime < 200) { //flick,太容易触发,额外校验一下deltaTime - this.x = this._getPage((this.slideNumber + (direction === 'right' ? -1 : 1)), true).x; - } - this.resetPosition(this.options.bounceTime); - } else if (e.type === 'dragend' && !detail.flick) { - this.resetPosition(this.options.bounceTime); - } - e.stopPropagation(); - }, - _initSnap: function() { - this.scrollerWidth = this.itemLength * this.scrollerWidth; - this.maxScrollX = Math.min(this.wrapperWidth - this.scrollerWidth, 0); - this._super(); - if (!this.currentPage.x) { - //当slider处于隐藏状态时,导致snap计算是错误的,临时先这么判断一下,后续要考虑解决所有scroll在隐藏状态下初始化属性不正确的问题 - var currentPage = this.pages[this.loop ? 1 : 0]; - currentPage = currentPage || this.pages[0]; - if (!currentPage) { - return; - } - this.currentPage = currentPage[0]; - this.slideNumber = 0; - this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? 0 : this.lastSlideNumber; - } else { - this.slideNumber = this._fixedSlideNumber(); - this.lastSlideNumber = typeof this.lastSlideNumber === 'undefined' ? this.slideNumber : this.lastSlideNumber; - } - this.options.startX = this.currentPage.x || 0; - }, - _getSnapX: function(offsetLeft) { - return Math.max(-offsetLeft, this.maxScrollX); - }, - _getPage: function(slideNumber, isFlick) { - if (this.loop) { - if (slideNumber > (this.itemLength - (isFlick ? 2 : 3))) { - slideNumber = 1; - time = 0; - } else if (slideNumber < (isFlick ? -1 : 0)) { - slideNumber = this.itemLength - 2; - time = 0; - } else { - slideNumber += 1; - } - } else { - if (!isFlick) { - if (slideNumber > (this.itemLength - 1)) { - slideNumber = 0; - time = 0; - } else if (slideNumber < 0) { - slideNumber = this.itemLength - 1; - time = 0; - } - } - slideNumber = Math.min(Math.max(0, slideNumber), this.itemLength - 1); - } - return this.pages[slideNumber][0]; - }, - _gotoItem: function(slideNumber, time) { - this.currentPage = this._getPage(slideNumber, true); //此处传true。可保证程序切换时,动画与人手操作一致(第一张,最后一张的切换动画) - this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing); - if (time === 0) { - $.trigger(this.wrapper, 'scrollend', this); - } - }, - //API - setTranslate: function(x, y) { - this._super(x, y); - var progressBar = this.progressBar; - if (progressBar) { - this.progressBarStyle.webkitTransform = this._getTranslateStr((-x * (this.progressBarWidth / this.wrapperWidth)), 0); - } - }, - resetPosition: function(time) { - time = time || 0; - if (this.x > 0) { - this.x = 0; - } else if (this.x < this.maxScrollX) { - this.x = this.maxScrollX; - } - this.currentPage = this._nearestSnap(this.x); - this.scrollTo(this.currentPage.x, 0, time, this.options.scrollEasing); - return true; - }, - gotoItem: function(slideNumber, time) { - this._gotoItem(slideNumber, typeof time === 'undefined' ? this.options.scrollTime : time); - }, - nextItem: function() { - this._gotoItem(this.slideNumber + 1, this.options.scrollTime); - }, - prevItem: function() { - this._gotoItem(this.slideNumber - 1, this.options.scrollTime); - }, - getSlideNumber: function() { - return this.slideNumber || 0; - }, - _reInit: function() { - var groups = this.wrapper.querySelectorAll('.' + CLASS_SLIDER_GROUP); - for (var i = 0, len = groups.length; i < len; i++) { - if (groups[i].parentNode === this.wrapper) { - this.scroller = groups[i]; - break; - } - } - this.scrollerStyle = this.scroller && this.scroller.style; - if (this.progressBar) { - this.progressBarWidth = this.progressBar.offsetWidth; - this.progressBarStyle = this.progressBar.style; - } - }, - refresh: function(options) { - if (options) { - $.extend(this.options, options); - this._super(); - this._initTimer(); - } else { - this._super(); - } - }, - destroy: function() { - this._initEvent(true); //detach - delete $.data[this.wrapper.getAttribute('data-slider')]; - this.wrapper.setAttribute('data-slider', ''); - } - }); - $.fn.slider = function(options) { - var slider = null; - this.each(function() { - var sliderElement = this; - if (!this.classList.contains(CLASS_SLIDER)) { - sliderElement = this.querySelector('.' + CLASS_SLIDER); - } - if (sliderElement && sliderElement.querySelector(SELECTOR_SLIDER_ITEM)) { - var id = sliderElement.getAttribute('data-slider'); - if (!id) { - id = ++$.uuid; - $.data[id] = slider = new Slider(sliderElement, options); - sliderElement.setAttribute('data-slider', id); - } else { - slider = $.data[id]; - if (slider && options) { - slider.refresh(options); - } - } - } - }); - return slider; - }; - $.ready(function() { - // setTimeout(function() { - $('.mui-slider').slider(); - $('.mui-scroll-wrapper.mui-slider-indicator.mui-segmented-control').scroll({ - scrollY: false, - scrollX: true, - indicators: false, - snap: '.mui-control-item' - }); - // }, 500); //临时处理slider宽度计算不正确的问题(初步确认是scrollbar导致的) - - }); -})(mui, window); -/** - * pullRefresh 5+ - * @param {type} $ - * @returns {undefined} - */ -(function($, document) { - if (!($.os.plus && $.os.android)) { //仅在android的5+版本使用 - return; - } - var CLASS_PLUS_PULLREFRESH = 'mui-plus-pullrefresh'; - var CLASS_VISIBILITY = 'mui-visibility'; - var CLASS_HIDDEN = 'mui-hidden'; - var CLASS_BLOCK = 'mui-block'; - - var CLASS_PULL_CAPTION = 'mui-pull-caption'; - var CLASS_PULL_CAPTION_DOWN = 'mui-pull-caption-down'; - var CLASS_PULL_CAPTION_REFRESH = 'mui-pull-caption-refresh'; - var CLASS_PULL_CAPTION_NOMORE = 'mui-pull-caption-nomore'; - - var PlusPullRefresh = $.Class.extend({ - init: function(element, options) { - this.element = element; - this.options = options; - this.wrapper = this.scroller = element; - this._init(); - this._initPulldownRefreshEvent(); - }, - _init: function() { - var self = this; - // document.addEventListener('plusscrollbottom', this); - window.addEventListener('dragup', self); - document.addEventListener("plusscrollbottom", self); - self.scrollInterval = window.setInterval(function() { - if (self.isScroll && !self.loading) { - if (window.pageYOffset + window.innerHeight + 10 >= document.documentElement.scrollHeight) { - self.isScroll = false; //放在这里是因为快速滚动的话,有可能检测时,还没到底,所以只要有滚动,没到底之前一直检测高度变化 - if (self.bottomPocket) { - self.pullupLoading(); - } - } - } - }, 100); - }, - _initPulldownRefreshEvent: function() { - var self = this; - if (self.topPocket && self.options.webviewId) { - $.plusReady(function() { - var webview = plus.webview.getWebviewById(self.options.webviewId); - if (!webview) { - return; - } - self.options.webview = webview; - var downOptions = self.options.down; - var height = downOptions.height; - webview.addEventListener("dragBounce", function(e) { - if (!self.pulldown) { - self._initPulldownRefresh(); - } else { - self.pullPocket.classList.add(CLASS_BLOCK); - } - switch (e.status) { - case "beforeChangeOffset": //下拉可刷新状态 - self._setCaption(downOptions.contentdown); - break; - case "afterChangeOffset": //松开可刷新状态 - self._setCaption(downOptions.contentover); - break; - case "dragEndAfterChangeOffset": //正在刷新状态 - //执行下拉刷新所在webview的回调函数 - webview.evalJS("mui&&mui.options.pullRefresh.down.callback()"); - self._setCaption(downOptions.contentrefresh); - break; - default: - break; - } - }, false); - webview.setBounce({ - position: { - top: height * 2 + 'px' - }, - changeoffset: { - top: height + 'px' - } - }); - }); - } - }, - handleEvent: function(e) { - var self = this; - if (self.stopped) { - return; - } - //5+的plusscrollbottom当页面内容较少时,不触发 - // if (e.type === 'plusscrollbottom') { - // if (this.bottomPocket) { - // this.pullupLoading(); - // } - // } - self.isScroll = false; - if (e.type === 'dragup' || e.type === 'plusscrollbottom') { - self.isScroll = true; - setTimeout(function() { - self.isScroll = false; - }, 1000); - } - } - }).extend($.extend({ - setStopped: function(stopped) { //该方法是子页面调用的 - this.stopped = !!stopped; - //TODO 此处需要设置当前webview的bounce为none,目前5+有BUG - var webview = plus.webview.currentWebview(); - if (this.stopped) { - webview.setStyle({ - bounce: 'none' - }); - webview.setBounce({ - position: { - top: 'none' - } - }); - } else { - var height = this.options.down.height; - webview.setStyle({ - bounce: 'vertical' - }); - webview.setBounce({ - position: { - top: height * 2 + 'px' - }, - changeoffset: { - top: height + 'px' - } - }); - } - }, - pulldownLoading: function() { //该方法是子页面调用的 - $.plusReady(function() { - plus.webview.currentWebview().setBounce({ - offset: { - top: this.options.down.height + "px" - } - }); - }.bind(this)); - }, - // _pulldownLoading: function() { //该方法是子页面调用的 - // var self = this; - // $.plusReady(function() { - // plus.webview.getWebviewById(self.options.webviewId).evalJS("mui&&mui.options.pullRefresh.down&&mui.options.pullRefresh.down.callback()"); - // }); - // }, - endPulldownToRefresh: function() { //该方法是子页面调用的 - var webview = plus.webview.currentWebview(); - webview.parent().evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify({ - webviewId: webview.id - }) + "')._endPulldownToRefresh()"); - }, - _endPulldownToRefresh: function() { //该方法是父页面调用的 - var self = this; - if (self.topPocket && self.options.webview) { - self.options.webview.endPullToRefresh(); //下拉刷新所在webview回弹 - self.loading = false; - self._setCaption(self.options.down.contentdown, true); - setTimeout(function() { - self.loading || self.topPocket.classList.remove(CLASS_BLOCK); - }, 350); - } - }, - pullupLoading: function(callback) { - var self = this; - if (self.isLoading) return; - self.isLoading = true; - if (self.pulldown !== false) { - self._initPullupRefresh(); - } else { - this.pullPocket.classList.add(CLASS_BLOCK); - } - setTimeout(function() { - self.pullLoading.classList.add(CLASS_VISIBILITY); - self.pullLoading.classList.remove(CLASS_HIDDEN); - self.pullCaption.innerHTML = ''; //修正5+里边第一次加载时,文字显示的bug(还会显示出来个“多”,猜测应该是渲染问题导致的) - self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_REFRESH; - self.pullCaption.innerHTML = self.options.up.contentrefresh; - callback = callback || self.options.up.callback; - callback && callback.call(self); - }, 300); - }, - endPullupToRefresh: function(finished) { - var self = this; - if (self.pullLoading) { - self.pullLoading.classList.remove(CLASS_VISIBILITY); - self.pullLoading.classList.add(CLASS_HIDDEN); - self.isLoading = false; - if (finished) { - self.finished = true; - self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_NOMORE; - self.pullCaption.innerHTML = self.options.up.contentnomore; - // self.bottomPocket.classList.remove(CLASS_BLOCK); - // self.bottomPocket.classList.add(CLASS_HIDDEN); - //取消5+的plusscrollbottom事件 - document.removeEventListener('plusscrollbottom', self); - window.removeEventListener('dragup', self); - } else { //初始化时隐藏,后续不再隐藏 - self.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN; - self.pullCaption.innerHTML = self.options.up.contentdown; - // setTimeout(function() { - // self.loading || self.bottomPocket.classList.remove(CLASS_BLOCK); - // }, 350); - } - } - }, - disablePullupToRefresh: function() { - this._initPullupRefresh(); - this.bottomPocket.className = 'mui-pull-bottom-pocket' + ' ' + CLASS_HIDDEN; - window.removeEventListener('dragup', this); - }, - enablePullupToRefresh: function() { - this._initPullupRefresh(); - this.bottomPocket.classList.remove(CLASS_HIDDEN); - this.pullCaption.className = CLASS_PULL_CAPTION + ' ' + CLASS_PULL_CAPTION_DOWN; - this.pullCaption.innerHTML = this.options.up.contentdown; - document.addEventListener("plusscrollbottom", this); - window.addEventListener('dragup', this); - }, - scrollTo: function(x, y, time) { - $.scrollTo(y, time); - }, - refresh: function(isReset) { - if (isReset && this.finished) { - this.enablePullupToRefresh(); - this.finished = false; - } - } - }, $.PullRefresh)); - - //override h5 pullRefresh - $.fn.pullRefresh = function(options) { - var self; - if (this.length === 0) { - self = document.createElement('div'); - self.className = 'mui-content'; - document.body.appendChild(self); - } else { - self = this[0]; - } - //一个父需要支持多个子下拉刷新 - options = options || {} - if (typeof options === 'string') { - options = $.parseJSON(options); - }; - !options.webviewId && (options.webviewId = (plus.webview.currentWebview().id || plus.webview.currentWebview().getURL())); - var pullRefreshApi = null; - var attrWebviewId = options.webviewId && options.webviewId.replace(/\//g, "_"); //替换所有"/" - var id = self.getAttribute('data-pullrefresh-plus-' + attrWebviewId); - if (!id) { //避免重复初始化5+ pullrefresh - id = ++$.uuid; - self.setAttribute('data-pullrefresh-plus-' + attrWebviewId, id); - document.body.classList.add(CLASS_PLUS_PULLREFRESH); - $.data[id] = pullRefreshApi = new PlusPullRefresh(self, options); - } else { - pullRefreshApi = $.data[id]; - } - if (options.down && options.down.auto) { //如果设置了auto,则自动下拉一次 - pullRefreshApi.pulldownLoading(); //parent webview - } else if (options.up && options.up.auto) { //如果设置了auto,则自动上拉一次 - pullRefreshApi.pullupLoading(); - } - return pullRefreshApi; - }; -})(mui, document); -/** - * off-canvas - * @param {type} $ - * @param {type} window - * @param {type} document - * @param {type} action - * @returns {undefined} - */ -(function($, window, document, name) { - var CLASS_OFF_CANVAS_LEFT = 'mui-off-canvas-left'; - var CLASS_OFF_CANVAS_RIGHT = 'mui-off-canvas-right'; - var CLASS_ACTION_BACKDROP = 'mui-off-canvas-backdrop'; - var CLASS_OFF_CANVAS_WRAP = 'mui-off-canvas-wrap'; - - var CLASS_SLIDE_IN = 'mui-slide-in'; - var CLASS_ACTIVE = 'mui-active'; - - - var CLASS_TRANSITIONING = 'mui-transitioning'; - - var SELECTOR_INNER_WRAP = '.mui-inner-wrap'; - - - var OffCanvas = $.Class.extend({ - init: function(element, options) { - this.wrapper = this.element = element; - this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP); - this.classList = this.wrapper.classList; - if (this.scroller) { - this.options = $.extend(true, { - dragThresholdX: 10, - scale: 0.8, - opacity: 0.1, - preventDefaultException: { - tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT|VIDEO)$/ - }, - }, options); - document.body.classList.add('mui-fullscreen'); //fullscreen - this.refresh(); - this.initEvent(); - } - }, - _preventDefaultException: function(el, exceptions) { - for (var i in exceptions) { - if (exceptions[i].test(el[i])) { - return true; - } - } - return false; - }, - refresh: function(offCanvas) { - // offCanvas && !offCanvas.classList.contains(CLASS_ACTIVE) && this.classList.remove(CLASS_ACTIVE); - this.slideIn = this.classList.contains(CLASS_SLIDE_IN); - this.scalable = this.classList.contains('mui-scalable') && !this.slideIn; - this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP); - // !offCanvas && this.scroller.classList.remove(CLASS_TRANSITIONING); - // !offCanvas && this.scroller.setAttribute('style', ''); - this.offCanvasLefts = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_LEFT); - this.offCanvasRights = this.wrapper.querySelectorAll('.' + CLASS_OFF_CANVAS_RIGHT); - if (offCanvas) { - if (offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) { - this.offCanvasLeft = offCanvas; - } else if (offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) { - this.offCanvasRight = offCanvas; - } - } else { - this.offCanvasRight = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT); - this.offCanvasLeft = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT); - } - this.offCanvasRightWidth = this.offCanvasLeftWidth = 0; - this.offCanvasLeftSlideIn = this.offCanvasRightSlideIn = false; - if (this.offCanvasRight) { - this.offCanvasRightWidth = this.offCanvasRight.offsetWidth; - this.offCanvasRightSlideIn = this.slideIn && (this.offCanvasRight.parentNode === this.wrapper); - // this.offCanvasRight.classList.remove(CLASS_TRANSITIONING); - // this.offCanvasRight.classList.remove(CLASS_ACTIVE); - // this.offCanvasRight.setAttribute('style', ''); - } - if (this.offCanvasLeft) { - this.offCanvasLeftWidth = this.offCanvasLeft.offsetWidth; - this.offCanvasLeftSlideIn = this.slideIn && (this.offCanvasLeft.parentNode === this.wrapper); - // this.offCanvasLeft.classList.remove(CLASS_TRANSITIONING); - // this.offCanvasLeft.classList.remove(CLASS_ACTIVE); - // this.offCanvasLeft.setAttribute('style', ''); - } - this.backdrop = this.scroller.querySelector('.' + CLASS_ACTION_BACKDROP); - - this.options.dragThresholdX = this.options.dragThresholdX || 10; - - this.visible = false; - this.startX = null; - this.lastX = null; - this.offsetX = null; - this.lastTranslateX = null; - }, - handleEvent: function(e) { - switch (e.type) { - case $.EVENT_START: - e.target && !this._preventDefaultException(e.target, this.options.preventDefaultException) && e.preventDefault(); - break; - case 'webkitTransitionEnd': //有个bug需要处理,需要考虑假设没有触发webkitTransitionEnd的情况 - if (e.target === this.scroller) { - this._dispatchEvent(); - } - break; - case 'drag': - var detail = e.detail; - if (!this.startX) { - this.startX = detail.center.x; - this.lastX = this.startX; - } else { - this.lastX = detail.center.x; - } - if (!this.isDragging && Math.abs(this.lastX - this.startX) > this.options.dragThresholdX && (detail.direction === 'left' || (detail.direction === 'right'))) { - if (this.slideIn) { - this.scroller = this.wrapper.querySelector(SELECTOR_INNER_WRAP); - if (this.classList.contains(CLASS_ACTIVE)) { - if (this.offCanvasRight && this.offCanvasRight.classList.contains(CLASS_ACTIVE)) { - this.offCanvas = this.offCanvasRight; - this.offCanvasWidth = this.offCanvasRightWidth; - } else { - this.offCanvas = this.offCanvasLeft; - this.offCanvasWidth = this.offCanvasLeftWidth; - } - } else { - if (detail.direction === 'left' && this.offCanvasRight) { - this.offCanvas = this.offCanvasRight; - this.offCanvasWidth = this.offCanvasRightWidth; - } else if (detail.direction === 'right' && this.offCanvasLeft) { - this.offCanvas = this.offCanvasLeft; - this.offCanvasWidth = this.offCanvasLeftWidth; - } else { - this.scroller = null; - } - } - } else { - if (this.classList.contains(CLASS_ACTIVE)) { - if (detail.direction === 'left') { - this.offCanvas = this.offCanvasLeft; - this.offCanvasWidth = this.offCanvasLeftWidth; - } else { - this.offCanvas = this.offCanvasRight; - this.offCanvasWidth = this.offCanvasRightWidth; - } - } else { - if (detail.direction === 'right') { - this.offCanvas = this.offCanvasLeft; - this.offCanvasWidth = this.offCanvasLeftWidth; - } else { - this.offCanvas = this.offCanvasRight; - this.offCanvasWidth = this.offCanvasRightWidth; - } - } - } - if (this.offCanvas && this.scroller) { - this.startX = this.lastX; - this.isDragging = true; - - $.gestures.session.lockDirection = true; //锁定方向 - $.gestures.session.startDirection = detail.direction; - - this.offCanvas.classList.remove(CLASS_TRANSITIONING); - this.scroller.classList.remove(CLASS_TRANSITIONING); - this.offsetX = this.getTranslateX(); - this._initOffCanvasVisible(); - } - } - if (this.isDragging) { - this.updateTranslate(this.offsetX + (this.lastX - this.startX)); - detail.gesture.preventDefault(); - e.stopPropagation(); - } - break; - case 'dragend': - if (this.isDragging) { - var detail = e.detail; - var direction = detail.direction; - this.isDragging = false; - this.offCanvas.classList.add(CLASS_TRANSITIONING); - this.scroller.classList.add(CLASS_TRANSITIONING); - var ratio = 0; - var x = this.getTranslateX(); - if (!this.slideIn) { - if (x >= 0) { - ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0; - } else { - ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0; - } - if (ratio === 0) { - this.openPercentage(0); - this._dispatchEvent(); //此处不触发webkitTransitionEnd,所以手动dispatch - return; - } - if (direction === 'right' && ratio >= 0 && (ratio >= 0.5 || detail.swipe)) { //右滑打开 - this.openPercentage(100); - } else if (direction === 'right' && ratio < 0 && (ratio > -0.5 || detail.swipe)) { //右滑关闭 - this.openPercentage(0); - } else if (direction === 'right' && ratio > 0 && ratio < 0.5) { //右滑还原关闭 - this.openPercentage(0); - } else if (direction === 'right' && ratio < 0.5) { //右滑还原打开 - this.openPercentage(-100); - } else if (direction === 'left' && ratio <= 0 && (ratio <= -0.5 || detail.swipe)) { //左滑打开 - this.openPercentage(-100); - } else if (direction === 'left' && ratio > 0 && (ratio <= 0.5 || detail.swipe)) { //左滑关闭 - this.openPercentage(0); - } else if (direction === 'left' && ratio < 0 && ratio >= -0.5) { //左滑还原关闭 - this.openPercentage(0); - } else if (direction === 'left' && ratio > 0.5) { //左滑还原打开 - this.openPercentage(100); - } else { //默认关闭 - this.openPercentage(0); - } - if (ratio === 1 || ratio === -1) { //此处不触发webkitTransitionEnd,所以手动dispatch - this._dispatchEvent(); - } - } else { - if (x >= 0) { - ratio = (this.offCanvasRightWidth && (x / this.offCanvasRightWidth)) || 0; - } else { - ratio = (this.offCanvasLeftWidth && (x / this.offCanvasLeftWidth)) || 0; - } - if (direction === 'right' && ratio <= 0 && (ratio >= -0.5 || detail.swipe)) { //右滑打开 - this.openPercentage(100); - } else if (direction === 'right' && ratio > 0 && (ratio >= 0.5 || detail.swipe)) { //右滑关闭 - this.openPercentage(0); - } else if (direction === 'right' && ratio <= -0.5) { //右滑还原关闭 - this.openPercentage(0); - } else if (direction === 'right' && ratio > 0 && ratio <= 0.5) { //右滑还原打开 - this.openPercentage(-100); - } else if (direction === 'left' && ratio >= 0 && (ratio <= 0.5 || detail.swipe)) { //左滑打开 - this.openPercentage(-100); - } else if (direction === 'left' && ratio < 0 && (ratio <= -0.5 || detail.swipe)) { //左滑关闭 - this.openPercentage(0); - } else if (direction === 'left' && ratio >= 0.5) { //左滑还原关闭 - this.openPercentage(0); - } else if (direction === 'left' && ratio >= -0.5 && ratio < 0) { //左滑还原打开 - this.openPercentage(100); - } else { - this.openPercentage(0); - } - if (ratio === 1 || ratio === -1 || ratio === 0) { - this._dispatchEvent(); - return; - } - - } - } - break; - } - }, - _dispatchEvent: function() { - if (this.classList.contains(CLASS_ACTIVE)) { - $.trigger(this.wrapper, 'shown', this); - } else { - $.trigger(this.wrapper, 'hidden', this); - } - }, - _initOffCanvasVisible: function() { - if (!this.visible) { - this.visible = true; - if (this.offCanvasLeft) { - this.offCanvasLeft.style.visibility = 'visible'; - } - if (this.offCanvasRight) { - this.offCanvasRight.style.visibility = 'visible'; - } - } - }, - initEvent: function() { - var self = this; - if (self.backdrop) { - self.backdrop.addEventListener('tap', function(e) { - self.close(); - e.detail.gesture.preventDefault(); - }); - } - if (this.classList.contains('mui-draggable')) { - this.wrapper.addEventListener($.EVENT_START, this); //临时处理 - this.wrapper.addEventListener('drag', this); - this.wrapper.addEventListener('dragend', this); - } - this.wrapper.addEventListener('webkitTransitionEnd', this); - }, - openPercentage: function(percentage) { - var p = percentage / 100; - if (!this.slideIn) { - if (this.offCanvasLeft && percentage >= 0) { - this.updateTranslate(this.offCanvasLeftWidth * p); - this.offCanvasLeft.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); - } else if (this.offCanvasRight && percentage <= 0) { - this.updateTranslate(this.offCanvasRightWidth * p); - this.offCanvasRight.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); - } - this.classList[p !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); - } else { - if (this.offCanvasLeft && percentage >= 0) { - p = p === 0 ? -1 : 0; - this.updateTranslate(this.offCanvasLeftWidth * p); - this.offCanvasLeft.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); - } else if (this.offCanvasRight && percentage <= 0) { - p = p === 0 ? 1 : 0; - this.updateTranslate(this.offCanvasRightWidth * p); - this.offCanvasRight.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); - } - this.classList[percentage !== 0 ? 'add' : 'remove'](CLASS_ACTIVE); - } - }, - updateTranslate: function(x) { - if (x !== this.lastTranslateX) { - if (!this.slideIn) { - if ((!this.offCanvasLeft && x > 0) || (!this.offCanvasRight && x < 0)) { - this.setTranslateX(0); - return; - } - if (this.leftShowing && x > this.offCanvasLeftWidth) { - this.setTranslateX(this.offCanvasLeftWidth); - return; - } - if (this.rightShowing && x < -this.offCanvasRightWidth) { - this.setTranslateX(-this.offCanvasRightWidth); - return; - } - this.setTranslateX(x); - if (x >= 0) { - this.leftShowing = true; - this.rightShowing = false; - if (x > 0) { - if (this.offCanvasLeft) { - $.each(this.offCanvasLefts, function(index, offCanvas) { - if (offCanvas === this.offCanvasLeft) { - this.offCanvasLeft.style.zIndex = 0; - } else { - offCanvas.style.zIndex = -1; - } - }.bind(this)); - } - if (this.offCanvasRight) { - this.offCanvasRight.style.zIndex = -1; - } - } - } else { - this.rightShowing = true; - this.leftShowing = false; - if (this.offCanvasRight) { - $.each(this.offCanvasRights, function(index, offCanvas) { - if (offCanvas === this.offCanvasRight) { - offCanvas.style.zIndex = 0; - } else { - offCanvas.style.zIndex = -1; - } - }.bind(this)); - } - if (this.offCanvasLeft) { - this.offCanvasLeft.style.zIndex = -1; - } - } - } else { - if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_RIGHT)) { - if (x < 0) { - this.setTranslateX(0); - return; - } - if (x > this.offCanvasRightWidth) { - this.setTranslateX(this.offCanvasRightWidth); - return; - } - } else { - if (x > 0) { - this.setTranslateX(0); - return; - } - if (x < -this.offCanvasLeftWidth) { - this.setTranslateX(-this.offCanvasLeftWidth); - return; - } - } - this.setTranslateX(x); - } - this.lastTranslateX = x; - } - }, - setTranslateX: $.animationFrame(function(x) { - if (this.scroller) { - if (this.scalable && this.offCanvas.parentNode === this.wrapper) { - var percent = Math.abs(x) / this.offCanvasWidth; - var zoomOutScale = 1 - (1 - this.options.scale) * percent; - var zoomInScale = this.options.scale + (1 - this.options.scale) * percent; - var zoomOutOpacity = 1 - (1 - this.options.opacity) * percent; - var zoomInOpacity = this.options.opacity + (1 - this.options.opacity) * percent; - if (this.offCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT)) { - this.offCanvas.style.webkitTransformOrigin = '-100%'; - this.scroller.style.webkitTransformOrigin = 'left'; - } else { - this.offCanvas.style.webkitTransformOrigin = '200%'; - this.scroller.style.webkitTransformOrigin = 'right'; - } - this.offCanvas.style.opacity = zoomInOpacity; - this.offCanvas.style.webkitTransform = 'translate3d(0,0,0) scale(' + zoomInScale + ')'; - this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0) scale(' + zoomOutScale + ')'; - } else { - if (this.slideIn) { - this.offCanvas.style.webkitTransform = 'translate3d(' + x + 'px,0,0)'; - } else { - this.scroller.style.webkitTransform = 'translate3d(' + x + 'px,0,0)'; - } - } - } - }), - getTranslateX: function() { - if (this.offCanvas) { - var scroller = this.slideIn ? this.offCanvas : this.scroller; - var result = $.parseTranslateMatrix($.getStyles(scroller, 'webkitTransform')); - return (result && result.x) || 0; - } - return 0; - }, - isShown: function(direction) { - var shown = false; - if (!this.slideIn) { - var x = this.getTranslateX(); - if (direction === 'right') { - shown = this.classList.contains(CLASS_ACTIVE) && x < 0; - } else if (direction === 'left') { - shown = this.classList.contains(CLASS_ACTIVE) && x > 0; - } else { - shown = this.classList.contains(CLASS_ACTIVE) && x !== 0; - } - } else { - if (direction === 'left') { - shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE); - } else if (direction === 'right') { - shown = this.classList.contains(CLASS_ACTIVE) && this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE); - } else { - shown = this.classList.contains(CLASS_ACTIVE) && (this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE)); - } - } - return shown; - }, - close: function() { - this._initOffCanvasVisible(); - this.offCanvas = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT + '.' + CLASS_ACTIVE) || this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_LEFT + '.' + CLASS_ACTIVE); - this.offCanvasWidth = this.offCanvas.offsetWidth; - if (this.scroller) { - this.offCanvas.offsetHeight; - this.offCanvas.classList.add(CLASS_TRANSITIONING); - this.scroller.classList.add(CLASS_TRANSITIONING); - this.openPercentage(0); - } - }, - show: function(direction) { - this._initOffCanvasVisible(); - if (this.isShown(direction)) { - return false; - } - if (!direction) { - direction = this.wrapper.querySelector('.' + CLASS_OFF_CANVAS_RIGHT) ? 'right' : 'left'; - } - if (direction === 'right') { - this.offCanvas = this.offCanvasRight; - this.offCanvasWidth = this.offCanvasRightWidth; - } else { - this.offCanvas = this.offCanvasLeft; - this.offCanvasWidth = this.offCanvasLeftWidth; - } - if (this.scroller) { - this.offCanvas.offsetHeight; - this.offCanvas.classList.add(CLASS_TRANSITIONING); - this.scroller.classList.add(CLASS_TRANSITIONING); - this.openPercentage(direction === 'left' ? 100 : -100); - } - return true; - }, - toggle: function(directionOrOffCanvas) { - var direction = directionOrOffCanvas; - if (directionOrOffCanvas && directionOrOffCanvas.classList) { - direction = directionOrOffCanvas.classList.contains(CLASS_OFF_CANVAS_LEFT) ? 'left' : 'right'; - this.refresh(directionOrOffCanvas); - } - if (!this.show(direction)) { - this.close(); - } - } - }); - - //hash to offcanvas - var findOffCanvasContainer = function(target) { - parentNode = target.parentNode; - if (parentNode) { - if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) { - return parentNode; - } else { - parentNode = parentNode.parentNode; - if (parentNode.classList.contains(CLASS_OFF_CANVAS_WRAP)) { - return parentNode; - } - } - } - }; - var handle = function(event, target) { - if (target.tagName === 'A' && target.hash) { - var offcanvas = document.getElementById(target.hash.replace('#', '')); - if (offcanvas) { - var container = findOffCanvasContainer(offcanvas); - if (container) { - $.targets._container = container; - return offcanvas; - } - } - } - return false; - }; - - $.registerTarget({ - name: name, - index: 60, - handle: handle, - target: false, - isReset: false, - isContinue: true - }); - - window.addEventListener('tap', function(e) { - if (!$.targets.offcanvas) { - return; - } - //TODO 此处类型的代码后续考虑统一优化(target机制),现在的实现费力不讨好 - var target = e.target; - for (; target && target !== document; target = target.parentNode) { - if (target.tagName === 'A' && target.hash && target.hash === ('#' + $.targets.offcanvas.id)) { - e.detail && e.detail.gesture && e.detail.gesture.preventDefault(); //fixed hashchange - $($.targets._container).offCanvas().toggle($.targets.offcanvas); - $.targets.offcanvas = $.targets._container = null; - break; - } - } - }); - - $.fn.offCanvas = function(options) { - var offCanvasApis = []; - this.each(function() { - var offCanvasApi = null; - var self = this; - //hack old version - if (!self.classList.contains(CLASS_OFF_CANVAS_WRAP)) { - self = findOffCanvasContainer(self); - } - var id = self.getAttribute('data-offCanvas'); - if (!id) { - id = ++$.uuid; - $.data[id] = offCanvasApi = new OffCanvas(self, options); - self.setAttribute('data-offCanvas', id); - } else { - offCanvasApi = $.data[id]; - } - if (options === 'show' || options === 'close' || options === 'toggle') { - offCanvasApi.toggle(); - } - offCanvasApis.push(offCanvasApi); - }); - return offCanvasApis.length === 1 ? offCanvasApis[0] : offCanvasApis; - }; - $.ready(function() { - $('.mui-off-canvas-wrap').offCanvas(); - }); -})(mui, window, document, 'offcanvas'); -/** - * actions - * @param {type} $ - * @param {type} name - * @returns {undefined} - */ -(function($, name) { - var CLASS_ACTION = 'mui-action'; - - var handle = function(event, target) { - var className = target.className || ''; - if (typeof className !== 'string') { //svg className(SVGAnimatedString) - className = ''; - } - if (className && ~className.indexOf(CLASS_ACTION)) { - if (target.classList.contains('mui-action-back')) { - event.preventDefault(); - } - return target; - } - return false; - }; - - $.registerTarget({ - name: name, - index: 50, - handle: handle, - target: false, - isContinue: true - }); - -})(mui, 'action'); -/** - * Modals - * @param {type} $ - * @param {type} window - * @param {type} document - * @param {type} name - * @returns {undefined} - */ -(function($, window, document, name) { - var CLASS_MODAL = 'mui-modal'; - - var handle = function(event, target) { - if (target.tagName === 'A' && target.hash) { - var modal = document.getElementById(target.hash.replace('#', '')); - if (modal && modal.classList.contains(CLASS_MODAL)) { - return modal; - } - } - return false; - }; - - $.registerTarget({ - name: name, - index: 50, - handle: handle, - target: false, - isReset: false, - isContinue: true - }); - - window.addEventListener('tap', function(event) { - if ($.targets.modal) { - event.detail.gesture.preventDefault(); //fixed hashchange - $.targets.modal.classList.toggle('mui-active'); - } - }); -})(mui, window, document, 'modal'); -/** - * Popovers - * @param {type} $ - * @param {type} window - * @param {type} document - * @param {type} name - * @param {type} undefined - * @returns {undefined} - */ -(function($, window, document, name) { - - var CLASS_POPOVER = 'mui-popover'; - var CLASS_POPOVER_ARROW = 'mui-popover-arrow'; - var CLASS_ACTION_POPOVER = 'mui-popover-action'; - var CLASS_BACKDROP = 'mui-backdrop'; - var CLASS_BAR_POPOVER = 'mui-bar-popover'; - var CLASS_BAR_BACKDROP = 'mui-bar-backdrop'; - var CLASS_ACTION_BACKDROP = 'mui-backdrop-action'; - var CLASS_ACTIVE = 'mui-active'; - var CLASS_BOTTOM = 'mui-bottom'; - - - - var handle = function(event, target) { - if (target.tagName === 'A' && target.hash) { - $.targets._popover = document.getElementById(target.hash.replace('#', '')); - if ($.targets._popover && $.targets._popover.classList.contains(CLASS_POPOVER)) { - return target; - } else { - $.targets._popover = null; - } - } - return false; - }; - - $.registerTarget({ - name: name, - index: 60, - handle: handle, - target: false, - isReset: false, - isContinue: true - }); - - var fixedPopoverScroll = function(isPopoverScroll) { - // if (isPopoverScroll) { - // document.body.setAttribute('style', 'overflow:hidden;'); - // } else { - // document.body.setAttribute('style', ''); - // } - }; - var onPopoverShown = function(e) { - this.removeEventListener('webkitTransitionEnd', onPopoverShown); - this.addEventListener($.EVENT_MOVE, $.preventDefault); - $.trigger(this, 'shown', this); - } - var onPopoverHidden = function(e) { - setStyle(this, 'none'); - this.removeEventListener('webkitTransitionEnd', onPopoverHidden); - this.removeEventListener($.EVENT_MOVE, $.preventDefault); - fixedPopoverScroll(false); - $.trigger(this, 'hidden', this); - }; - - var backdrop = (function() { - var element = document.createElement('div'); - element.classList.add(CLASS_BACKDROP); - element.addEventListener($.EVENT_MOVE, $.preventDefault); - element.addEventListener('tap', function(e) { - var popover = $.targets._popover; - if (popover) { - popover.addEventListener('webkitTransitionEnd', onPopoverHidden); - popover.classList.remove(CLASS_ACTIVE); - removeBackdrop(popover); - document.body.setAttribute('style', ''); //webkitTransitionEnd有时候不触发? - } - }); - - return element; - }()); - var removeBackdropTimer; - var removeBackdrop = function(popover) { - backdrop.setAttribute('style', 'opacity:0'); - $.targets.popover = $.targets._popover = null; //reset - removeBackdropTimer = $.later(function() { - if (!popover.classList.contains(CLASS_ACTIVE) && backdrop.parentNode && backdrop.parentNode === document.body) { - document.body.removeChild(backdrop); - } - }, 350); - }; - window.addEventListener('tap', function(e) { - if (!$.targets.popover) { - return; - } - var toggle = false; - var target = e.target; - for (; target && target !== document; target = target.parentNode) { - if (target === $.targets.popover) { - toggle = true; - } - } - if (toggle) { - e.detail.gesture.preventDefault(); //fixed hashchange - togglePopover($.targets._popover, $.targets.popover); - } - - }); - - var togglePopover = function(popover, anchor, state) { - if ((state === 'show' && popover.classList.contains(CLASS_ACTIVE)) || (state === 'hide' && !popover.classList.contains(CLASS_ACTIVE))) { - return; - } - removeBackdropTimer && removeBackdropTimer.cancel(); //取消remove的timer - //remove一遍,以免来回快速切换,导致webkitTransitionEnd不触发,无法remove - popover.removeEventListener('webkitTransitionEnd', onPopoverShown); - popover.removeEventListener('webkitTransitionEnd', onPopoverHidden); - backdrop.classList.remove(CLASS_BAR_BACKDROP); - backdrop.classList.remove(CLASS_ACTION_BACKDROP); - var _popover = document.querySelector('.mui-popover.mui-active'); - if (_popover) { - // _popover.setAttribute('style', ''); - _popover.addEventListener('webkitTransitionEnd', onPopoverHidden); - _popover.classList.remove(CLASS_ACTIVE); - // _popover.removeEventListener('webkitTransitionEnd', onPopoverHidden); - // fixedPopoverScroll(false); - //同一个弹出则直接返回,解决同一个popover的toggle - if (popover === _popover) { - removeBackdrop(_popover); - return; - } - } - var isActionSheet = false; - if (popover.classList.contains(CLASS_BAR_POPOVER) || popover.classList.contains(CLASS_ACTION_POPOVER)) { //navBar - if (popover.classList.contains(CLASS_ACTION_POPOVER)) { //action sheet popover - isActionSheet = true; - backdrop.classList.add(CLASS_ACTION_BACKDROP); - } else { //bar popover - backdrop.classList.add(CLASS_BAR_BACKDROP); - // if (anchor) { - // if (anchor.parentNode) { - // var offsetWidth = anchor.offsetWidth; - // var offsetLeft = anchor.offsetLeft; - // var innerWidth = window.innerWidth; - // popover.style.left = (Math.min(Math.max(offsetLeft, defaultPadding), innerWidth - offsetWidth - defaultPadding)) + "px"; - // } else { - // //TODO anchor is position:{left,top,bottom,right} - // } - // } - } - } - setStyle(popover, 'block'); //actionsheet transform - popover.offsetHeight; - popover.classList.add(CLASS_ACTIVE); - backdrop.setAttribute('style', ''); - document.body.appendChild(backdrop); - fixedPopoverScroll(true); - calPosition(popover, anchor, isActionSheet); //position - backdrop.classList.add(CLASS_ACTIVE); - popover.addEventListener('webkitTransitionEnd', onPopoverShown); - }; - var setStyle = function(popover, display, top, left) { - var style = popover.style; - if (typeof display !== 'undefined') - style.display = display; - if (typeof top !== 'undefined') - style.top = top + 'px'; - if (typeof left !== 'undefined') - style.left = left + 'px'; - }; - var calPosition = function(popover, anchor, isActionSheet) { - if (!popover || !anchor) { - return; - } - - if (isActionSheet) { //actionsheet - setStyle(popover, 'block') - return; - } - - var wWidth = window.innerWidth; - var wHeight = window.innerHeight; - - var pWidth = popover.offsetWidth; - var pHeight = popover.offsetHeight; - - var aWidth = anchor.offsetWidth; - var aHeight = anchor.offsetHeight; - var offset = $.offset(anchor); - - var arrow = popover.querySelector('.' + CLASS_POPOVER_ARROW); - if (!arrow) { - arrow = document.createElement('div'); - arrow.className = CLASS_POPOVER_ARROW; - popover.appendChild(arrow); - } - var arrowSize = arrow && arrow.offsetWidth / 2 || 0; - - - - var pTop = 0; - var pLeft = 0; - var diff = 0; - var arrowLeft = 0; - var defaultPadding = popover.classList.contains(CLASS_ACTION_POPOVER) ? 0 : 5; - - var position = 'top'; - if ((pHeight + arrowSize) < (offset.top - window.pageYOffset)) { //top - pTop = offset.top - pHeight - arrowSize; - } else if ((pHeight + arrowSize) < (wHeight - (offset.top - window.pageYOffset) - aHeight)) { //bottom - position = 'bottom'; - pTop = offset.top + aHeight + arrowSize; - } else { //middle - position = 'middle'; - pTop = Math.max((wHeight - pHeight) / 2 + window.pageYOffset, 0); - pLeft = Math.max((wWidth - pWidth) / 2 + window.pageXOffset, 0); - } - if (position === 'top' || position === 'bottom') { - pLeft = aWidth / 2 + offset.left - pWidth / 2; - diff = pLeft; - if (pLeft < defaultPadding) pLeft = defaultPadding; - if (pLeft + pWidth > wWidth) pLeft = wWidth - pWidth - defaultPadding; - - if (arrow) { - if (position === 'top') { - arrow.classList.add(CLASS_BOTTOM); - } else { - arrow.classList.remove(CLASS_BOTTOM); - } - diff = diff - pLeft; - arrowLeft = (pWidth / 2 - arrowSize / 2 + diff); - arrowLeft = Math.max(Math.min(arrowLeft, pWidth - arrowSize * 2 - 6), 6); - arrow.setAttribute('style', 'left:' + arrowLeft + 'px'); - } - } else if (position === 'middle') { - arrow.setAttribute('style', 'display:none'); - } - setStyle(popover, 'block', pTop, pLeft); - }; - - $.createMask = function(callback) { - var element = document.createElement('div'); - element.classList.add(CLASS_BACKDROP); - element.addEventListener($.EVENT_MOVE, $.preventDefault); - element.addEventListener('tap', function() { - mask.close(); - }); - var mask = [element]; - mask._show = false; - mask.show = function() { - mask._show = true; - element.setAttribute('style', 'opacity:1'); - document.body.appendChild(element); - return mask; - }; - mask._remove = function() { - if (mask._show) { - mask._show = false; - element.setAttribute('style', 'opacity:0'); - $.later(function() { - var body = document.body; - element.parentNode === body && body.removeChild(element); - }, 350); - } - return mask; - }; - mask.close = function() { - if (callback) { - if (callback() !== false) { - mask._remove(); - } - } else { - mask._remove(); - } - }; - return mask; - }; - $.fn.popover = function() { - var args = arguments; - this.each(function() { - $.targets._popover = this; - if (args[0] === 'show' || args[0] === 'hide' || args[0] === 'toggle') { - togglePopover(this, args[1], args[0]); - } - }); - }; - -})(mui, window, document, 'popover'); -/** - * segmented-controllers - * @param {type} $ - * @param {type} window - * @param {type} document - * @param {type} undefined - * @returns {undefined} - */ -(function($, window, document, name, undefined) { - - var CLASS_CONTROL_ITEM = 'mui-control-item'; - var CLASS_SEGMENTED_CONTROL = 'mui-segmented-control'; - var CLASS_SEGMENTED_CONTROL_VERTICAL = 'mui-segmented-control-vertical'; - var CLASS_CONTROL_CONTENT = 'mui-control-content'; - var CLASS_TAB_BAR = 'mui-bar-tab'; - var CLASS_TAB_ITEM = 'mui-tab-item'; - var CLASS_SLIDER_ITEM = 'mui-slider-item'; - - var handle = function(event, target) { - if (target.classList && (target.classList.contains(CLASS_CONTROL_ITEM) || target.classList.contains(CLASS_TAB_ITEM))) { - if (target.parentNode && target.parentNode.classList && target.parentNode.classList.contains(CLASS_SEGMENTED_CONTROL_VERTICAL)) { - //vertical 如果preventDefault会导致无法滚动 - } else { - event.preventDefault(); //stop hash change - } - // if (target.hash) { - return target; - // } - } - return false; - }; - - $.registerTarget({ - name: name, - index: 80, - handle: handle, - target: false - }); - - window.addEventListener('tap', function(e) { - - var targetTab = $.targets.tab; - if (!targetTab) { - return; - } - var activeTab; - var activeBodies; - var targetBody; - var className = 'mui-active'; - var classSelector = '.' + className; - var segmentedControl = targetTab.parentNode; - - for (; segmentedControl && segmentedControl !== document; segmentedControl = segmentedControl.parentNode) { - if (segmentedControl.classList.contains(CLASS_SEGMENTED_CONTROL)) { - activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_CONTROL_ITEM); - break; - } else if (segmentedControl.classList.contains(CLASS_TAB_BAR)) { - activeTab = segmentedControl.querySelector(classSelector + '.' + CLASS_TAB_ITEM); - } - } - - - if (activeTab) { - activeTab.classList.remove(className); - } - - var isLastActive = targetTab === activeTab; - if (targetTab) { - targetTab.classList.add(className); - } - - if (!targetTab.hash) { - return; - } - targetBody = document.getElementById(targetTab.hash.replace('#', '')); - - if (!targetBody) { - return; - } - if (!targetBody.classList.contains(CLASS_CONTROL_CONTENT)) { //tab bar popover - targetTab.classList[isLastActive ? 'remove' : 'add'](className); - return; - } - if (isLastActive) { //same - return; - } - var parentNode = targetBody.parentNode; - activeBodies = parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT + classSelector); - for (var i = 0; i < activeBodies.length; i++) { - var activeBody = activeBodies[i]; - activeBody.parentNode === parentNode && activeBody.classList.remove(className); - } - - targetBody.classList.add(className); - - var contents = targetBody.parentNode.querySelectorAll('.' + CLASS_CONTROL_CONTENT); - $.trigger(targetBody, $.eventName('shown', name), { - tabNumber: Array.prototype.indexOf.call(contents, targetBody) - }); - e.detail && e.detail.gesture.preventDefault(); //fixed hashchange - }); - -})(mui, window, document, 'tab'); -/** - * Toggles switch - * @param {type} $ - * @param {type} window - * @param {type} name - * @returns {undefined} - */ -(function($, window, name) { - - var CLASS_SWITCH = 'mui-switch'; - var CLASS_SWITCH_HANDLE = 'mui-switch-handle'; - var CLASS_ACTIVE = 'mui-active'; - var CLASS_DRAGGING = 'mui-dragging'; - - var CLASS_DISABLED = 'mui-disabled'; - - var SELECTOR_SWITCH_HANDLE = '.' + CLASS_SWITCH_HANDLE; - - var handle = function(event, target) { - if (target.classList && target.classList.contains(CLASS_SWITCH)) { - return target; - } - return false; - }; - - $.registerTarget({ - name: name, - index: 100, - handle: handle, - target: false - }); - - - var Toggle = function(element) { - this.element = element; - this.classList = this.element.classList; - this.handle = this.element.querySelector(SELECTOR_SWITCH_HANDLE); - this.init(); - this.initEvent(); - }; - Toggle.prototype.init = function() { - this.toggleWidth = this.element.offsetWidth; - this.handleWidth = this.handle.offsetWidth; - this.handleX = this.toggleWidth - this.handleWidth - 3; - }; - Toggle.prototype.initEvent = function() { - this.element.addEventListener($.EVENT_START, this); - this.element.addEventListener('drag', this); - this.element.addEventListener('swiperight', this); - this.element.addEventListener($.EVENT_END, this); - this.element.addEventListener($.EVENT_CANCEL, this); - - }; - Toggle.prototype.handleEvent = function(e) { - if (this.classList.contains(CLASS_DISABLED)) { - return; - } - switch (e.type) { - case $.EVENT_START: - this.start(e); - break; - case 'drag': - this.drag(e); - break; - case 'swiperight': - this.swiperight(); - break; - case $.EVENT_END: - case $.EVENT_CANCEL: - this.end(e); - break; - } - }; - Toggle.prototype.start = function(e) { - this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s'; - this.classList.add(CLASS_DRAGGING); - if (this.toggleWidth === 0 || this.handleWidth === 0) { //当switch处于隐藏状态时,width为0,需要重新初始化 - this.init(); - } - }; - Toggle.prototype.drag = function(e) { - var detail = e.detail; - if (!this.isDragging) { - if (detail.direction === 'left' || detail.direction === 'right') { - this.isDragging = true; - this.lastChanged = undefined; - this.initialState = this.classList.contains(CLASS_ACTIVE); - } - } - if (this.isDragging) { - this.setTranslateX(detail.deltaX); - e.stopPropagation(); - detail.gesture.preventDefault(); - } - }; - Toggle.prototype.swiperight = function(e) { - if (this.isDragging) { - e.stopPropagation(); - } - }; - Toggle.prototype.end = function(e) { - this.classList.remove(CLASS_DRAGGING); - if (this.isDragging) { - this.isDragging = false; - e.stopPropagation(); - $.trigger(this.element, 'toggle', { - isActive: this.classList.contains(CLASS_ACTIVE) - }); - } else { - this.toggle(); - } - }; - Toggle.prototype.toggle = function(animate) { - var classList = this.classList; - if (animate === false) { - this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '0s'; - } else { - this.handle.style.webkitTransitionDuration = this.element.style.webkitTransitionDuration = '.2s'; - } - if (classList.contains(CLASS_ACTIVE)) { - classList.remove(CLASS_ACTIVE); - this.handle.style.webkitTransform = 'translate(0,0)'; - } else { - classList.add(CLASS_ACTIVE); - this.handle.style.webkitTransform = 'translate(' + this.handleX + 'px,0)'; - } - $.trigger(this.element, 'toggle', { - isActive: this.classList.contains(CLASS_ACTIVE) - }); - }; - Toggle.prototype.setTranslateX = $.animationFrame(function(x) { - if (!this.isDragging) { - return; - } - var isChanged = false; - if ((this.initialState && -x > (this.handleX / 2)) || (!this.initialState && x > (this.handleX / 2))) { - isChanged = true; - } - if (this.lastChanged !== isChanged) { - if (isChanged) { - this.handle.style.webkitTransform = 'translate(' + (this.initialState ? 0 : this.handleX) + 'px,0)'; - this.classList[this.initialState ? 'remove' : 'add'](CLASS_ACTIVE); - } else { - this.handle.style.webkitTransform = 'translate(' + (this.initialState ? this.handleX : 0) + 'px,0)'; - this.classList[this.initialState ? 'add' : 'remove'](CLASS_ACTIVE); - } - this.lastChanged = isChanged; - } - - }); - - $.fn['switch'] = function(options) { - var switchApis = []; - this.each(function() { - var switchApi = null; - var id = this.getAttribute('data-switch'); - if (!id) { - id = ++$.uuid; - $.data[id] = new Toggle(this); - this.setAttribute('data-switch', id); - } else { - switchApi = $.data[id]; - } - switchApis.push(switchApi); - }); - return switchApis.length > 1 ? switchApis : switchApis[0]; - }; - $.ready(function() { - $('.' + CLASS_SWITCH)['switch'](); - }); -})(mui, window, 'toggle'); -/** - * Tableviews - * @param {type} $ - * @param {type} window - * @param {type} document - * @returns {undefined} - */ -(function($, window, document) { - - var CLASS_ACTIVE = 'mui-active'; - var CLASS_SELECTED = 'mui-selected'; - var CLASS_GRID_VIEW = 'mui-grid-view'; - var CLASS_RADIO_VIEW = 'mui-table-view-radio'; - var CLASS_TABLE_VIEW_CELL = 'mui-table-view-cell'; - var CLASS_COLLAPSE_CONTENT = 'mui-collapse-content'; - var CLASS_DISABLED = 'mui-disabled'; - var CLASS_TOGGLE = 'mui-switch'; - var CLASS_BTN = 'mui-btn'; - - var CLASS_SLIDER_HANDLE = 'mui-slider-handle'; - var CLASS_SLIDER_LEFT = 'mui-slider-left'; - var CLASS_SLIDER_RIGHT = 'mui-slider-right'; - var CLASS_TRANSITIONING = 'mui-transitioning'; - - - var SELECTOR_SLIDER_HANDLE = '.' + CLASS_SLIDER_HANDLE; - var SELECTOR_SLIDER_LEFT = '.' + CLASS_SLIDER_LEFT; - var SELECTOR_SLIDER_RIGHT = '.' + CLASS_SLIDER_RIGHT; - var SELECTOR_SELECTED = '.' + CLASS_SELECTED; - var SELECTOR_BUTTON = '.' + CLASS_BTN; - var overFactor = 0.8; - var cell, a; - - var isMoved = isOpened = openedActions = progress = false; - var sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false; - var timer = translateX = lastTranslateX = sliderActionLeftWidth = sliderActionRightWidth = 0; - - - - var toggleActive = function(isActive) { - if (isActive) { - if (a) { - a.classList.add(CLASS_ACTIVE); - } else if (cell) { - cell.classList.add(CLASS_ACTIVE); - } - } else { - timer && timer.cancel(); - if (a) { - a.classList.remove(CLASS_ACTIVE); - } else if (cell) { - cell.classList.remove(CLASS_ACTIVE); - } - } - }; - - var updateTranslate = function() { - if (translateX !== lastTranslateX) { - if (buttonsRight && buttonsRight.length > 0) { - progress = translateX / sliderActionRightWidth; - if (translateX < -sliderActionRightWidth) { - translateX = -sliderActionRightWidth - Math.pow(-translateX - sliderActionRightWidth, overFactor); - } - for (var i = 0, len = buttonsRight.length; i < len; i++) { - var buttonRight = buttonsRight[i]; - if (typeof buttonRight._buttonOffset === 'undefined') { - buttonRight._buttonOffset = buttonRight.offsetLeft; - } - buttonOffset = buttonRight._buttonOffset; - setTranslate(buttonRight, (translateX - buttonOffset * (1 + Math.max(progress, -1)))); - } - } - if (buttonsLeft && buttonsLeft.length > 0) { - progress = translateX / sliderActionLeftWidth; - if (translateX > sliderActionLeftWidth) { - translateX = sliderActionLeftWidth + Math.pow(translateX - sliderActionLeftWidth, overFactor); - } - for (var i = 0, len = buttonsLeft.length; i < len; i++) { - var buttonLeft = buttonsLeft[i]; - if (typeof buttonLeft._buttonOffset === 'undefined') { - buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth; - } - buttonOffset = buttonLeft._buttonOffset; - if (buttonsLeft.length > 1) { - buttonLeft.style.zIndex = buttonsLeft.length - i; - } - setTranslate(buttonLeft, (translateX + buttonOffset * (1 - Math.min(progress, 1)))); - } - } - setTranslate(sliderHandle, translateX); - lastTranslateX = translateX; - } - sliderRequestAnimationFrame = requestAnimationFrame(function() { - updateTranslate(); - }); - }; - var setTranslate = function(element, x) { - if (element) { - element.style.webkitTransform = 'translate(' + x + 'px,0)'; - } - }; - - window.addEventListener($.EVENT_START, function(event) { - if (cell) { - toggleActive(false); - } - cell = a = false; - isMoved = isOpened = openedActions = false; - var target = event.target; - var isDisabled = false; - for (; target && target !== document; target = target.parentNode) { - if (target.classList) { - var classList = target.classList; - if ((target.tagName === 'INPUT' && target.type !== 'radio' && target.type !== 'checkbox') || target.tagName === 'BUTTON' || classList.contains(CLASS_TOGGLE) || classList.contains(CLASS_BTN) || classList.contains(CLASS_DISABLED)) { - isDisabled = true; - } - if (classList.contains(CLASS_COLLAPSE_CONTENT)) { //collapse content - break; - } - if (classList.contains(CLASS_TABLE_VIEW_CELL)) { - cell = target; - //TODO swipe to delete close - var selected = cell.parentNode.querySelector(SELECTOR_SELECTED); - if (!cell.parentNode.classList.contains(CLASS_RADIO_VIEW) && selected && selected !== cell) { - $.swipeoutClose(selected); - cell = isDisabled = false; - return; - } - if (!cell.parentNode.classList.contains(CLASS_GRID_VIEW)) { - var link = cell.querySelector('a'); - if (link && link.parentNode === cell) { //li>a - a = link; - } - } - var handle = cell.querySelector(SELECTOR_SLIDER_HANDLE); - if (handle) { - toggleEvents(cell); - event.stopPropagation(); - } - if (!isDisabled) { - if (handle) { - if (timer) { - timer.cancel(); - } - timer = $.later(function() { - toggleActive(true); - }, 100); - } else { - toggleActive(true); - } - } - break; - } - } - } - }); - window.addEventListener($.EVENT_MOVE, function(event) { - toggleActive(false); - }); - - var handleEvent = { - handleEvent: function(event) { - switch (event.type) { - case 'drag': - this.drag(event); - break; - case 'dragend': - this.dragend(event); - break; - case 'flick': - this.flick(event); - break; - case 'swiperight': - this.swiperight(event); - break; - case 'swipeleft': - this.swipeleft(event); - break; - } - }, - drag: function(event) { - if (!cell) { - return; - } - if (!isMoved) { //init - sliderHandle = sliderActionLeft = sliderActionRight = buttonsLeft = buttonsRight = sliderDirection = sliderRequestAnimationFrame = false; - sliderHandle = cell.querySelector(SELECTOR_SLIDER_HANDLE); - if (sliderHandle) { - sliderActionLeft = cell.querySelector(SELECTOR_SLIDER_LEFT); - sliderActionRight = cell.querySelector(SELECTOR_SLIDER_RIGHT); - if (sliderActionLeft) { - sliderActionLeftWidth = sliderActionLeft.offsetWidth; - buttonsLeft = sliderActionLeft.querySelectorAll(SELECTOR_BUTTON); - } - if (sliderActionRight) { - sliderActionRightWidth = sliderActionRight.offsetWidth; - buttonsRight = sliderActionRight.querySelectorAll(SELECTOR_BUTTON); - } - cell.classList.remove(CLASS_TRANSITIONING); - isOpened = cell.classList.contains(CLASS_SELECTED); - if (isOpened) { - openedActions = cell.querySelector(SELECTOR_SLIDER_LEFT + SELECTOR_SELECTED) ? 'left' : 'right'; - } - } - } - var detail = event.detail; - var direction = detail.direction; - var angle = detail.angle; - if (direction === 'left' && (angle > 150 || angle < -150)) { - if (buttonsRight || (buttonsLeft && isOpened)) { //存在右侧按钮或存在左侧按钮且是已打开状态 - isMoved = true; - } - } else if (direction === 'right' && (angle > -30 && angle < 30)) { - if (buttonsLeft || (buttonsRight && isOpened)) { //存在左侧按钮或存在右侧按钮且是已打开状态 - isMoved = true; - } - } - if (isMoved) { - event.stopPropagation(); - event.detail.gesture.preventDefault(); - var translate = event.detail.deltaX; - if (isOpened) { - if (openedActions === 'right') { - translate = translate - sliderActionRightWidth; - } else { - translate = translate + sliderActionLeftWidth; - } - } - if ((translate > 0 && !buttonsLeft) || (translate < 0 && !buttonsRight)) { - if (!isOpened) { - return; - } - translate = 0; - } - if (translate < 0) { - sliderDirection = 'toLeft'; - } else if (translate > 0) { - sliderDirection = 'toRight'; - } else { - if (!sliderDirection) { - sliderDirection = 'toLeft'; - } - } - if (!sliderRequestAnimationFrame) { - updateTranslate(); - } - translateX = translate; - } - }, - flick: function(event) { - if (isMoved) { - event.stopPropagation(); - } - }, - swipeleft: function(event) { - if (isMoved) { - event.stopPropagation(); - } - }, - swiperight: function(event) { - if (isMoved) { - event.stopPropagation(); - } - }, - dragend: function(event) { - if (!isMoved) { - return; - } - event.stopPropagation(); - if (sliderRequestAnimationFrame) { - cancelAnimationFrame(sliderRequestAnimationFrame); - sliderRequestAnimationFrame = null; - } - var detail = event.detail; - isMoved = false; - var action = 'close'; - var actionsWidth = sliderDirection === 'toLeft' ? sliderActionRightWidth : sliderActionLeftWidth; - var isToggle = detail.swipe || (Math.abs(translateX) > actionsWidth / 2); - if (isToggle) { - if (!isOpened) { - action = 'open'; - } else if (detail.direction === 'left' && openedActions === 'right') { - action = 'open'; - } else if (detail.direction === 'right' && openedActions === 'left') { - action = 'open'; - } - - } - cell.classList.add(CLASS_TRANSITIONING); - var buttons; - if (action === 'open') { - var newTranslate = sliderDirection === 'toLeft' ? -actionsWidth : actionsWidth; - setTranslate(sliderHandle, newTranslate); - buttons = sliderDirection === 'toLeft' ? buttonsRight : buttonsLeft; - if (typeof buttons !== 'undefined') { - var button = null; - for (var i = 0; i < buttons.length; i++) { - button = buttons[i]; - setTranslate(button, newTranslate); - } - button.parentNode.classList.add(CLASS_SELECTED); - cell.classList.add(CLASS_SELECTED); - if (!isOpened) { - $.trigger(cell, sliderDirection === 'toLeft' ? 'slideleft' : 'slideright'); - } - } - } else { - setTranslate(sliderHandle, 0); - sliderActionLeft && sliderActionLeft.classList.remove(CLASS_SELECTED); - sliderActionRight && sliderActionRight.classList.remove(CLASS_SELECTED); - cell.classList.remove(CLASS_SELECTED); - } - var buttonOffset; - if (buttonsLeft && buttonsLeft.length > 0 && buttonsLeft !== buttons) { - for (var i = 0, len = buttonsLeft.length; i < len; i++) { - var buttonLeft = buttonsLeft[i]; - buttonOffset = buttonLeft._buttonOffset; - if (typeof buttonOffset === 'undefined') { - buttonLeft._buttonOffset = sliderActionLeftWidth - buttonLeft.offsetLeft - buttonLeft.offsetWidth; - } - setTranslate(buttonLeft, buttonOffset); - } - } - if (buttonsRight && buttonsRight.length > 0 && buttonsRight !== buttons) { - for (var i = 0, len = buttonsRight.length; i < len; i++) { - var buttonRight = buttonsRight[i]; - buttonOffset = buttonRight._buttonOffset; - if (typeof buttonOffset === 'undefined') { - buttonRight._buttonOffset = buttonRight.offsetLeft; - } - setTranslate(buttonRight, -buttonOffset); - } - } - } - }; - - function toggleEvents(element, isRemove) { - var method = !!isRemove ? 'removeEventListener' : 'addEventListener'; - element[method]('drag', handleEvent); - element[method]('dragend', handleEvent); - element[method]('swiperight', handleEvent); - element[method]('swipeleft', handleEvent); - element[method]('flick', handleEvent); - }; - /** - * 打开滑动菜单 - * @param {Object} el - * @param {Object} direction - */ - $.swipeoutOpen = function(el, direction) { - if (!el) return; - var classList = el.classList; - if (classList.contains(CLASS_SELECTED)) return; - if (!direction) { - if (el.querySelector(SELECTOR_SLIDER_RIGHT)) { - direction = 'right'; - } else { - direction = 'left'; - } - } - var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction)); - if (!swipeoutAction) return; - swipeoutAction.classList.add(CLASS_SELECTED); - classList.add(CLASS_SELECTED); - classList.remove(CLASS_TRANSITIONING); - var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON); - var swipeoutWidth = swipeoutAction.offsetWidth; - var translate = (direction === 'right') ? -swipeoutWidth : swipeoutWidth; - var length = buttons.length; - var button; - for (var i = 0; i < length; i++) { - button = buttons[i]; - if (direction === 'right') { - setTranslate(button, -button.offsetLeft); - } else { - setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft)); - } - } - classList.add(CLASS_TRANSITIONING); - for (var i = 0; i < length; i++) { - setTranslate(buttons[i], translate); - } - setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), translate); - }; - /** - * 关闭滑动菜单 - * @param {Object} el - */ - $.swipeoutClose = function(el) { - if (!el) return; - var classList = el.classList; - if (!classList.contains(CLASS_SELECTED)) return; - var direction = el.querySelector(SELECTOR_SLIDER_RIGHT + SELECTOR_SELECTED) ? 'right' : 'left'; - var swipeoutAction = el.querySelector($.classSelector(".slider-" + direction)); - if (!swipeoutAction) return; - swipeoutAction.classList.remove(CLASS_SELECTED); - classList.remove(CLASS_SELECTED); - classList.add(CLASS_TRANSITIONING); - var buttons = swipeoutAction.querySelectorAll(SELECTOR_BUTTON); - var swipeoutWidth = swipeoutAction.offsetWidth; - var length = buttons.length; - var button; - setTranslate(el.querySelector(SELECTOR_SLIDER_HANDLE), 0); - for (var i = 0; i < length; i++) { - button = buttons[i]; - if (direction === 'right') { - setTranslate(button, (-button.offsetLeft)); - } else { - setTranslate(button, (swipeoutWidth - button.offsetWidth - button.offsetLeft)); - } - } - }; - - window.addEventListener($.EVENT_END, function(event) { //使用touchend来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件 - if (!cell) { - return; - } - toggleActive(false); - sliderHandle && toggleEvents(cell, true); - }); - window.addEventListener($.EVENT_CANCEL, function(event) { //使用touchcancel来取消高亮,避免一次点击既不触发tap,doubletap,longtap的事件 - if (!cell) { - return; - } - toggleActive(false); - sliderHandle && toggleEvents(cell, true); - }); - var radioOrCheckboxClick = function(event) { - var type = event.target && event.target.type || ''; - if (type === 'radio' || type === 'checkbox') { - return; - } - var classList = cell.classList; - if (classList.contains('mui-radio')) { - var input = cell.querySelector('input[type=radio]'); - if (input) { - // input.click(); - if (!input.disabled && !input.readOnly) { - input.checked = !input.checked; - $.trigger(input, 'change'); - } - } - } else if (classList.contains('mui-checkbox')) { - var input = cell.querySelector('input[type=checkbox]'); - if (input) { - // input.click(); - if (!input.disabled && !input.readOnly) { - input.checked = !input.checked; - $.trigger(input, 'change'); - } - } - } - }; - //fixed hashchange(android) - window.addEventListener($.EVENT_CLICK, function(e) { - if (cell && cell.classList.contains('mui-collapse')) { - e.preventDefault(); - } - }); - window.addEventListener('doubletap', function(event) { - if (cell) { - radioOrCheckboxClick(event); - } - }); - var preventDefaultException = /^(INPUT|TEXTAREA|BUTTON|SELECT)$/; - window.addEventListener('tap', function(event) { - if (!cell) { - return; - } - var isExpand = false; - var classList = cell.classList; - var ul = cell.parentNode; - if (ul && ul.classList.contains(CLASS_RADIO_VIEW)) { - if (classList.contains(CLASS_SELECTED)) { - return; - } - var selected = ul.querySelector('li' + SELECTOR_SELECTED); - if (selected) { - selected.classList.remove(CLASS_SELECTED); - } - classList.add(CLASS_SELECTED); - $.trigger(cell, 'selected', { - el: cell - }); - return; - } - if (classList.contains('mui-collapse') && !cell.parentNode.classList.contains('mui-unfold')) { - if (!preventDefaultException.test(event.target.tagName)) { - event.detail.gesture.preventDefault(); - } - - if (!classList.contains(CLASS_ACTIVE)) { //展开时,需要收缩其他同类 - var collapse = cell.parentNode.querySelector('.mui-collapse.mui-active'); - if (collapse) { - collapse.classList.remove(CLASS_ACTIVE); - } - isExpand = true; - } - classList.toggle(CLASS_ACTIVE); - if (isExpand) { - //触发展开事件 - $.trigger(cell, 'expand'); - - //scroll - //暂不滚动 - // var offsetTop = $.offset(cell).top; - // var scrollTop = document.body.scrollTop; - // var height = window.innerHeight; - // var offsetHeight = cell.offsetHeight; - // var cellHeight = (offsetTop - scrollTop + offsetHeight); - // if (offsetHeight > height) { - // $.scrollTo(offsetTop, 300); - // } else if (cellHeight > height) { - // $.scrollTo(cellHeight - height + scrollTop, 300); - // } - } - } else { - radioOrCheckboxClick(event); - } - }); -})(mui, window, document); -(function($, window) { - /** - * 警告消息框 - */ - $.alert = function(message, title, btnValue, callback) { - if ($.os.plus) { - if (typeof message === 'undefined') { - return; - } else { - if (typeof title === 'function') { - callback = title; - title = null; - btnValue = '确定'; - } else if (typeof btnValue === 'function') { - callback = btnValue; - btnValue = null; - } - $.plusReady(function() { - plus.nativeUI.alert(message, callback, title, btnValue); - }); - } - - } else { - //TODO H5版本 - window.alert(message); - } - }; - -})(mui, window); -(function($, window) { - /** - * 确认消息框 - */ - $.confirm = function(message, title, btnArray, callback) { - if ($.os.plus) { - if (typeof message === 'undefined') { - return; - } else { - if (typeof title === 'function') { - callback = title; - title = null; - btnArray = null; - } else if (typeof btnArray === 'function') { - callback = btnArray; - btnArray = null; - } - $.plusReady(function() { - plus.nativeUI.confirm(message, callback, title, btnArray); - }); - } - - } else { - //H5版本,0为确认,1为取消 - if (window.confirm(message)) { - callback({ - index: 0 - }); - } else { - callback({ - index: 1 - }); - } - } - }; - -})(mui, window); -(function($, window) { - /** - * 输入对话框 - */ - $.prompt = function(text, defaultText, title, btnArray, callback) { - if ($.os.plus) { - if (typeof message === 'undefined') { - return; - } else { - - if (typeof defaultText === 'function') { - callback = defaultText; - defaultText = null; - title = null; - btnArray = null; - } else if (typeof title === 'function') { - callback = title; - title = null; - btnArray = null; - } else if (typeof btnArray === 'function') { - callback = btnArray; - btnArray = null; - } - $.plusReady(function() { - plus.nativeUI.prompt(text, callback, title, defaultText, btnArray); - }); - } - - } else { - //H5版本(确认index为0,取消index为1) - var result = window.prompt(text); - if (result) { - callback({ - index: 0, - value: result - }); - } else { - callback({ - index: 1, - value: '' - }); - } - } - }; - -})(mui, window); -(function($, window) { - var CLASS_ACTIVE = 'mui-active'; - /** - * 自动消失提示框 - */ - $.toast = function(message) { - if ($.os.plus) { - //默认显示在底部; - $.plusReady(function() { - plus.nativeUI.toast(message, { - verticalAlign: 'bottom' - }); - }); - } else { - var toast = document.createElement('div'); - toast.classList.add('mui-toast-container'); - toast.innerHTML = '
    ' + message + '
    '; - toast.addEventListener('webkitTransitionEnd', function() { - if (!toast.classList.contains(CLASS_ACTIVE)) { - toast.parentNode.removeChild(toast); - } - }); - document.body.appendChild(toast); - toast.offsetHeight; - toast.classList.add(CLASS_ACTIVE); - setTimeout(function() { - toast.classList.remove(CLASS_ACTIVE); - }, 2000); - } - }; - -})(mui, window); -/** - * Popup(alert,confirm,prompt) - * @param {Object} $ - * @param {Object} window - * @param {Object} document - */ -(function($, window, document) { - var CLASS_POPUP = 'mui-popup'; - var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop'; - var CLASS_POPUP_IN = 'mui-popup-in'; - var CLASS_POPUP_OUT = 'mui-popup-out'; - var CLASS_POPUP_INNER = 'mui-popup-inner'; - var CLASS_POPUP_TITLE = 'mui-popup-title'; - var CLASS_POPUP_TEXT = 'mui-popup-text'; - var CLASS_POPUP_INPUT = 'mui-popup-input'; - var CLASS_POPUP_BUTTONS = 'mui-popup-buttons'; - var CLASS_POPUP_BUTTON = 'mui-popup-button'; - var CLASS_POPUP_BUTTON_BOLD = 'mui-popup-button-bold'; - var CLASS_POPUP_BACKDROP = 'mui-popup-backdrop'; - var CLASS_ACTIVE = 'mui-active'; - - var popupStack = []; - var backdrop = (function() { - var element = document.createElement('div'); - element.classList.add(CLASS_POPUP_BACKDROP); - element.addEventListener('webkitTransitionEnd', function() { - if (!this.classList.contains(CLASS_ACTIVE)) { - element.parentNode && element.parentNode.removeChild(element); - } - }); - return element; - }()); - - var createInput = function(placeholder) { - return '
    '; - }; - var createInner = function(message, title, extra) { - return '
    ' + title + '
    ' + message + '
    ' + (extra || '') + '
    '; - }; - var createButtons = function(btnArray) { - var length = btnArray.length; - var btns = []; - for (var i = 0; i < length; i++) { - btns.push('' + btnArray[i] + ''); - } - return '
    ' + btns.join('') + '
    '; - }; - - var createPopup = function(html, callback) { - var popupElement = document.createElement('div'); - popupElement.className = CLASS_POPUP; - popupElement.innerHTML = html; - var removePopupElement = function() { - popupElement.parentNode && popupElement.parentNode.removeChild(popupElement); - popupElement = null; - }; - - popupElement.addEventListener('webkitTransitionEnd', function(e) { - if (popupElement && e.target === popupElement && popupElement.classList.contains(CLASS_POPUP_OUT)) { - removePopupElement(); - } - }); - popupElement.style.display = 'block'; - document.body.appendChild(popupElement); - popupElement.offsetHeight; - popupElement.classList.add(CLASS_POPUP_IN); - - if (!backdrop.classList.contains(CLASS_ACTIVE)) { - backdrop.style.display = 'block'; - document.body.appendChild(backdrop); - backdrop.offsetHeight; - backdrop.classList.add(CLASS_ACTIVE); - } - var btns = $.qsa('.' + CLASS_POPUP_BUTTON, popupElement); - var input = popupElement.querySelector('.' + CLASS_POPUP_INPUT + ' input'); - var popup = { - element: popupElement, - close: function(index, animate) { - if (popupElement) { - callback && callback({ - index: index || 0, - value: input && input.value || '' - }); - if (animate !== false) { - popupElement.classList.remove(CLASS_POPUP_IN); - popupElement.classList.add(CLASS_POPUP_OUT); - } else { - removePopupElement(); - } - popupStack.pop(); - //如果还有其他popup,则不remove backdrop - if (popupStack.length) { - popupStack[popupStack.length - 1]['show'](animate); - } else { - backdrop.classList.remove(CLASS_ACTIVE); - } - } - } - }; - var handleEvent = function(e) { - popup.close(btns.indexOf(e.target)); - }; - $(popupElement).on('tap', '.' + CLASS_POPUP_BUTTON, handleEvent); - if (popupStack.length) { - popupStack[popupStack.length - 1]['hide'](); - } - popupStack.push({ - close: popup.close, - show: function(animate) { - popupElement.style.display = 'block'; - popupElement.offsetHeight; - popupElement.classList.add(CLASS_POPUP_IN); - }, - hide: function() { - popupElement.style.display = 'none'; - popupElement.classList.remove(CLASS_POPUP_IN); - } - }); - return popup; - }; - var createAlert = function(message, title, btnValue, callback, type) { - if (typeof message === 'undefined') { - return; - } else { - if (typeof title === 'function') { - callback = title; - type = btnValue; - title = null; - btnValue = null; - } else if (typeof btnValue === 'function') { - type = callback; - callback = btnValue; - btnValue = null; - } - } - if (!$.os.plus || type === 'div') { - return createPopup(createInner(message, title || '提示') + createButtons([btnValue || '确定']), callback); - } - return plus.nativeUI.alert(message, callback, title || '提示', btnValue || '确定'); - }; - var createConfirm = function(message, title, btnArray, callback, type) { - if (typeof message === 'undefined') { - return; - } else { - if (typeof title === 'function') { - callback = title; - type = btnArray; - title = null; - btnArray = null; - } else if (typeof btnArray === 'function') { - type = callback; - callback = btnArray; - btnArray = null; - } - } - if (!$.os.plus || type === 'div') { - return createPopup(createInner(message, title || '提示') + createButtons(btnArray || ['取消', '确认']), callback); - } - return plus.nativeUI.confirm(message, callback, title, btnArray || ['取消', '确认']); - }; - var createPrompt = function(message, placeholder, title, btnArray, callback, type) { - if (typeof message === 'undefined') { - return; - } else { - if (typeof placeholder === 'function') { - callback = placeholder; - type = title; - placeholder = null; - title = null; - btnArray = null; - } else if (typeof title === 'function') { - callback = title; - type = btnArray; - title = null; - btnArray = null; - } else if (typeof btnArray === 'function') { - type = callback; - callback = btnArray; - btnArray = null; - } - } - if (!$.os.plus || type === 'div') { - return createPopup(createInner(message, title || '提示', createInput(placeholder)) + createButtons(btnArray || ['取消', '确认']), callback); - } - return plus.nativeUI.prompt(message, callback, title || '提示', placeholder, btnArray || ['取消', '确认']); - }; - var closePopup = function() { - if (popupStack.length) { - popupStack[popupStack.length - 1]['close'](); - return true; - } else { - return false; - } - }; - var closePopups = function() { - while (popupStack.length) { - popupStack[popupStack.length - 1]['close'](); - } - }; - - $.closePopup = closePopup; - $.closePopups = closePopups; - $.alert = createAlert; - $.confirm = createConfirm; - $.prompt = createPrompt; -})(mui, window, document); -(function($, document) { - var CLASS_PROGRESSBAR = 'mui-progressbar'; - var CLASS_PROGRESSBAR_IN = 'mui-progressbar-in'; - var CLASS_PROGRESSBAR_OUT = 'mui-progressbar-out'; - var CLASS_PROGRESSBAR_INFINITE = 'mui-progressbar-infinite'; - - var SELECTOR_PROGRESSBAR = '.mui-progressbar'; - - var _findProgressbar = function(container) { - container = $(container || 'body'); - if (container.length === 0) return; - container = container[0]; - if (container.classList.contains(CLASS_PROGRESSBAR)) { - return container; - } - var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR); - if (progressbars) { - for (var i = 0, len = progressbars.length; i < len; i++) { - var progressbar = progressbars[i]; - if (progressbar.parentNode === container) { - return progressbar; - } - } - } - }; - /** - * 创建并显示进度条 - * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper - * @param {Object} progress 可选,undefined表示循环,数字表示具体进度 - * @param {Object} color 可选,指定颜色样式(目前暂未提供实际样式,可暂时不暴露此参数) - */ - var showProgressbar = function(container, progress, color) { - if (typeof container === 'number') { - color = progress; - progress = container; - container = 'body'; - } - container = $(container || 'body'); - if (container.length === 0) return; - container = container[0]; - var progressbar; - if (container.classList.contains(CLASS_PROGRESSBAR)) { - progressbar = container; - } else { - var progressbars = container.querySelectorAll(SELECTOR_PROGRESSBAR + ':not(.' + CLASS_PROGRESSBAR_OUT + ')'); - if (progressbars) { - for (var i = 0, len = progressbars.length; i < len; i++) { - var _progressbar = progressbars[i]; - if (_progressbar.parentNode === container) { - progressbar = _progressbar; - break; - } - } - } - if (!progressbar) { - progressbar = document.createElement('span'); - progressbar.className = CLASS_PROGRESSBAR + ' ' + CLASS_PROGRESSBAR_IN + (typeof progress !== 'undefined' ? '' : (' ' + CLASS_PROGRESSBAR_INFINITE)) + (color ? (' ' + CLASS_PROGRESSBAR + '-' + color) : ''); - if (typeof progress !== 'undefined') { - progressbar.innerHTML = ''; - } - container.appendChild(progressbar); - } - } - if (progress) setProgressbar(container, progress); - return progressbar; - }; - /** - * 关闭进度条 - * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper - */ - var hideProgressbar = function(container) { - var progressbar = _findProgressbar(container); - if (!progressbar) { - return; - } - var classList = progressbar.classList; - if (!classList.contains(CLASS_PROGRESSBAR_IN) || classList.contains(CLASS_PROGRESSBAR_OUT)) { - return; - } - classList.remove(CLASS_PROGRESSBAR_IN); - classList.add(CLASS_PROGRESSBAR_OUT); - progressbar.addEventListener('webkitAnimationEnd', function() { - progressbar.parentNode && progressbar.parentNode.removeChild(progressbar); - progressbar = null; - }); - return; - }; - /** - * 设置指定进度条进度 - * @param {Object} container 可选,默认body,支持selector,DOM Node,mui wrapper - * @param {Object} progress 可选,默认0 取值范围[0-100] - * @param {Object} speed 进度条动画时间 - */ - var setProgressbar = function(container, progress, speed) { - if (typeof container === 'number') { - speed = progress; - progress = container; - container = false; - } - var progressbar = _findProgressbar(container); - if (!progressbar || progressbar.classList.contains(CLASS_PROGRESSBAR_INFINITE)) { - return; - } - if (progress) progress = Math.min(Math.max(progress, 0), 100); - progressbar.offsetHeight; - var span = progressbar.querySelector('span'); - if (span) { - var style = span.style; - style.webkitTransform = 'translate3d(' + (-100 + progress) + '%,0,0)'; - if (typeof speed !== 'undefined') { - style.webkitTransitionDuration = speed + 'ms'; - } else { - style.webkitTransitionDuration = ''; - } - } - return progressbar; - }; - $.fn.progressbar = function(options) { - var progressbarApis = []; - options = options || {}; - this.each(function() { - var self = this; - var progressbarApi = self.mui_plugin_progressbar; - if (!progressbarApi) { - self.mui_plugin_progressbar = progressbarApi = { - options: options, - setOptions: function(options) { - this.options = options; - }, - show: function() { - return showProgressbar(self, this.options.progress, this.options.color); - }, - setProgress: function(progress) { - return setProgressbar(self, progress); - }, - hide: function() { - return hideProgressbar(self); - } - }; - } else if (options) { - progressbarApi.setOptions(options); - } - progressbarApis.push(progressbarApi); - }); - return progressbarApis.length === 1 ? progressbarApis[0] : progressbarApis; - }; - // $.setProgressbar = setProgressbar; - // $.showProgressbar = showProgressbar; - // $.hideProgressbar = hideProgressbar; -})(mui, document); -/** - * Input(TODO resize) - * @param {type} $ - * @param {type} window - * @param {type} document - * @returns {undefined} - */ -(function($, window, document) { - var CLASS_ICON = 'mui-icon'; - var CLASS_ICON_CLEAR = 'mui-icon-clear'; - var CLASS_ICON_SPEECH = 'mui-icon-speech'; - var CLASS_ICON_SEARCH = 'mui-icon-search'; - var CLASS_ICON_PASSWORD = 'mui-icon-eye'; - var CLASS_INPUT_ROW = 'mui-input-row'; - var CLASS_PLACEHOLDER = 'mui-placeholder'; - var CLASS_TOOLTIP = 'mui-tooltip'; - var CLASS_HIDDEN = 'mui-hidden'; - var CLASS_FOCUSIN = 'mui-focusin'; - var SELECTOR_ICON_CLOSE = '.' + CLASS_ICON_CLEAR; - var SELECTOR_ICON_SPEECH = '.' + CLASS_ICON_SPEECH; - var SELECTOR_ICON_PASSWORD = '.' + CLASS_ICON_PASSWORD; - var SELECTOR_PLACEHOLDER = '.' + CLASS_PLACEHOLDER; - var SELECTOR_TOOLTIP = '.' + CLASS_TOOLTIP; - - var findRow = function(target) { - for (; target && target !== document; target = target.parentNode) { - if (target.classList && target.classList.contains(CLASS_INPUT_ROW)) { - return target; - } - } - return null; - }; - var Input = function(element, options) { - this.element = element; - this.options = options || { - actions: 'clear' - }; - if (~this.options.actions.indexOf('slider')) { //slider - this.sliderActionClass = CLASS_TOOLTIP + ' ' + CLASS_HIDDEN; - this.sliderActionSelector = SELECTOR_TOOLTIP; - } else { //clear,speech,search - if (~this.options.actions.indexOf('clear')) { - this.clearActionClass = CLASS_ICON + ' ' + CLASS_ICON_CLEAR + ' ' + CLASS_HIDDEN; - this.clearActionSelector = SELECTOR_ICON_CLOSE; - } - if (~this.options.actions.indexOf('speech')) { //only for 5+ - this.speechActionClass = CLASS_ICON + ' ' + CLASS_ICON_SPEECH; - this.speechActionSelector = SELECTOR_ICON_SPEECH; - } - if (~this.options.actions.indexOf('search')) { - this.searchActionClass = CLASS_PLACEHOLDER; - this.searchActionSelector = SELECTOR_PLACEHOLDER; - } - if (~this.options.actions.indexOf('password')) { - this.passwordActionClass = CLASS_ICON + ' ' + CLASS_ICON_PASSWORD; - this.passwordActionSelector = SELECTOR_ICON_PASSWORD; - } - } - this.init(); - }; - Input.prototype.init = function() { - this.initAction(); - this.initElementEvent(); - }; - Input.prototype.initAction = function() { - var self = this; - - var row = self.element.parentNode; - if (row) { - if (self.sliderActionClass) { - self.sliderAction = self.createAction(row, self.sliderActionClass, self.sliderActionSelector); - } else { - if (self.searchActionClass) { - self.searchAction = self.createAction(row, self.searchActionClass, self.searchActionSelector); - self.searchAction.addEventListener('tap', function(e) { - $.focus(self.element); - e.stopPropagation(); - }); - } - if (self.speechActionClass) { - self.speechAction = self.createAction(row, self.speechActionClass, self.speechActionSelector); - self.speechAction.addEventListener('click', $.stopPropagation); - self.speechAction.addEventListener('tap', function(event) { - self.speechActionClick(event); - }); - } - if (self.clearActionClass) { - self.clearAction = self.createAction(row, self.clearActionClass, self.clearActionSelector); - self.clearAction.addEventListener('tap', function(event) { - self.clearActionClick(event); - }); - } - if (self.passwordActionClass) { - self.passwordAction = self.createAction(row, self.passwordActionClass, self.passwordActionSelector); - self.passwordAction.addEventListener('tap', function(event) { - self.passwordActionClick(event); - }); - } - } - } - }; - Input.prototype.createAction = function(row, actionClass, actionSelector) { - var action = row.querySelector(actionSelector); - if (!action) { - var action = document.createElement('span'); - action.className = actionClass; - if (actionClass === this.searchActionClass) { - action.innerHTML = '' + this.element.getAttribute('placeholder') + ''; - this.element.setAttribute('placeholder', ''); - if (this.element.value.trim()) { - row.classList.add('mui-active'); - } - } - row.insertBefore(action, this.element.nextSibling); - } - return action; - }; - Input.prototype.initElementEvent = function() { - var element = this.element; - - if (this.sliderActionClass) { - var tooltip = this.sliderAction; - var timer = null; - var showTip = function() { //每次重新计算是因为控件可能被隐藏,初始化时计算是不正确的 - tooltip.classList.remove(CLASS_HIDDEN); - var offsetLeft = element.offsetLeft; - var width = element.offsetWidth - 28; - var tooltipWidth = tooltip.offsetWidth; - var distince = Math.abs(element.max - element.min); - var scaleWidth = (width / distince) * Math.abs(element.value - element.min); - tooltip.style.left = (14 + offsetLeft + scaleWidth - tooltipWidth / 2) + 'px'; - tooltip.innerText = element.value; - if (timer) { - clearTimeout(timer); - } - timer = setTimeout(function() { - tooltip.classList.add(CLASS_HIDDEN); - }, 1000); - }; - element.addEventListener('input', showTip); - element.addEventListener('tap', showTip); - element.addEventListener($.EVENT_MOVE, function(e) { - e.stopPropagation(); - }); - } else { - if (this.clearActionClass) { - var action = this.clearAction; - if (!action) { - return; - } - $.each(['keyup', 'change', 'input', 'focus', 'cut', 'paste'], function(index, type) { - (function(type) { - element.addEventListener(type, function() { - action.classList[element.value.trim() ? 'remove' : 'add'](CLASS_HIDDEN); - }); - })(type); - }); - element.addEventListener('blur', function() { - action.classList.add(CLASS_HIDDEN); - }); - } - if (this.searchActionClass) { - element.addEventListener('focus', function() { - element.parentNode.classList.add('mui-active'); - }); - element.addEventListener('blur', function() { - if (!element.value.trim()) { - element.parentNode.classList.remove('mui-active'); - } - }); - } - } - }; - Input.prototype.setPlaceholder = function(text) { - if (this.searchActionClass) { - var placeholder = this.element.parentNode.querySelector(SELECTOR_PLACEHOLDER); - placeholder && (placeholder.getElementsByTagName('span')[1].innerText = text); - } else { - this.element.setAttribute('placeholder', text); - } - }; - Input.prototype.passwordActionClick = function(event) { - if (this.element.type === 'text') { - this.element.type = 'password'; - } else { - this.element.type = 'text'; - } - this.passwordAction.classList.toggle('mui-active'); - event.preventDefault(); - }; - Input.prototype.clearActionClick = function(event) { - var self = this; - self.element.value = ''; - $.focus(self.element); - self.clearAction.classList.add(CLASS_HIDDEN); - event.preventDefault(); - }; - Input.prototype.speechActionClick = function(event) { - if (window.plus) { - var self = this; - var oldValue = self.element.value; - self.element.value = ''; - document.body.classList.add(CLASS_FOCUSIN); - plus.speech.startRecognize({ - engine: 'iFly' - }, function(s) { - self.element.value += s; - $.focus(self.element); - plus.speech.stopRecognize(); - $.trigger(self.element, 'recognized', { - value: self.element.value - }); - if (oldValue !== self.element.value) { - $.trigger(self.element, 'change'); - $.trigger(self.element, 'input'); - } - // document.body.classList.remove(CLASS_FOCUSIN); - }, function(e) { - document.body.classList.remove(CLASS_FOCUSIN); - }); - } else { - alert('only for 5+'); - } - event.preventDefault(); - }; - $.fn.input = function(options) { - var inputApis = []; - this.each(function() { - var inputApi = null; - var actions = []; - var row = findRow(this.parentNode); - if (this.type === 'range' && row.classList.contains('mui-input-range')) { - actions.push('slider'); - } else { - var classList = this.classList; - if (classList.contains('mui-input-clear')) { - actions.push('clear'); - } - if (!($.os.android && $.os.stream) && classList.contains('mui-input-speech')) { - actions.push('speech'); - } - if (classList.contains('mui-input-password')) { - actions.push('password'); - } - if (this.type === 'search' && row.classList.contains('mui-search')) { - actions.push('search'); - } - } - var id = this.getAttribute('data-input-' + actions[0]); - if (!id) { - id = ++$.uuid; - inputApi = $.data[id] = new Input(this, { - actions: actions.join(',') - }); - for (var i = 0, len = actions.length; i < len; i++) { - this.setAttribute('data-input-' + actions[i], id); - } - } else { - inputApi = $.data[id]; - } - inputApis.push(inputApi); - }); - return inputApis.length === 1 ? inputApis[0] : inputApis; - }; - $.ready(function() { - $('.mui-input-row input').input(); - }); -})(mui, window, document); -/** - * 数字输入框 - * varstion 1.0.1 - * by Houfeng - * Houfeng@DCloud.io - */ - -(function($) { - - var touchSupport = ('ontouchstart' in document); - var tapEventName = touchSupport ? 'tap' : 'click'; - var changeEventName = 'change'; - var holderClassName = 'mui-numbox'; - var plusClassSelector = '.mui-btn-numbox-plus,.mui-numbox-btn-plus'; - var minusClassSelector = '.mui-btn-numbox-minus,.mui-numbox-btn-minus'; - var inputClassSelector = '.mui-input-numbox,.mui-numbox-input'; - - var Numbox = $.Numbox = $.Class.extend({ - /** - * 构造函数 - **/ - init: function(holder, options) { - var self = this; - if (!holder) { - throw "构造 numbox 时缺少容器元素"; - } - self.holder = holder; - options = options || {}; - options.step = parseInt(options.step || 1); - self.options = options; - self.input = $.qsa(inputClassSelector, self.holder)[0]; - self.plus = $.qsa(plusClassSelector, self.holder)[0]; - self.minus = $.qsa(minusClassSelector, self.holder)[0]; - self.checkValue(); - self.initEvent(); - }, - /** - * 初始化事件绑定 - **/ - initEvent: function() { - var self = this; - self.plus.addEventListener(tapEventName, function(event) { - var val = parseInt(self.input.value) + self.options.step; - self.input.value = val.toString(); - $.trigger(self.input, changeEventName, null); - }); - self.minus.addEventListener(tapEventName, function(event) { - var val = parseInt(self.input.value) - self.options.step; - self.input.value = val.toString(); - $.trigger(self.input, changeEventName, null); - }); - self.input.addEventListener(changeEventName, function(event) { - self.checkValue(); - var val = parseInt(self.input.value); - //触发顶层容器 - $.trigger(self.holder, changeEventName, { - value: val - }); - }); - }, - /** - * 获取当前值 - **/ - getValue: function() { - var self = this; - return parseInt(self.input.value); - }, - /** - * 验证当前值是法合法 - **/ - checkValue: function() { - var self = this; - var val = self.input.value; - if (val == null || val == '' || isNaN(val)) { - self.input.value = self.options.min || 0; - self.minus.disabled = self.options.min != null; - } else { - var val = parseInt(val); - if (self.options.max != null && !isNaN(self.options.max) && val >= parseInt(self.options.max)) { - val = self.options.max; - self.plus.disabled = true; - } else { - self.plus.disabled = false; - } - if (self.options.min != null && !isNaN(self.options.min) && val <= parseInt(self.options.min)) { - val = self.options.min; - self.minus.disabled = true; - } else { - self.minus.disabled = false; - } - self.input.value = val; - } - }, - /** - * 更新选项 - **/ - setOption: function(name, value) { - var self = this; - self.options[name] = value; - } - }); - - $.fn.numbox = function(options) { - var instanceArray = []; - //遍历选择的元素 - this.each(function(i, element) { - if (element.numbox) { - return; - } - if (options) { - element.numbox = new Numbox(element, options); - } else { - var optionsText = element.getAttribute('data-numbox-options'); - var options = optionsText ? JSON.parse(optionsText) : {}; - options.step = element.getAttribute('data-numbox-step') || options.step; - options.min = element.getAttribute('data-numbox-min') || options.min; - options.max = element.getAttribute('data-numbox-max') || options.max; - element.numbox = new Numbox(element, options); - } - }); - return this[0] ? this[0].numbox : null; - } - - //自动处理 class='mui-locker' 的 dom - $.ready(function() { - $('.' + holderClassName).numbox(); - }); - -}(mui)) \ No newline at end of file diff --git a/examples/hello-mui/js/mui.lazyload.js b/examples/hello-mui/js/mui.lazyload.js index 2feed554..ca897509 100644 --- a/examples/hello-mui/js/mui.lazyload.js +++ b/examples/hello-mui/js/mui.lazyload.js @@ -4,12 +4,13 @@ init: function(element, options) { var self = this; this.container = this.element = element; +// placeholder //默认图片 this.options = $.extend({ - selector: '', - diff: false, - force: false, - autoDestroy: true, - duration: 100 + selector: '',//查询哪些元素需要lazyload + diff: false,//距离视窗底部多少像素出发lazyload + force: false,//强制加载(不论元素是否在是视窗内) + autoDestroy: true,//元素加载完后是否自动销毁当前插件对象 + duration: 100//滑动停止多久后开始加载 }, options); this._key = 0; @@ -290,12 +291,12 @@ return; } window.removeEventListener('scroll', load); - window.removeEventListener('touchmove', load); + window.removeEventListener($.EVENT_MOVE, load); window.removeEventListener('resize', load); if (this._containerIsNotDocument) { this.container.removeEventListener('scrollend', load); this.container.removeEventListener('scroll', load); - this.container.removeEventListener('touchmove', load); + this.container.removeEventListener($.EVENT_MOVE, load); } }, resume: function() { @@ -304,19 +305,19 @@ return; } window.addEventListener('scroll', load, false); - window.addEventListener('touchmove', load, false); + window.addEventListener($.EVENT_MOVE, load, false); window.addEventListener('resize', load, false); if (this._containerIsNotDocument) { this.container.addEventListener('scrollend', load, false); this.container.addEventListener('scroll', load, false); - this.container.addEventListener('touchmove', load, false); + this.container.addEventListener($.EVENT_MOVE, load, false); } }, destroy: function() { var self = this; self.pause(); self._callbacks = {}; - $.trigger(this.container, 'destory', self); + $.trigger(this.container, 'destroy', self); self._destroyed = 1; } }); diff --git a/examples/hello-mui/js/mui.locker.js b/examples/hello-mui/js/mui.locker.js index 921a0897..c8744724 100644 --- a/examples/hello-mui/js/mui.locker.js +++ b/examples/hello-mui/js/mui.locker.js @@ -8,9 +8,9 @@ (function($, doc) { var touchSupport = ('ontouchstart' in document); - var startEventName = touchSupport ? 'touchstart' : 'mousedown'; - var moveEventName = touchSupport ? 'touchmove' : 'mousemove'; - var endEventName = touchSupport ? 'touchend' : 'mouseup'; + var startEventName = touchSupport ? $.EVENT_START : 'mousedown'; + var moveEventName = touchSupport ? $.EVENT_MOVE : 'mousemove'; + var endEventName = touchSupport ? $.EVENT_END : 'mouseup'; var lockerHolderClassName = $.className('locker-holder'); var lockerClassName = $.className('locker'); diff --git a/examples/hello-mui/js/mui.picker.all.js b/examples/hello-mui/js/mui.picker.all.js index f62cb30a..61f1a939 100644 --- a/examples/hello-mui/js/mui.picker.all.js +++ b/examples/hello-mui/js/mui.picker.all.js @@ -127,22 +127,29 @@ var self = this; var lastAngle = 0; var startY = null; - self.holder.addEventListener('touchstart', function(event) { + var isPicking = false; + self.holder.addEventListener($.EVENT_START, function(event) { + isPicking = true; event.preventDefault(); self.list.style.webkitTransition = ''; startY = (event.changedTouches ? event.changedTouches[0] : event).pageY; lastAngle = self.list.angle; self.updateInertiaParams(event, true); }, false); - self.holder.addEventListener('touchend', function(event) { + self.holder.addEventListener($.EVENT_END, function(event) { + isPicking = false; event.preventDefault(); self.startInertiaScroll(event); }, false); - self.holder.addEventListener('touchcancel', function(event) { + self.holder.addEventListener($.EVENT_CANCEL, function(event) { + isPicking = false; event.preventDefault(); self.startInertiaScroll(event); }, false); - self.holder.addEventListener('touchmove', function(event) { + self.holder.addEventListener($.EVENT_MOVE, function(event) { + if (!isPicking) { + return; + } event.preventDefault(); var endY = (event.changedTouches ? event.changedTouches[0] : event).pageY; var dragRange = endY - startY; @@ -268,7 +275,7 @@ setTimeout(function() { var index = self.getSelectedIndex(); var item = self.items[index]; - if ($.trigger && (index != self.lastIndex || force)) { + if ($.trigger && (index != self.lastIndex || force === true)) { $.trigger(self.holder, 'change', { "index": index, "item": item @@ -276,6 +283,7 @@ //console.log('change:' + index); } self.lastIndex = index; + typeof force === 'function' && force(); }, 0); }; @@ -316,7 +324,7 @@ return parseInt((self.list.angle / self.itemAngle).toFixed(0)); }; - Picker.prototype.setSelectedIndex = function(index, duration) { + Picker.prototype.setSelectedIndex = function(index, duration, callback) { var self = this; self.list.style.webkitTransition = ''; var angle = self.correctAngle(self.itemAngle * index); @@ -326,7 +334,7 @@ } else { self.setAngle(angle); } - self.triggerChange(); + self.triggerChange(callback); }; Picker.prototype.getSelectedItem = function() { @@ -344,12 +352,12 @@ return (self.items[self.getSelectedIndex()] || {}).text; }; - Picker.prototype.setSelectedValue = function(value, duration) { + Picker.prototype.setSelectedValue = function(value, duration, callback) { var self = this; for (var index in self.items) { var item = self.items[index]; if (item.value == value) { - self.setSelectedIndex(index, duration); + self.setSelectedIndex(index, duration, callback); return; } } @@ -455,10 +463,10 @@ }, false); self._createPicker(); //防止滚动穿透 - self.panel.addEventListener('touchstart', function(event) { + self.panel.addEventListener($.EVENT_START, function(event) { event.preventDefault(); }, false); - self.panel.addEventListener('touchmove', function(event) { + self.panel.addEventListener($.EVENT_MOVE, function(event) { event.preventDefault(); }, false); }, @@ -545,7 +553,7 @@ */ (function($, document) { - + //创建 DOM $.dom = function(str) { if (typeof(str) !== 'string') { @@ -561,7 +569,7 @@ $.__create_dom_div__.innerHTML = str; return [].slice.call($.__create_dom_div__.childNodes); }; - + var domBuffer = '
    \
    \ \ @@ -640,23 +648,37 @@ self.hide(); } }, false); - ui.y.addEventListener('change', function() { - self._createDay(); + ui.y.addEventListener('change', function(e) { //目前的change事件容易导致级联触发 + if (self.options.beginMonth || self.options.endMonth) { + self._createMonth(); + } else { + self._createDay(); + } }, false); - ui.m.addEventListener('change', function() { + ui.m.addEventListener('change', function(e) { self._createDay(); }, false); + ui.d.addEventListener('change', function(e) { + if (self.options.beginMonth || self.options.endMonth) { //仅提供了beginDate时,触发day,hours,minutes的change + self._createHours(); + } + }, false); + ui.h.addEventListener('change', function(e) { + if (self.options.beginMonth || self.options.endMonth) { + self._createMinutes(); + } + }, false); ui.mask[0].addEventListener('tap', function() { self.hide(); }, false); self._create(options); //防止滚动穿透 - self.ui.picker.addEventListener('touchstart',function(event){ - event.preventDefault(); - },false); - self.ui.picker.addEventListener('touchmove',function(event){ - event.preventDefault(); - },false); + self.ui.picker.addEventListener($.EVENT_START, function(event) { + event.preventDefault(); + }, false); + self.ui.picker.addEventListener($.EVENT_MOVE, function(event) { + event.preventDefault(); + }, false); }, getSelected: function() { var self = this; @@ -701,11 +723,16 @@ var self = this; var ui = self.ui; var parsedValue = self._parseValue(value); - ui.y.picker.setSelectedValue(parsedValue.y, 0); - ui.m.picker.setSelectedValue(parsedValue.m, 0); - ui.d.picker.setSelectedValue(parsedValue.d, 0); - ui.h.picker.setSelectedValue(parsedValue.h, 0); - ui.i.picker.setSelectedValue(parsedValue.i, 0); + //TODO 嵌套过多,因为picker的change时间是异步(考虑到性能)的,所以为了保证change之后再setSelected,目前使用回调处理 + ui.y.picker.setSelectedValue(parsedValue.y, 0, function() { + ui.m.picker.setSelectedValue(parsedValue.m, 0, function() { + ui.d.picker.setSelectedValue(parsedValue.d, 0, function() { + ui.h.picker.setSelectedValue(parsedValue.h, 0, function() { + ui.i.picker.setSelectedValue(parsedValue.i, 0); + }); + }); + }); + }); }, isLeapYear: function(year) { return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); @@ -736,6 +763,30 @@ } return num; }, + _isBeginYear: function() { + return this.options.beginYear === parseInt(this.ui.y.picker.getSelectedValue()); + }, + _isBeginMonth: function() { + return this.options.beginMonth && this._isBeginYear() && this.options.beginMonth === parseInt(this.ui.m.picker.getSelectedValue()); + }, + _isBeginDay: function() { + return this._isBeginMonth() && this.options.beginDay === parseInt(this.ui.d.picker.getSelectedValue()); + }, + _isBeginHours: function() { + return this._isBeginDay() && this.options.beginHours === parseInt(this.ui.h.picker.getSelectedValue()); + }, + _isEndYear: function() { + return this.options.endYear === parseInt(this.ui.y.picker.getSelectedValue()); + }, + _isEndMonth: function() { + return this.options.endMonth && this._isEndYear() && this.options.endMonth === parseInt(this.ui.m.picker.getSelectedValue()); + }, + _isEndDay: function() { + return this._isEndMonth() && this.options.endDay === parseInt(this.ui.d.picker.getSelectedValue()); + }, + _isEndHours: function() { + return this._isEndDay() && this.options.endHours === parseInt(this.ui.h.picker.getSelectedValue()); + }, _createYear: function(current) { var self = this; var options = self.options; @@ -761,12 +812,15 @@ var self = this; var options = self.options; var ui = self.ui; + //生成月列表 var mArray = []; if (options.customData.m) { mArray = options.customData.m; } else { - for (var m = 1; m <= 12; m++) { + var m = options.beginMonth && self._isBeginYear() ? options.beginMonth : 1; + var maxMonth = options.endMonth && self._isEndYear() ? options.endMonth : 12; + for (; m <= maxMonth; m++) { var val = self._fill(m); mArray.push({ text: val, @@ -781,13 +835,15 @@ var self = this; var options = self.options; var ui = self.ui; + //生成日列表 var dArray = []; if (options.customData.d) { dArray = options.customData.d; } else { - var maxDay = self.getDayNum(parseInt(ui.y.picker.getSelectedValue()), parseInt(ui.m.picker.getSelectedValue())); - for (var d = 1; d <= maxDay; d++) { + var d = self._isBeginMonth() ? options.beginDay : 1; + var maxDay = self._isEndMonth() ? options.endDay : self.getDayNum(parseInt(this.ui.y.picker.getSelectedValue()), parseInt(this.ui.m.picker.getSelectedValue())); + for (; d <= maxDay; d++) { var val = self._fill(d); dArray.push({ text: val, @@ -808,7 +864,9 @@ if (options.customData.h) { hArray = options.customData.h; } else { - for (var h = 0; h <= 23; h++) { + var h = self._isBeginDay() ? options.beginHours : 0; + var maxHours = self._isEndDay() ? options.endHours : 23; + for (; h <= maxHours; h++) { var val = self._fill(h); hArray.push({ text: val, @@ -823,12 +881,15 @@ var self = this; var options = self.options; var ui = self.ui; + //生成分列表 var iArray = []; if (options.customData.i) { iArray = options.customData.i; } else { - for (var i = 0; i <= 59; i++) { + var i = self._isBeginHours() ? options.beginMinutes : 0; + var maxMinutes = self._isEndHours() ? options.endMinutes : 59; + for (; i <= maxMinutes; i++) { var val = self._fill(i); iArray.push({ text: val, @@ -883,6 +944,22 @@ options.customData = options.customData || {}; self.options = options; var now = new Date(); + var beginDate = options.beginDate; + if (beginDate instanceof Date && !isNaN(beginDate.valueOf())) { //设定了开始日期 + options.beginYear = beginDate.getFullYear(); + options.beginMonth = beginDate.getMonth() + 1; + options.beginDay = beginDate.getDate(); + options.beginHours = beginDate.getHours(); + options.beginMinutes = beginDate.getMinutes(); + } + var endDate = options.endDate; + if (endDate instanceof Date && !isNaN(endDate.valueOf())) { //设定了结束日期 + options.endYear = endDate.getFullYear(); + options.endMonth = endDate.getMonth() + 1; + options.endDay = endDate.getDate(); + options.endHours = endDate.getHours(); + options.endMinutes = endDate.getMinutes(); + } options.beginYear = options.beginYear || (now.getFullYear() - 5); options.endYear = options.endYear || (now.getFullYear() + 5); var ui = self.ui; @@ -922,7 +999,7 @@ ui.mask.close(); document.body.classList.remove($.className('dtpicker-active-for-page')); //处理物理返回键 - $.back=self.__back; + $.back = self.__back; }, dispose: function() { var self = this; diff --git a/examples/hello-mui/js/mui.picker.js b/examples/hello-mui/js/mui.picker.js index fd1a770c..6dc78ae1 100644 --- a/examples/hello-mui/js/mui.picker.js +++ b/examples/hello-mui/js/mui.picker.js @@ -127,22 +127,29 @@ var self = this; var lastAngle = 0; var startY = null; - self.holder.addEventListener('touchstart', function(event) { + var isPicking = false; + self.holder.addEventListener($.EVENT_START, function(event) { + isPicking = true; event.preventDefault(); self.list.style.webkitTransition = ''; startY = (event.changedTouches ? event.changedTouches[0] : event).pageY; lastAngle = self.list.angle; self.updateInertiaParams(event, true); }, false); - self.holder.addEventListener('touchend', function(event) { + self.holder.addEventListener($.EVENT_END, function(event) { + isPicking = false; event.preventDefault(); self.startInertiaScroll(event); }, false); - self.holder.addEventListener('touchcancel', function(event) { + self.holder.addEventListener($.EVENT_CANCEL, function(event) { + isPicking = false; event.preventDefault(); self.startInertiaScroll(event); }, false); - self.holder.addEventListener('touchmove', function(event) { + self.holder.addEventListener($.EVENT_MOVE, function(event) { + if (!isPicking) { + return; + } event.preventDefault(); var endY = (event.changedTouches ? event.changedTouches[0] : event).pageY; var dragRange = endY - startY; @@ -268,7 +275,7 @@ setTimeout(function() { var index = self.getSelectedIndex(); var item = self.items[index]; - if ($.trigger && (index != self.lastIndex || force)) { + if ($.trigger && (index != self.lastIndex || force === true)) { $.trigger(self.holder, 'change', { "index": index, "item": item @@ -276,6 +283,7 @@ //console.log('change:' + index); } self.lastIndex = index; + typeof force === 'function' && force(); }, 0); }; @@ -316,7 +324,7 @@ return parseInt((self.list.angle / self.itemAngle).toFixed(0)); }; - Picker.prototype.setSelectedIndex = function(index, duration) { + Picker.prototype.setSelectedIndex = function(index, duration, callback) { var self = this; self.list.style.webkitTransition = ''; var angle = self.correctAngle(self.itemAngle * index); @@ -326,7 +334,7 @@ } else { self.setAngle(angle); } - self.triggerChange(); + self.triggerChange(callback); }; Picker.prototype.getSelectedItem = function() { @@ -344,12 +352,12 @@ return (self.items[self.getSelectedIndex()] || {}).text; }; - Picker.prototype.setSelectedValue = function(value, duration) { + Picker.prototype.setSelectedValue = function(value, duration, callback) { var self = this; for (var index in self.items) { var item = self.items[index]; if (item.value == value) { - self.setSelectedIndex(index, duration); + self.setSelectedIndex(index, duration, callback); return; } } diff --git a/examples/hello-mui/js/mui.picker.min.js b/examples/hello-mui/js/mui.picker.min.js index f5f215ae..9c416442 100644 --- a/examples/hello-mui/js/mui.picker.min.js +++ b/examples/hello-mui/js/mui.picker.min.js @@ -4,4 +4,4 @@ * by Houfeng * Houfeng@DCloud.io **/ -!function(e,t,i,a){var n=30,r=90,s=40,c=10,l=e.rad2deg=function(e){return e/(Math.PI/180)},o=(e.deg2rad=function(e){return e*(Math.PI/180)},navigator.platform.toLowerCase()),d=navigator.userAgent.toLowerCase(),u=(d.indexOf("iphone")>-1||d.indexOf("ipad")>-1||d.indexOf("ipod")>-1)&&(o.indexOf("iphone")>-1||o.indexOf("ipad")>-1||o.indexOf("ipod")>-1),p=e.Picker=function(e,t){var i=this;i.holder=e,i.options=t||{},i.init(),i.initInertiaParams(),i.calcElementItemPostion(!0),i.bindEvent()};p.prototype.findElementItems=function(){var e=this;return e.elementItems=[].slice.call(e.holder.querySelectorAll("li")),e.elementItems},p.prototype.init=function(){var e=this;e.list=e.holder.querySelector("ul"),e.findElementItems(),e.height=e.holder.offsetHeight,e.r=e.height/2-c,e.d=2*e.r,e.itemHeight=e.elementItems.length>0?e.elementItems[0].offsetHeight:s,e.itemAngle=parseInt(e.calcAngle(.8*e.itemHeight)),e.hightlightRange=e.itemAngle/2,e.visibleRange=r,e.beginAngle=0,e.beginExceed=e.beginAngle-n,e.list.angle=e.beginAngle,u&&(e.list.style.webkitTransformOrigin="center center "+e.r+"px")},p.prototype.calcElementItemPostion=function(e){var t=this;e&&(t.items=[]),t.elementItems.forEach(function(i){var a=t.elementItems.indexOf(i);if(t.endAngle=t.itemAngle*a,i.angle=t.endAngle,i.style.webkitTransformOrigin="center center -"+t.r+"px",i.style.webkitTransform="translateZ("+t.r+"px) rotateX("+-t.endAngle+"deg)",e){var n={};n.text=i.innerHTML||"",n.value=i.getAttribute("data-value")||n.text,t.items.push(n)}}),t.endExceed=t.endAngle+n,t.calcElementItemVisibility(t.beginAngle)},p.prototype.calcAngle=function(e){var t=this,i=b=parseFloat(t.r);e=Math.abs(e);var a=180*parseInt(e/t.d);e%=t.d;var n=(i*i+b*b-e*e)/(2*i*b),r=a+l(Math.acos(n));return r},p.prototype.calcElementItemVisibility=function(e){var t=this;t.elementItems.forEach(function(i){var a=Math.abs(i.angle-e);a0?t-s:t+s;c>e.endExceed&&(c=e.endExceed),c300&&(i.lastMoveTime=n,i.lastMoveStart=a.pageY)}i.stopInertiaMove=!0},p.prototype.startInertiaScroll=function(e){var t=this,i=e.changedTouches?e.changedTouches[0]:e,a=e.timeStamp||Date.now(),n=(i.pageY-t.lastMoveStart)/(a-t.lastMoveTime),r=n>0?-1:1,s=6e-4*r*-1,c=Math.abs(n/s),l=n*c/2,o=t.list.angle,d=t.calcAngle(l)*r,u=d;return o+dt.endExceed&&(d=t.endExceed-o,c=c*(d/u)*.6),0==d?void t.endScroll():void t.scrollDistAngle(a,o,d,c)},p.prototype.scrollDistAngle=function(e,t,i,a){var n=this;n.stopInertiaMove=!1,function(e,t,i,a){var r=13,s=a/r,c=0;!function l(){if(!n.stopInertiaMove){var e=n.quartEaseOut(c,t,i,s);return n.setAngle(e),c++,c>s-1||en.endExceed?void n.endScroll():void setTimeout(l,r)}}()}(e,t,i,a)},p.prototype.quartEaseOut=function(e,t,i,a){return-i*((e=e/a-1)*e*e*e-1)+t},p.prototype.endScroll=function(){var e=this;if(e.list.anglee.endAngle)e.list.style.webkitTransition="150ms ease-out",e.setAngle(e.endAngle);else{var t=parseInt((e.list.angle/e.itemAngle).toFixed(0));e.list.style.webkitTransition="100ms ease-out",e.setAngle(e.itemAngle*t)}e.triggerChange()},p.prototype.triggerChange=function(t){var i=this;setTimeout(function(){var a=i.getSelectedIndex(),n=i.items[a];e.trigger&&(a!=i.lastIndex||t)&&e.trigger(i.holder,"change",{index:a,item:n}),i.lastIndex=a},0)},p.prototype.correctAngle=function(e){var t=this;return et.endAngle?t.endAngle:e},p.prototype.setItems=function(e){var t=this;t.items=e||[];var i=[];t.items.forEach(function(e){null!==e&&e!==a&&i.push("
  • "+(e.text||e)+"
  • ")}),t.list.innerHTML=i.join(""),t.findElementItems(),t.calcElementItemPostion(),t.setAngle(t.correctAngle(t.list.angle)),t.triggerChange(!0)},p.prototype.getItems=function(){var e=this;return e.items},p.prototype.getSelectedIndex=function(){var e=this;return parseInt((e.list.angle/e.itemAngle).toFixed(0))},p.prototype.setSelectedIndex=function(e,t){var i=this;i.list.style.webkitTransition="";var a=i.correctAngle(i.itemAngle*e);if(t&&t>0){var n=a-i.list.angle;i.scrollDistAngle(Date.now(),i.list.angle,n,t)}else i.setAngle(a);i.triggerChange()},p.prototype.getSelectedItem=function(){var e=this;return e.items[e.getSelectedIndex()]},p.prototype.getSelectedValue=function(){var e=this;return(e.items[e.getSelectedIndex()]||{}).value},p.prototype.getSelectedText=function(){var e=this;return(e.items[e.getSelectedIndex()]||{}).text},p.prototype.setSelectedValue=function(e,t){var i=this;for(var a in i.items){var n=i.items[a];if(n.value==e)return void i.setSelectedIndex(a,t)}},e.fn&&(e.fn.picker=function(e){return this.each(function(t,i){if(!i.picker)if(e)i.picker=new p(i,e);else{var a=i.getAttribute("data-picker-options"),n=a?JSON.parse(a):{};i.picker=new p(i,n)}}),this[0]?this[0].picker:null},e.ready(function(){e(".mui-picker").picker()}))}(window.mui||window,window,document,void 0),function(e,t){e.dom=function(i){return"string"!=typeof i?i instanceof Array||i[0]&&i.length?[].slice.call(i):[i]:(e.__create_dom_div__||(e.__create_dom_div__=t.createElement("div")),e.__create_dom_div__.innerHTML=i,[].slice.call(e.__create_dom_div__.childNodes))};var i='
    ',a='
    ';e.PopPicker=e.Class.extend({init:function(a){var n=this;n.options=a||{},n.options.buttons=n.options.buttons||["取消","确定"],n.panel=e.dom(i)[0],t.body.appendChild(n.panel),n.ok=n.panel.querySelector(".mui-poppicker-btn-ok"),n.cancel=n.panel.querySelector(".mui-poppicker-btn-cancel"),n.body=n.panel.querySelector(".mui-poppicker-body"),n.mask=e.createMask(),n.cancel.innerText=n.options.buttons[0],n.ok.innerText=n.options.buttons[1],n.cancel.addEventListener("tap",function(e){n.hide()},!1),n.ok.addEventListener("tap",function(e){if(n.callback){var t=n.callback(n.getSelectedItems());t!==!1&&n.hide()}},!1),n.mask[0].addEventListener("tap",function(){n.hide()},!1),n._createPicker(),n.panel.addEventListener("touchstart",function(e){e.preventDefault()},!1),n.panel.addEventListener("touchmove",function(e){e.preventDefault()},!1)},_createPicker:function(){var t=this,i=t.options.layer||1,n=100/i+"%";t.pickers=[];for(var r=1;i>=r;r++){var s=e.dom(a)[0];s.style.width=n,t.body.appendChild(s);var c=e(s).picker();t.pickers.push(c),s.addEventListener("change",function(e){var t=this.nextSibling;if(t&&t.picker){var i=e.detail||{},a=i.item||{};t.picker.setItems(a.children)}},!1)}},setData:function(e){var t=this;e=e||[],t.pickers[0].setItems(e)},getSelectedItems:function(){var e=this,t=[];for(var i in e.pickers){var a=e.pickers[i];t.push(a.getSelectedItem()||{})}return t},show:function(i){var a=this;a.callback=i,a.mask.show(),t.body.classList.add(e.className("poppicker-active-for-page")),a.panel.classList.add(e.className("active")),a.__back=e.back,e.back=function(){a.hide()}},hide:function(){var i=this;i.disposed||(i.panel.classList.remove(e.className("active")),i.mask.close(),t.body.classList.remove(e.className("poppicker-active-for-page")),e.back=i.__back)},dispose:function(){var e=this;e.hide(),setTimeout(function(){e.panel.parentNode.removeChild(e.panel);for(var t in e)e[t]=null,delete e[t];e.disposed=!0},300)}})}(mui,document),function(e,t){e.dom=function(i){return"string"!=typeof i?i instanceof Array||i[0]&&i.length?[].slice.call(i):[i]:(e.__create_dom_div__||(e.__create_dom_div__=t.createElement("div")),e.__create_dom_div__.innerHTML=i,[].slice.call(e.__create_dom_div__.childNodes))};var i='
    ';e.DtPicker=e.Class.extend({init:function(a){var n=this,r=e.dom(i)[0];t.body.appendChild(r),e('[data-id*="picker"]',r).picker();var s=n.ui={picker:r,mask:e.createMask(),ok:e('[data-id="btn-ok"]',r)[0],cancel:e('[data-id="btn-cancel"]',r)[0],y:e('[data-id="picker-y"]',r)[0],m:e('[data-id="picker-m"]',r)[0],d:e('[data-id="picker-d"]',r)[0],h:e('[data-id="picker-h"]',r)[0],i:e('[data-id="picker-i"]',r)[0],labels:e('[data-id*="title-"]',r)};s.cancel.addEventListener("tap",function(){n.hide()},!1),s.ok.addEventListener("tap",function(){var e=n.callback(n.getSelected());e!==!1&&n.hide()},!1),s.y.addEventListener("change",function(){n._createDay()},!1),s.m.addEventListener("change",function(){n._createDay()},!1),s.mask[0].addEventListener("tap",function(){n.hide()},!1),n._create(a),n.ui.picker.addEventListener("touchstart",function(e){e.preventDefault()},!1),n.ui.picker.addEventListener("touchmove",function(e){e.preventDefault()},!1)},getSelected:function(){var e=this,t=e.ui,i=e.options.type,a={type:i,y:t.y.picker.getSelectedItem(),m:t.m.picker.getSelectedItem(),d:t.d.picker.getSelectedItem(),h:t.h.picker.getSelectedItem(),i:t.i.picker.getSelectedItem(),toString:function(){return this.value}};switch(i){case"datetime":a.value=a.y.value+"-"+a.m.value+"-"+a.d.value+" "+a.h.value+":"+a.i.value,a.text=a.y.text+"-"+a.m.text+"-"+a.d.text+" "+a.h.text+":"+a.i.text;break;case"date":a.value=a.y.value+"-"+a.m.value+"-"+a.d.value,a.text=a.y.text+"-"+a.m.text+"-"+a.d.text;break;case"time":a.value=a.h.value+":"+a.i.value,a.text=a.h.text+":"+a.i.text;break;case"month":a.value=a.y.value+"-"+a.m.value,a.text=a.y.text+"-"+a.m.text;break;case"hour":a.value=a.y.value+"-"+a.m.value+"-"+a.d.value+" "+a.h.value,a.text=a.y.text+"-"+a.m.text+"-"+a.d.text+" "+a.h.text}return a},setSelectedValue:function(e){var t=this,i=t.ui,a=t._parseValue(e);i.y.picker.setSelectedValue(a.y,0),i.m.picker.setSelectedValue(a.m,0),i.d.picker.setSelectedValue(a.d,0),i.h.picker.setSelectedValue(a.h,0),i.i.picker.setSelectedValue(a.i,0)},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},_inArray:function(e,t){for(var i in e){var a=e[i];if(a===t)return!0}return!1},getDayNum:function(e,t){var i=this;return i._inArray([1,3,5,7,8,10,12],t)?31:i._inArray([4,6,9,11],t)?30:i.isLeapYear(e)?29:28},_fill:function(e){return e=e.toString(),e.length<2&&(e=0+e),e},_createYear:function(e){var t=this,i=t.options,a=t.ui,n=[];if(i.customData.y)n=i.customData.y;else for(var r=i.beginYear,s=i.endYear,c=r;s>=c;c++)n.push({text:c+"",value:c});a.y.picker.setItems(n)},_createMonth:function(e){var t=this,i=t.options,a=t.ui,n=[];if(i.customData.m)n=i.customData.m;else for(var r=1;12>=r;r++){var s=t._fill(r);n.push({text:s,value:s})}a.m.picker.setItems(n)},_createDay:function(e){var t=this,i=t.options,a=t.ui,n=[];if(i.customData.d)n=i.customData.d;else for(var r=t.getDayNum(parseInt(a.y.picker.getSelectedValue()),parseInt(a.m.picker.getSelectedValue())),s=1;r>=s;s++){var c=t._fill(s);n.push({text:c,value:c})}a.d.picker.setItems(n),e=e||a.d.picker.getSelectedValue()},_createHours:function(e){var t=this,i=t.options,a=t.ui,n=[];if(i.customData.h)n=i.customData.h;else for(var r=0;23>=r;r++){var s=t._fill(r);n.push({text:s,value:s})}a.h.picker.setItems(n)},_createMinutes:function(e){var t=this,i=t.options,a=t.ui,n=[];if(i.customData.i)n=i.customData.i;else for(var r=0;59>=r;r++){var s=t._fill(r);n.push({text:s,value:s})}a.i.picker.setItems(n)},_setLabels:function(){var e=this,t=e.options,i=e.ui;i.labels.each(function(e,i){i.innerText=t.labels[e]})},_setButtons:function(){var e=this,t=e.options,i=e.ui;i.cancel.innerText=t.buttons[0],i.ok.innerText=t.buttons[1]},_parseValue:function(e){var t={};if(e){var i=e.replace(":","-").replace(" ","-").split("-");t.y=i[0],t.m=i[1],t.d=i[2],t.h=i[3],t.i=i[4]}else{var a=new Date;t.y=a.getFullYear(),t.m=a.getMonth()+1,t.d=a.getDate(),t.h=a.getHours(),t.i=a.getMinutes()}return t},_create:function(e){var t=this;e=e||{},e.labels=e.labels||["年","月","日","时","分"],e.buttons=e.buttons||["取消","确定"],e.type=e.type||"datetime",e.customData=e.customData||{},t.options=e;var i=new Date;e.beginYear=e.beginYear||i.getFullYear()-5,e.endYear=e.endYear||i.getFullYear()+5;var a=t.ui;t._setLabels(),t._setButtons(),a.picker.setAttribute("data-type",e.type),t._createYear(),t._createMonth(),t._createDay(),t._createHours(),t._createMinutes(),t.setSelectedValue(e.value)},show:function(i){var a=this,n=a.ui;a.callback=i||e.noop,n.mask.show(),t.body.classList.add(e.className("dtpicker-active-for-page")),n.picker.classList.add(e.className("active")),a.__back=e.back,e.back=function(){a.hide()}},hide:function(){var i=this;if(!i.disposed){var a=i.ui;a.picker.classList.remove(e.className("active")),a.mask.close(),t.body.classList.remove(e.className("dtpicker-active-for-page")),e.back=i.__back}},dispose:function(){var e=this;e.hide(),setTimeout(function(){e.ui.picker.parentNode.removeChild(e.ui.picker);for(var t in e)e[t]=null,delete e[t];e.disposed=!0},300)}})}(mui,document); \ No newline at end of file +!function(e,t,i,n){var a=30,r=90,s=40,c=10,l=e.rad2deg=function(e){return e/(Math.PI/180)},o=(e.deg2rad=function(e){return e*(Math.PI/180)},navigator.platform.toLowerCase()),d=navigator.userAgent.toLowerCase(),u=(d.indexOf("iphone")>-1||d.indexOf("ipad")>-1||d.indexOf("ipod")>-1)&&(o.indexOf("iphone")>-1||o.indexOf("ipad")>-1||o.indexOf("ipod")>-1),p=e.Picker=function(e,t){var i=this;i.holder=e,i.options=t||{},i.init(),i.initInertiaParams(),i.calcElementItemPostion(!0),i.bindEvent()};p.prototype.findElementItems=function(){var e=this;return e.elementItems=[].slice.call(e.holder.querySelectorAll("li")),e.elementItems},p.prototype.init=function(){var e=this;e.list=e.holder.querySelector("ul"),e.findElementItems(),e.height=e.holder.offsetHeight,e.r=e.height/2-c,e.d=2*e.r,e.itemHeight=e.elementItems.length>0?e.elementItems[0].offsetHeight:s,e.itemAngle=parseInt(e.calcAngle(.8*e.itemHeight)),e.hightlightRange=e.itemAngle/2,e.visibleRange=r,e.beginAngle=0,e.beginExceed=e.beginAngle-a,e.list.angle=e.beginAngle,u&&(e.list.style.webkitTransformOrigin="center center "+e.r+"px")},p.prototype.calcElementItemPostion=function(e){var t=this;e&&(t.items=[]),t.elementItems.forEach(function(i){var n=t.elementItems.indexOf(i);if(t.endAngle=t.itemAngle*n,i.angle=t.endAngle,i.style.webkitTransformOrigin="center center -"+t.r+"px",i.style.webkitTransform="translateZ("+t.r+"px) rotateX("+-t.endAngle+"deg)",e){var a={};a.text=i.innerHTML||"",a.value=i.getAttribute("data-value")||a.text,t.items.push(a)}}),t.endExceed=t.endAngle+a,t.calcElementItemVisibility(t.beginAngle)},p.prototype.calcAngle=function(e){var t=this,i=b=parseFloat(t.r);e=Math.abs(e);var n=180*parseInt(e/t.d);e%=t.d;var a=(i*i+b*b-e*e)/(2*i*b),r=n+l(Math.acos(a));return r},p.prototype.calcElementItemVisibility=function(e){var t=this;t.elementItems.forEach(function(i){var n=Math.abs(i.angle-e);n0?i-c:i+c;l>t.endExceed&&(l=t.endExceed),l300&&(i.lastMoveTime=a,i.lastMoveStart=n.pageY)}i.stopInertiaMove=!0},p.prototype.startInertiaScroll=function(e){var t=this,i=e.changedTouches?e.changedTouches[0]:e,n=e.timeStamp||Date.now(),a=(i.pageY-t.lastMoveStart)/(n-t.lastMoveTime),r=a>0?-1:1,s=6e-4*r*-1,c=Math.abs(a/s),l=a*c/2,o=t.list.angle,d=t.calcAngle(l)*r,u=d;return o+dt.endExceed&&(d=t.endExceed-o,c=c*(d/u)*.6),0==d?void t.endScroll():void t.scrollDistAngle(n,o,d,c)},p.prototype.scrollDistAngle=function(e,t,i,n){var a=this;a.stopInertiaMove=!1,function(e,t,i,n){var r=13,s=n/r,c=0;!function l(){if(!a.stopInertiaMove){var e=a.quartEaseOut(c,t,i,s);return a.setAngle(e),c++,c>s-1||ea.endExceed?void a.endScroll():void setTimeout(l,r)}}()}(e,t,i,n)},p.prototype.quartEaseOut=function(e,t,i,n){return-i*((e=e/n-1)*e*e*e-1)+t},p.prototype.endScroll=function(){var e=this;if(e.list.anglee.endAngle)e.list.style.webkitTransition="150ms ease-out",e.setAngle(e.endAngle);else{var t=parseInt((e.list.angle/e.itemAngle).toFixed(0));e.list.style.webkitTransition="100ms ease-out",e.setAngle(e.itemAngle*t)}e.triggerChange()},p.prototype.triggerChange=function(t){var i=this;setTimeout(function(){var n=i.getSelectedIndex(),a=i.items[n];!e.trigger||n==i.lastIndex&&t!==!0||e.trigger(i.holder,"change",{index:n,item:a}),i.lastIndex=n,"function"==typeof t&&t()},0)},p.prototype.correctAngle=function(e){var t=this;return et.endAngle?t.endAngle:e},p.prototype.setItems=function(e){var t=this;t.items=e||[];var i=[];t.items.forEach(function(e){null!==e&&e!==n&&i.push("
  • "+(e.text||e)+"
  • ")}),t.list.innerHTML=i.join(""),t.findElementItems(),t.calcElementItemPostion(),t.setAngle(t.correctAngle(t.list.angle)),t.triggerChange(!0)},p.prototype.getItems=function(){var e=this;return e.items},p.prototype.getSelectedIndex=function(){var e=this;return parseInt((e.list.angle/e.itemAngle).toFixed(0))},p.prototype.setSelectedIndex=function(e,t,i){var n=this;n.list.style.webkitTransition="";var a=n.correctAngle(n.itemAngle*e);if(t&&t>0){var r=a-n.list.angle;n.scrollDistAngle(Date.now(),n.list.angle,r,t)}else n.setAngle(a);n.triggerChange(i)},p.prototype.getSelectedItem=function(){var e=this;return e.items[e.getSelectedIndex()]},p.prototype.getSelectedValue=function(){var e=this;return(e.items[e.getSelectedIndex()]||{}).value},p.prototype.getSelectedText=function(){var e=this;return(e.items[e.getSelectedIndex()]||{}).text},p.prototype.setSelectedValue=function(e,t,i){var n=this;for(var a in n.items){var r=n.items[a];if(r.value==e)return void n.setSelectedIndex(a,t,i)}},e.fn&&(e.fn.picker=function(e){return this.each(function(t,i){if(!i.picker)if(e)i.picker=new p(i,e);else{var n=i.getAttribute("data-picker-options"),a=n?JSON.parse(n):{};i.picker=new p(i,a)}}),this[0]?this[0].picker:null},e.ready(function(){e(".mui-picker").picker()}))}(window.mui||window,window,document,void 0),function(e,t){e.dom=function(i){return"string"!=typeof i?i instanceof Array||i[0]&&i.length?[].slice.call(i):[i]:(e.__create_dom_div__||(e.__create_dom_div__=t.createElement("div")),e.__create_dom_div__.innerHTML=i,[].slice.call(e.__create_dom_div__.childNodes))};var i='
    ',n='
    ';e.PopPicker=e.Class.extend({init:function(n){var a=this;a.options=n||{},a.options.buttons=a.options.buttons||["取消","确定"],a.panel=e.dom(i)[0],t.body.appendChild(a.panel),a.ok=a.panel.querySelector(".mui-poppicker-btn-ok"),a.cancel=a.panel.querySelector(".mui-poppicker-btn-cancel"),a.body=a.panel.querySelector(".mui-poppicker-body"),a.mask=e.createMask(),a.cancel.innerText=a.options.buttons[0],a.ok.innerText=a.options.buttons[1],a.cancel.addEventListener("tap",function(e){a.hide()},!1),a.ok.addEventListener("tap",function(e){if(a.callback){var t=a.callback(a.getSelectedItems());t!==!1&&a.hide()}},!1),a.mask[0].addEventListener("tap",function(){a.hide()},!1),a._createPicker(),a.panel.addEventListener(e.EVENT_START,function(e){e.preventDefault()},!1),a.panel.addEventListener(e.EVENT_MOVE,function(e){e.preventDefault()},!1)},_createPicker:function(){var t=this,i=t.options.layer||1,a=100/i+"%";t.pickers=[];for(var r=1;i>=r;r++){var s=e.dom(n)[0];s.style.width=a,t.body.appendChild(s);var c=e(s).picker();t.pickers.push(c),s.addEventListener("change",function(e){var t=this.nextSibling;if(t&&t.picker){var i=e.detail||{},n=i.item||{};t.picker.setItems(n.children)}},!1)}},setData:function(e){var t=this;e=e||[],t.pickers[0].setItems(e)},getSelectedItems:function(){var e=this,t=[];for(var i in e.pickers){var n=e.pickers[i];t.push(n.getSelectedItem()||{})}return t},show:function(i){var n=this;n.callback=i,n.mask.show(),t.body.classList.add(e.className("poppicker-active-for-page")),n.panel.classList.add(e.className("active")),n.__back=e.back,e.back=function(){n.hide()}},hide:function(){var i=this;i.disposed||(i.panel.classList.remove(e.className("active")),i.mask.close(),t.body.classList.remove(e.className("poppicker-active-for-page")),e.back=i.__back)},dispose:function(){var e=this;e.hide(),setTimeout(function(){e.panel.parentNode.removeChild(e.panel);for(var t in e)e[t]=null,delete e[t];e.disposed=!0},300)}})}(mui,document),function(e,t){e.dom=function(i){return"string"!=typeof i?i instanceof Array||i[0]&&i.length?[].slice.call(i):[i]:(e.__create_dom_div__||(e.__create_dom_div__=t.createElement("div")),e.__create_dom_div__.innerHTML=i,[].slice.call(e.__create_dom_div__.childNodes))};var i='
    ';e.DtPicker=e.Class.extend({init:function(n){var a=this,r=e.dom(i)[0];t.body.appendChild(r),e('[data-id*="picker"]',r).picker();var s=a.ui={picker:r,mask:e.createMask(),ok:e('[data-id="btn-ok"]',r)[0],cancel:e('[data-id="btn-cancel"]',r)[0],y:e('[data-id="picker-y"]',r)[0],m:e('[data-id="picker-m"]',r)[0],d:e('[data-id="picker-d"]',r)[0],h:e('[data-id="picker-h"]',r)[0],i:e('[data-id="picker-i"]',r)[0],labels:e('[data-id*="title-"]',r)};s.cancel.addEventListener("tap",function(){a.hide()},!1),s.ok.addEventListener("tap",function(){var e=a.callback(a.getSelected());e!==!1&&a.hide()},!1),s.y.addEventListener("change",function(e){a.options.beginMonth||a.options.endMonth?a._createMonth():a._createDay()},!1),s.m.addEventListener("change",function(e){a._createDay()},!1),s.d.addEventListener("change",function(e){(a.options.beginMonth||a.options.endMonth)&&a._createHours()},!1),s.h.addEventListener("change",function(e){(a.options.beginMonth||a.options.endMonth)&&a._createMinutes()},!1),s.mask[0].addEventListener("tap",function(){a.hide()},!1),a._create(n),a.ui.picker.addEventListener(e.EVENT_START,function(e){e.preventDefault()},!1),a.ui.picker.addEventListener(e.EVENT_MOVE,function(e){e.preventDefault()},!1)},getSelected:function(){var e=this,t=e.ui,i=e.options.type,n={type:i,y:t.y.picker.getSelectedItem(),m:t.m.picker.getSelectedItem(),d:t.d.picker.getSelectedItem(),h:t.h.picker.getSelectedItem(),i:t.i.picker.getSelectedItem(),toString:function(){return this.value}};switch(i){case"datetime":n.value=n.y.value+"-"+n.m.value+"-"+n.d.value+" "+n.h.value+":"+n.i.value,n.text=n.y.text+"-"+n.m.text+"-"+n.d.text+" "+n.h.text+":"+n.i.text;break;case"date":n.value=n.y.value+"-"+n.m.value+"-"+n.d.value,n.text=n.y.text+"-"+n.m.text+"-"+n.d.text;break;case"time":n.value=n.h.value+":"+n.i.value,n.text=n.h.text+":"+n.i.text;break;case"month":n.value=n.y.value+"-"+n.m.value,n.text=n.y.text+"-"+n.m.text;break;case"hour":n.value=n.y.value+"-"+n.m.value+"-"+n.d.value+" "+n.h.value,n.text=n.y.text+"-"+n.m.text+"-"+n.d.text+" "+n.h.text}return n},setSelectedValue:function(e){var t=this,i=t.ui,n=t._parseValue(e);i.y.picker.setSelectedValue(n.y,0,function(){i.m.picker.setSelectedValue(n.m,0,function(){i.d.picker.setSelectedValue(n.d,0,function(){i.h.picker.setSelectedValue(n.h,0,function(){i.i.picker.setSelectedValue(n.i,0)})})})})},isLeapYear:function(e){return e%4==0&&e%100!=0||e%400==0},_inArray:function(e,t){for(var i in e){var n=e[i];if(n===t)return!0}return!1},getDayNum:function(e,t){var i=this;return i._inArray([1,3,5,7,8,10,12],t)?31:i._inArray([4,6,9,11],t)?30:i.isLeapYear(e)?29:28},_fill:function(e){return e=e.toString(),e.length<2&&(e=0+e),e},_isBeginYear:function(){return this.options.beginYear===parseInt(this.ui.y.picker.getSelectedValue())},_isBeginMonth:function(){return this.options.beginMonth&&this._isBeginYear()&&this.options.beginMonth===parseInt(this.ui.m.picker.getSelectedValue())},_isBeginDay:function(){return this._isBeginMonth()&&this.options.beginDay===parseInt(this.ui.d.picker.getSelectedValue())},_isBeginHours:function(){return this._isBeginDay()&&this.options.beginHours===parseInt(this.ui.h.picker.getSelectedValue())},_isEndYear:function(){return this.options.endYear===parseInt(this.ui.y.picker.getSelectedValue())},_isEndMonth:function(){return this.options.endMonth&&this._isEndYear()&&this.options.endMonth===parseInt(this.ui.m.picker.getSelectedValue())},_isEndDay:function(){return this._isEndMonth()&&this.options.endDay===parseInt(this.ui.d.picker.getSelectedValue())},_isEndHours:function(){return this._isEndDay()&&this.options.endHours===parseInt(this.ui.h.picker.getSelectedValue())},_createYear:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.y)a=i.customData.y;else for(var r=i.beginYear,s=i.endYear,c=r;s>=c;c++)a.push({text:c+"",value:c});n.y.picker.setItems(a)},_createMonth:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.m)a=i.customData.m;else for(var r=i.beginMonth&&t._isBeginYear()?i.beginMonth:1,s=i.endMonth&&t._isEndYear()?i.endMonth:12;s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.m.picker.setItems(a)},_createDay:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.d)a=i.customData.d;else for(var r=t._isBeginMonth()?i.beginDay:1,s=t._isEndMonth()?i.endDay:t.getDayNum(parseInt(this.ui.y.picker.getSelectedValue()),parseInt(this.ui.m.picker.getSelectedValue()));s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.d.picker.setItems(a),e=e||n.d.picker.getSelectedValue()},_createHours:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.h)a=i.customData.h;else for(var r=t._isBeginDay()?i.beginHours:0,s=t._isEndDay()?i.endHours:23;s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.h.picker.setItems(a)},_createMinutes:function(e){var t=this,i=t.options,n=t.ui,a=[];if(i.customData.i)a=i.customData.i;else for(var r=t._isBeginHours()?i.beginMinutes:0,s=t._isEndHours()?i.endMinutes:59;s>=r;r++){var c=t._fill(r);a.push({text:c,value:c})}n.i.picker.setItems(a)},_setLabels:function(){var e=this,t=e.options,i=e.ui;i.labels.each(function(e,i){i.innerText=t.labels[e]})},_setButtons:function(){var e=this,t=e.options,i=e.ui;i.cancel.innerText=t.buttons[0],i.ok.innerText=t.buttons[1]},_parseValue:function(e){var t={};if(e){var i=e.replace(":","-").replace(" ","-").split("-");t.y=i[0],t.m=i[1],t.d=i[2],t.h=i[3],t.i=i[4]}else{var n=new Date;t.y=n.getFullYear(),t.m=n.getMonth()+1,t.d=n.getDate(),t.h=n.getHours(),t.i=n.getMinutes()}return t},_create:function(e){var t=this;e=e||{},e.labels=e.labels||["年","月","日","时","分"],e.buttons=e.buttons||["取消","确定"],e.type=e.type||"datetime",e.customData=e.customData||{},t.options=e;var i=new Date,n=e.beginDate;n instanceof Date&&!isNaN(n.valueOf())&&(e.beginYear=n.getFullYear(),e.beginMonth=n.getMonth()+1,e.beginDay=n.getDate(),e.beginHours=n.getHours(),e.beginMinutes=n.getMinutes());var a=e.endDate;a instanceof Date&&!isNaN(a.valueOf())&&(e.endYear=a.getFullYear(),e.endMonth=a.getMonth()+1,e.endDay=a.getDate(),e.endHours=a.getHours(),e.endMinutes=a.getMinutes()),e.beginYear=e.beginYear||i.getFullYear()-5,e.endYear=e.endYear||i.getFullYear()+5;var r=t.ui;t._setLabels(),t._setButtons(),r.picker.setAttribute("data-type",e.type),t._createYear(),t._createMonth(),t._createDay(),t._createHours(),t._createMinutes(),t.setSelectedValue(e.value)},show:function(i){var n=this,a=n.ui;n.callback=i||e.noop,a.mask.show(),t.body.classList.add(e.className("dtpicker-active-for-page")),a.picker.classList.add(e.className("active")),n.__back=e.back,e.back=function(){n.hide()}},hide:function(){var i=this;if(!i.disposed){var n=i.ui;n.picker.classList.remove(e.className("active")),n.mask.close(),t.body.classList.remove(e.className("dtpicker-active-for-page")),e.back=i.__back}},dispose:function(){var e=this;e.hide(),setTimeout(function(){e.ui.picker.parentNode.removeChild(e.ui.picker);for(var t in e)e[t]=null,delete e[t];e.disposed=!0},300)}})}(mui,document); \ No newline at end of file diff --git a/examples/hello-mui/js/mui.poppicker.js b/examples/hello-mui/js/mui.poppicker.js index f5c51d24..d1c32550 100644 --- a/examples/hello-mui/js/mui.poppicker.js +++ b/examples/hello-mui/js/mui.poppicker.js @@ -74,10 +74,10 @@ }, false); self._createPicker(); //防止滚动穿透 - self.panel.addEventListener('touchstart', function(event) { + self.panel.addEventListener($.EVENT_START, function(event) { event.preventDefault(); }, false); - self.panel.addEventListener('touchmove', function(event) { + self.panel.addEventListener($.EVENT_MOVE, function(event) { event.preventDefault(); }, false); }, diff --git a/examples/hello-mui/js/mui.previewimage.js b/examples/hello-mui/js/mui.previewimage.js index 160f34d3..4af13b93 100644 --- a/examples/hello-mui/js/mui.previewimage.js +++ b/examples/hello-mui/js/mui.previewimage.js @@ -37,16 +37,12 @@ proto.initEvent = function() { var self = this; $(document.body).on('tap', 'img[data-preview-src]', function() { - if (self.isAnimationing()) { - return false; - } self.open(this); return false; }); var laterClose = null; var laterCloseEvent = function() { !laterClose && (laterClose = $.later(function() { - self.isInAnimation = true; self.loader.removeEventListener('tap', laterCloseEvent); self.scroller.removeEventListener('tap', laterCloseEvent); self.close(); @@ -62,12 +58,12 @@ if (self.element.classList.contains($.className('preview-out'))) { //close self.element.style.display = 'none'; self.element.classList.remove($.className('preview-out')); + self.element.classList.remove($.className('preview-in')); laterClose = null; } else { //open self.loader.addEventListener('tap', laterCloseEvent); self.scroller.addEventListener('tap', laterCloseEvent); } - self.isInAnimation = false; }); this.element.addEventListener('slide', function(e) { if (self.options.zoom) { @@ -83,13 +79,6 @@ }); }; - proto.isAnimationing = function() { - if (this.isInAnimation) { - return true; - } - this.isInAnimation = true; - return false; - }; proto.addImages = function(group, index) { this.groups = {}; var imgs = []; @@ -328,7 +317,7 @@ this.refresh(index, this.groups[group]); }; proto.open = function(index, group) { - if (this.element.classList.contains($.className('preview-in'))) { + if (this.isShown()) { return; } if (typeof index === "number") { @@ -343,6 +332,9 @@ } }; proto.close = function(index, group) { + if (!this.isShown()) { + return; + } this.element.classList.remove($.className('preview-in')); this.element.classList.add($.className('preview-out')); var itemEl = this.scroller.querySelector($.classSelector('.slider-item:nth-child(' + (this.lastIndex + 1) + ')')); @@ -367,10 +359,10 @@ } var zoomers = this.element.querySelectorAll($.classSelector('.zoom-wrapper')); for (var i = 0, len = zoomers.length; i < len; i++) { - $(zoomers[i]).zoom().destory(); + $(zoomers[i]).zoom().destroy(); } - // $(this.element).slider().destory(); - // this.empty(); + $(this.element).slider().destroy(); +// this.empty(); }; proto.isShown = function() { return this.element.classList.contains($.className('preview-in')); diff --git a/examples/hello-mui/js/mui.view.js b/examples/hello-mui/js/mui.view.js index d8479249..65ae4e08 100644 --- a/examples/hello-mui/js/mui.view.js +++ b/examples/hello-mui/js/mui.view.js @@ -191,7 +191,7 @@ } }, _isAnimateNavbarIOS: function() { - return $.os.ios && this.options.animateNavbar === 'ios'; + return !$.os.android && this.options.animateNavbar === 'ios'; }, _webkitTransitionEnd: function(event) { this.dragging = this.moved = false; @@ -271,7 +271,7 @@ cancelable: true }); for (var len = callbacks.length; len--;) { - callbacks[len].apply(this, event); + callbacks[len].call(this, event); } } $.trigger(this.view, eventType, { diff --git a/examples/hello-mui/js/mui.zoom.js b/examples/hello-mui/js/mui.zoom.js index bd4a3285..a00ba7df 100644 --- a/examples/hello-mui/js/mui.zoom.js +++ b/examples/hello-mui/js/mui.zoom.js @@ -40,19 +40,21 @@ target[action](EVENT_PINCH, zoom.onPinch); target[action](EVENT_PINCH_END, zoom.onPinchend); - target[action]('touchstart', zoom.onTouchstart); - target[action]('touchmove', zoom.onTouchMove); - target[action]('touchcancel', zoom.onTouchEnd); - target[action]('touchend', zoom.onTouchEnd); + target[action]($.EVENT_START, zoom.onTouchstart); + target[action]($.EVENT_MOVE, zoom.onTouchMove); + target[action]($.EVENT_CANCEL, zoom.onTouchEnd); + target[action]($.EVENT_END, zoom.onTouchEnd); - target[action]('drag', function(e) { - if (imageIsMoved || isGesturing) { - e.stopPropagation(); - } - }); - target[action]('doubletap', function(e) { - zoom.toggleZoom(e.detail.center); - }); + target[action]('drag', zoom.dragEvent); + target[action]('doubletap', zoom.doubleTapEvent); + }; + zoom.dragEvent = function(e) { + if (imageIsMoved || isGesturing) { + e.stopPropagation(); + } + }; + zoom.doubleTapEvent = function(e) { + zoom.toggleZoom(e.detail.center); }; zoom.transition = function(style, time) { time = time || 0; @@ -178,8 +180,8 @@ zoom.onTouchstart = function(e) { e.preventDefault(); imageIsTouched = true; - imageTouchesStart.x = e.type === 'touchstart' ? e.targetTouches[0].pageX : e.pageX; - imageTouchesStart.y = e.type === 'touchstart' ? e.targetTouches[0].pageY : e.pageY; + imageTouchesStart.x = e.type === $.EVENT_START ? e.targetTouches[0].pageX : e.pageX; + imageTouchesStart.y = e.type === $.EVENT_START ? e.targetTouches[0].pageY : e.pageY; }; zoom.onTouchMove = function(e) { e.preventDefault(); @@ -204,8 +206,8 @@ imageMinY = Math.min((wrapperHeight / 2 - scaledHeight / 2), 0); imageMaxY = -imageMinY; - imageTouchesCurrent.x = e.type === 'touchmove' ? e.targetTouches[0].pageX : e.pageX; - imageTouchesCurrent.y = e.type === 'touchmove' ? e.targetTouches[0].pageY : e.pageY; + imageTouchesCurrent.x = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageX : e.pageX; + imageTouchesCurrent.y = e.type === $.EVENT_MOVE ? e.targetTouches[0].pageY : e.pageY; if (!imageIsMoved && !isScaling) { // if (Math.abs(imageTouchesCurrent.y - imageTouchesStart.y) < Math.abs(imageTouchesCurrent.x - imageTouchesStart.x)) { @@ -287,7 +289,7 @@ zoom.scrollerTransition(momentumDuration).scrollerTransform(imageCurrentX, imageCurrentY); }; - zoom.destory = function() { + zoom.destroy = function() { zoom.initEvents(true); //detach delete $.data[zoom.wrapper.getAttribute('data-zoomer')]; zoom.wrapper.setAttribute('data-zoomer', ''); diff --git a/examples/hello-mui/list.html b/examples/hello-mui/list.html index e3d861cd..15b63c57 100644 --- a/examples/hello-mui/list.html +++ b/examples/hello-mui/list.html @@ -345,6 +345,11 @@ 左侧选项卡-div模式 +
  • + + 左侧选项卡-div模式-滚动监听 + +
diff --git a/js/mui.class.scroll.js b/js/mui.class.scroll.js index 28599a8c..afe11910 100644 --- a/js/mui.class.scroll.js +++ b/js/mui.class.scroll.js @@ -59,7 +59,6 @@ scrollTime: 500, scrollEasing: ease.outCubic, //轮播动画曲线 - directionLockThreshold: 5, parallaxElement: false, //视差元素 @@ -500,7 +499,7 @@ } }, _scrollend: function(e) { - if (Math.abs(this.y) > 0 && this.y <= this.maxScrollY) { + if ((this.y === 0 && this.maxScrollY === 0) || (Math.abs(this.y) > 0 && this.y <= this.maxScrollY)) { $.trigger(this.scroller, 'scrollbottom', this); } }, @@ -783,7 +782,6 @@ speedRatioY: 0 }, options); - this.sizeRatioX = 1; this.sizeRatioY = 1; this.maxPosX = 0; diff --git a/js/mui.popup.js b/js/mui.popup.js index 7a75c8cf..7dd8c882 100644 --- a/js/mui.popup.js +++ b/js/mui.popup.js @@ -23,6 +23,7 @@ var backdrop = (function() { var element = document.createElement('div'); element.classList.add(CLASS_POPUP_BACKDROP); + element.addEventListener($.EVENT_MOVE, $.preventDefault); element.addEventListener('webkitTransitionEnd', function() { if (!this.classList.contains(CLASS_ACTIVE)) { element.parentNode && element.parentNode.removeChild(element); @@ -35,7 +36,7 @@ return '
'; }; var createInner = function(message, title, extra) { - return '
' + title + '
' + message + '
' + (extra || '') + '
'; + return '
' + title + '
' + message + '
' + (extra || '') + '
'; }; var createButtons = function(btnArray) { var length = btnArray.length; @@ -54,7 +55,7 @@ popupElement.parentNode && popupElement.parentNode.removeChild(popupElement); popupElement = null; }; - + popupElement.addEventListener($.EVENT_MOVE, $.preventDefault); popupElement.addEventListener('webkitTransitionEnd', function(e) { if (popupElement && e.target === popupElement && popupElement.classList.contains(CLASS_POPUP_OUT)) { removePopupElement(); diff --git a/js/mui.progressbar.js b/js/mui.progressbar.js index b2ab7108..998238af 100644 --- a/js/mui.progressbar.js +++ b/js/mui.progressbar.js @@ -59,6 +59,8 @@ progressbar.innerHTML = ''; } container.appendChild(progressbar); + } else { + progressbar.classList.add(CLASS_PROGRESSBAR_IN); } } if (progress) setProgressbar(container, progress); diff --git a/package.json b/package.json index affa7444..99d6fcc2 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "mui", "description": "最接近原生体验的高性能前端框架.", - "version": "2.9.0", + "version": "3.0.0", "keywords": [ "css", "fonts", diff --git a/sass/fullscreen.scss b/sass/fullscreen.scss index c6daecb1..d1ff4490 100644 --- a/sass/fullscreen.scss +++ b/sass/fullscreen.scss @@ -1,35 +1,35 @@ -.#{$namespace}fullscreen{ +.#{$namespace}fullscreen { position: absolute; top: 0; right: 0; bottom: 0; left: 0; - width: 100%; - height: 100%; - &.#{$namespace}slider .#{$namespace}slider-group{ - height:100%; - + &.#{$namespace}slider .#{$namespace}slider-group { + height: 100%; } - .#{$namespace}segmented-control ~ .#{$namespace}slider-group{ - width:100%; - height:auto; - top:40px; - bottom:0; + .#{$namespace}segmented-control ~ .#{$namespace}slider-group { + width: 100%; + height: auto; + top: 40px; + bottom: 0; position: absolute; } - &.#{$namespace}slider .#{$namespace}slider-item>a{ + &.#{$namespace}slider .#{$namespace}slider-item>a { top: 50%; transform: translateY(-50%); -webkit-transform: translateY(-50%); } - .#{$namespace}off-canvas-wrap .#{$namespace}slider-item>a{ + .#{$namespace}off-canvas-wrap .#{$namespace}slider-item>a { top: auto; transform: none; -webkit-transform: none; } } -.#{$namespace}bar-tab ~ .#{$namespace}content .#{$namespace}slider.#{$namespace}fullscreen{ - .#{$namespace}segmented-control ~ .#{$namespace}slider-group{ - bottom:50px; - } +.#{$namespace}bar-nav ~ .#{$namespace}content .#{$namespace}slider.#{$namespace}fullscreen { + top: 44px; } +.#{$namespace}bar-tab ~ .#{$namespace}content .#{$namespace}slider.#{$namespace}fullscreen { + .#{$namespace}segmented-control ~ .#{$namespace}slider-group { + bottom: 50px; + } +} \ No newline at end of file diff --git a/sass/popup.scss b/sass/popup.scss index eb4d499a..a301102c 100644 --- a/sass/popup.scss +++ b/sass/popup.scss @@ -1,4 +1,4 @@ -.#{$namespace}popup-backdrop{ +.#{$namespace}popup-backdrop { position: fixed; top: 0; left: 0; @@ -8,13 +8,13 @@ background: rgba(0,0,0,.4); opacity: 0; @include transition-duration(400ms); - &.#{$namespace}active { + &.#{$namespace}active { opacity: 1; } } -.#{$namespace}popup{ +.#{$namespace}popup { width: 270px; - position: absolute; + position: fixed; z-index: z("max"); left: 50%; top: 50%; @@ -27,13 +27,13 @@ transition-property: transform,opacity; color: #000; display: none; - &.#{$namespace}popup-in{ + &.#{$namespace}popup-in { opacity: 1; @include transition-duration(400ms); @include transform(translate3d(-50%,-50%,0) scale(1)); display: block; } - &.#{$namespace}popup-out{ + &.#{$namespace}popup-out { opacity: 0; //z-index:max-1 @include transition-duration(400ms); @@ -69,7 +69,8 @@ text-align: center; } .#{$namespace}popup-title+.#{$namespace}popup-text { - margin-top: 5px; + margin: 5px 0 0; + font-family: inherit; font-size: 14px; } .#{$namespace}popup-buttons { @@ -80,9 +81,8 @@ display: flex; -webkit-box-pack: center; -webkit-justify-content: center; - justify-content: center + justify-content: center; } - .#{$namespace}popup-button { width: 100%; padding: 0 5px; @@ -115,39 +115,38 @@ -webkit-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: scaleX(.5); - transform: scaleX(.5) + transform: scaleX(.5); } &:first-child { border-radius: 0 0 0 13px; &:last-child { - border-radius: 0 0 13px 13px + border-radius: 0 0 13px 13px; } } &:last-child { border-radius: 0 0 13px 0; &:after { - display: none + display: none; } } &.#{$namespace}popup-button-bold { - font-weight: 600 + font-weight: 600; } } -.#{$namespace}popup-input input{ +.#{$namespace}popup-input input { height: 26px; background: #fff; - margin: 0; - margin-top: 15px; + margin: 15px 0 0; padding: 0 5px; border: 1px solid rgba(0,0,0,.3); border-radius: 0; width: 100%; font-size: 14px; } -.#{$namespace}plus.#{$namespace}android .#{$namespace}popup-backdrop{ - @include transition-duration(1ms); -} -.#{$namespace}plus.#{$namespace}android .#{$namespace}popup{ - @include transition-duration(1ms); - @include transform(translate3d(-50%,-50%,0) scale(1)); +.#{$namespace}plus.#{$namespace}android .#{$namespace}popup-backdrop { + @include transition-duration(1ms); } +.#{$namespace}plus.#{$namespace}android .#{$namespace}popup { + @include transition-duration(1ms); + @include transform(translate3d(-50%,-50%,0) scale(1)); +} \ No newline at end of file