Showing preview only (4,128K chars total). Download the full file or copy to clipboard to get everything.
Repository: dcloudio/mui
Branch: master
Commit: e216655901e5
Files: 281
Total size: 3.9 MB
Directory structure:
gitextract_066cprrn/
├── .gitignore
├── Gruntfile.js
├── LICENSE
├── README.md
├── dist/
│ ├── css/
│ │ └── mui.css
│ └── js/
│ └── mui.js
├── examples/
│ ├── hello-mui/
│ │ ├── .project
│ │ ├── css/
│ │ │ ├── app.css
│ │ │ ├── feedback.css
│ │ │ ├── icons-extra.css
│ │ │ ├── mui.dtpicker.css
│ │ │ ├── mui.imageviewer.css
│ │ │ ├── mui.indexedlist.css
│ │ │ ├── mui.listpicker.css
│ │ │ ├── mui.picker.all.css
│ │ │ ├── mui.picker.css
│ │ │ └── mui.poppicker.css
│ │ ├── examples/
│ │ │ ├── accordion.html
│ │ │ ├── actionsheet-plus.html
│ │ │ ├── actionsheet.html
│ │ │ ├── ad.html
│ │ │ ├── ajax.html
│ │ │ ├── badges.html
│ │ │ ├── best-practices/
│ │ │ │ └── list-to-detail/
│ │ │ │ ├── detail.html
│ │ │ │ ├── list-to-detail.css
│ │ │ │ └── listview.html
│ │ │ ├── buttons-with-badges.html
│ │ │ ├── buttons-with-block.html
│ │ │ ├── buttons-with-icons.html
│ │ │ ├── buttons-with-loading.html
│ │ │ ├── buttons.html
│ │ │ ├── card.html
│ │ │ ├── checkbox.html
│ │ │ ├── date.html
│ │ │ ├── dialog.html
│ │ │ ├── dtpicker.html
│ │ │ ├── echarts.html
│ │ │ ├── feedback.html
│ │ │ ├── grid-default.html
│ │ │ ├── grid-pagination.html
│ │ │ ├── guide.html
│ │ │ ├── icons-extra.html
│ │ │ ├── icons.html
│ │ │ ├── im-chat.html
│ │ │ ├── imageviewer-native.html
│ │ │ ├── imageviewer.html
│ │ │ ├── indexed-list-select.html
│ │ │ ├── indexed-list.html
│ │ │ ├── info.html
│ │ │ ├── input.html
│ │ │ ├── lazyload-image.html
│ │ │ ├── list-triplex-row.html
│ │ │ ├── list-with-input.html
│ │ │ ├── locker-dom.html
│ │ │ ├── login.html
│ │ │ ├── media-list.html
│ │ │ ├── message-bottom.html
│ │ │ ├── modals.html
│ │ │ ├── nav-nativeObj.html
│ │ │ ├── nav.html
│ │ │ ├── nav_transparent.html
│ │ │ ├── nav_transparent_native.html
│ │ │ ├── numbox.html
│ │ │ ├── offcanvas-drag-down.html
│ │ │ ├── offcanvas-drag-left-plus-main.html
│ │ │ ├── offcanvas-drag-left-plus-menu.html
│ │ │ ├── offcanvas-drag-left.html
│ │ │ ├── offcanvas-drag-right-plus-main.html
│ │ │ ├── offcanvas-drag-right-plus-menu.html
│ │ │ ├── offcanvas-drag-right.html
│ │ │ ├── pagination.html
│ │ │ ├── picker.html
│ │ │ ├── popovers.html
│ │ │ ├── progressbar.html
│ │ │ ├── pullrefresh.html
│ │ │ ├── pullrefresh_main.html
│ │ │ ├── pullrefresh_sub.html
│ │ │ ├── pullrefresh_with_tab.html
│ │ │ ├── radio.html
│ │ │ ├── range.html
│ │ │ ├── setting.html
│ │ │ ├── slider-default.html
│ │ │ ├── slider-native.html
│ │ │ ├── slider-table-default.html
│ │ │ ├── slider-table-pagination.html
│ │ │ ├── slider-with-title.html
│ │ │ ├── switches.html
│ │ │ ├── tab-top-subpage-1.html
│ │ │ ├── tab-top-subpage-2.html
│ │ │ ├── tab-top-subpage-3.html
│ │ │ ├── tab-top-subpage-4.html
│ │ │ ├── tab-top-subpage-5.html
│ │ │ ├── tab-top-webview-main.html
│ │ │ ├── tab-vertical-scroll.html
│ │ │ ├── tab-webview-main.html
│ │ │ ├── tab-webview-subpage-about.html
│ │ │ ├── tab-webview-subpage-chat.html
│ │ │ ├── tab-webview-subpage-contact.html
│ │ │ ├── tab-webview-subpage-setting.html
│ │ │ ├── tab-with-segmented-control-vertical.html
│ │ │ ├── tab-with-segmented-control.html
│ │ │ ├── tab-with-viewpagerindicator.html
│ │ │ ├── tabbar-labels-only.html
│ │ │ ├── tabbar-with-submenus.html
│ │ │ ├── tabbar.html
│ │ │ ├── tableviews-with-badges.html
│ │ │ ├── tableviews-with-collapses.html
│ │ │ ├── tableviews-with-swipe.html
│ │ │ ├── tableviews.html
│ │ │ └── typography.html
│ │ ├── index-menu.html
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── 95516.js
│ │ │ ├── arttmpl.js
│ │ │ ├── beecloud.js
│ │ │ ├── city.data-3.js
│ │ │ ├── city.data.js
│ │ │ ├── feedback.js
│ │ │ ├── mui.dtpicker.js
│ │ │ ├── mui.imageViewer.js
│ │ │ ├── mui.indexedlist.js
│ │ │ ├── mui.js
│ │ │ ├── mui.lazyload.img.js
│ │ │ ├── mui.lazyload.js
│ │ │ ├── mui.listpicker.js
│ │ │ ├── mui.locker.js
│ │ │ ├── mui.picker.all.js
│ │ │ ├── mui.picker.js
│ │ │ ├── mui.poppicker.js
│ │ │ ├── mui.previewimage.js
│ │ │ ├── mui.pullToRefresh.js
│ │ │ ├── mui.pullToRefresh.material.js
│ │ │ ├── mui.view.js
│ │ │ ├── mui.zoom.js
│ │ │ ├── update.js
│ │ │ └── webviewGroup.js
│ │ ├── libs/
│ │ │ └── echarts-all.js
│ │ └── manifest.json
│ ├── login/
│ │ ├── .project
│ │ ├── README.md
│ │ ├── css/
│ │ │ ├── feedback-page.css
│ │ │ └── style.css
│ │ ├── forget_password.html
│ │ ├── js/
│ │ │ ├── app.js
│ │ │ ├── feedback-page.js
│ │ │ ├── feedback.js
│ │ │ ├── mui.enterfocus.js
│ │ │ ├── mui.locker.js
│ │ │ └── mui.view.js
│ │ ├── libs/
│ │ │ └── easymob-webim-sdk/
│ │ │ ├── easemob.im-1.0.5.js
│ │ │ ├── jquery-1.11.1.js
│ │ │ ├── json2.js
│ │ │ ├── quickstart.md
│ │ │ └── strophe-custom-2.0.0.js
│ │ ├── login.html
│ │ ├── main.html
│ │ ├── manifest.json
│ │ ├── reg.html
│ │ ├── setting.html
│ │ └── unlock.html
│ └── nativeTab/
│ ├── README.md
│ ├── css/
│ │ └── mui.css
│ ├── html/
│ │ ├── new-webview.html
│ │ ├── tab-webview-subpage-chat.html
│ │ └── tab-webview-subpage-contact.html
│ ├── index.html
│ ├── js/
│ │ ├── mui.js
│ │ └── util.js
│ ├── manifest.json
│ └── unpackage/
│ ├── .confirmed_dependencies
│ └── .dependencies
├── grunt/
│ └── mui-namespace-generator.js
├── js/
│ ├── actions.js
│ ├── ajax.plugin.js
│ ├── input.plugin.js
│ ├── modals.js
│ ├── mui.active.js
│ ├── mui.ajax.5+.js
│ ├── mui.ajax.js
│ ├── mui.animation.js
│ ├── mui.animationframe.js
│ ├── mui.back.5+.js
│ ├── mui.back.js
│ ├── mui.button.js
│ ├── mui.class.js
│ ├── mui.class.scroll.js
│ ├── mui.class.scroll.pullrefresh.js
│ ├── mui.class.scroll.slider.js
│ ├── mui.detect.5+.js
│ ├── mui.detect.js
│ ├── mui.dialog.alert.js
│ ├── mui.dialog.confirm.js
│ ├── mui.dialog.prompt.js
│ ├── mui.dialog.toast.js
│ ├── mui.event.js
│ ├── mui.fixed.animation.js
│ ├── mui.fixed.bind.js
│ ├── mui.fixed.classlist.js
│ ├── mui.fixed.fastclick.js
│ ├── mui.fixed.js
│ ├── mui.fixed.keyboard.js
│ ├── mui.gestures.drag.js
│ ├── mui.gestures.flick.js
│ ├── mui.gestures.hold.js
│ ├── mui.gestures.js
│ ├── mui.gestures.longtap.js
│ ├── mui.gestures.pinch.js
│ ├── mui.gestures.swipe.js
│ ├── mui.gestures.tap.js
│ ├── mui.init.5+.js
│ ├── mui.init.js
│ ├── mui.init.pullrefresh.js
│ ├── mui.js
│ ├── mui.jsonp.js
│ ├── mui.layout.js
│ ├── mui.namespace.js
│ ├── mui.number.js
│ ├── mui.offcanvas.js
│ ├── mui.popup.js
│ ├── mui.progressbar.js
│ ├── mui.pullrefresh.5+.js
│ ├── mui.pullrefresh.js
│ ├── mui.target.js
│ ├── mui.transparent.js
│ ├── popovers.js
│ ├── segmented-controllers.js
│ ├── sliders.js
│ ├── switches.js
│ └── tableviews.js
├── mui_snippets.rb
├── package.json
├── plugin/
│ ├── picker/
│ │ ├── css/
│ │ │ ├── mui.dtpicker.css
│ │ │ ├── mui.picker.css
│ │ │ └── mui.poppicker.css
│ │ ├── dist/
│ │ │ ├── css/
│ │ │ │ └── mui.picker.all.css
│ │ │ └── js/
│ │ │ └── mui.picker.all.js
│ │ ├── gulpfile.js
│ │ ├── js/
│ │ │ ├── mui.dtpicker.js
│ │ │ ├── mui.picker.js
│ │ │ └── mui.poppicker.js
│ │ └── package.json
│ └── share/
│ └── plusShare.js
├── sass/
│ ├── badges.scss
│ ├── bars.scss
│ ├── base.scss
│ ├── buttons.scss
│ ├── cards.scss
│ ├── forms.scss
│ ├── fullscreen.scss
│ ├── grid.scss
│ ├── hack.scss
│ ├── icon.scss
│ ├── iframe.scss
│ ├── iscroll.scss
│ ├── loadings.scss
│ ├── mixins.scss
│ ├── modals.scss
│ ├── mui.scss
│ ├── normalize.scss
│ ├── number.scss
│ ├── off-canvas.scss
│ ├── os.scss
│ ├── pagination.scss
│ ├── popovers.scss
│ ├── popup.scss
│ ├── progressbar.scss
│ ├── pullrefreshs.scss
│ ├── push.scss
│ ├── scroll.scss
│ ├── segmented-controls.scss
│ ├── slider-cell.scss
│ ├── sliders.scss
│ ├── switches.scss
│ ├── table-views.scss
│ ├── toast.scss
│ ├── type.scss
│ └── variables.scss
└── template/
└── feedback/
├── css/
│ └── feedback.css
├── feedback.html
├── js/
│ └── feedback.js
└── readme.md
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
.sass-cache
node_modules
sass/.csscomb.json
sass/.csslintrc
js/.jscsrc
js/.jshintrc
================================================
FILE: Gruntfile.js
================================================
/*!
* Mui's Gruntfile
*/
/* jshint node: true */
module.exports = function(grunt) {
'use strict';
// Force use of Unix newlines
grunt.util.linefeed = '\n';
RegExp.quote = function(string) {
return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&');
};
var generateNamespace = require('./grunt/mui-namespace-generator.js');
// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
// Metadata.
meta: {
libPath: 'lib/',
distPath: 'dist/',
jsPath: 'js/',
sassPath: 'sass/',
examplesPath: 'examples/hello-mui/'
},
banner: '/*!\n' +
' * =====================================================\n' +
' * Mui v<%= pkg.version %> (<%= pkg.homepage %>)\n' +
' * =====================================================\n' +
' */\n',
clean: {
all: ['<%= meta.distPath %>'],
sourceMap: ['<%= meta.distPath %>css/*.map']
},
concat: {
mui: {
options: {
banner: '<%= banner %>'
},
src: [
'js/mui.js',
'js/mui.detect.js',
'js/mui.detect.5+.js',
'js/mui.event.js',
'js/mui.target.js',
'js/mui.fixed.js',
'js/mui.fixed.bind.js',
'js/mui.fixed.classlist.js',
'js/mui.fixed.animation.js',
'js/mui.fixed.fastclick.js',
'js/mui.fixed.keyboard.js',
'js/mui.namespace.js',
'js/mui.gestures.js',
'js/mui.gestures.flick.js',
'js/mui.gestures.swipe.js',
'js/mui.gestures.drag.js',
'js/mui.gestures.tap.js',
'js/mui.gestures.longtap.js',
'js/mui.gestures.hold.js',
'js/mui.gestures.pinch.js',
'js/mui.init.js',
'js/mui.init.5+.js',
'js/mui.back.js',
'js/mui.back.5+.js',
'js/mui.init.pullrefresh.js',
'js/mui.ajax.js',
'js/mui.ajax.5+.js',
'js/mui.layout.js',
'js/mui.animation.js',
'js/mui.class.js',
'js/mui.pullrefresh.js',
'js/mui.class.scroll.js',
'js/mui.class.scroll.pullrefresh.js',
'js/mui.class.scroll.slider.js',
'js/mui.pullrefresh.5+.js',
'js/mui.offcanvas.js',
'js/actions.js',
'js/modals.js',
'js/popovers.js',
'js/segmented-controllers.js',
'js/switches.js',
'js/tableviews.js',
'js/mui.dialog.alert.js',
'js/mui.dialog.confirm.js',
'js/mui.dialog.prompt.js',
'js/mui.dialog.toast.js',
'js/mui.popup.js',
'js/mui.progressbar.js',
'js/input.plugin.js',
'js/mui.transparent.js',
'js/mui.number.js',
'js/mui.button.js'
],
dest: '<%= meta.distPath %>js/<%= pkg.name %>.js',
}
},
sass: {
options: {
banner: '<%= banner %>',
style: 'expanded',
unixNewlines: true
},
dist: {
files: {
'<%= meta.distPath %>css/<%= pkg.name %>.css': 'sass/mui.scss',
}
}
},
csscomb: {
options: {
config: 'sass/.csscomb.json'
},
dist: {
files: {
'<%= meta.distPath %>/css/<%= pkg.name %>.css': '<%= meta.distPath %>/css/<%= pkg.name %>.css'
}
},
},
copy: {
fonts: {
expand: true,
src: 'fonts/mui*.ttf',
dest: '<%= meta.distPath %>/'
},
examples: {
expand: true,
cwd: '<%= meta.distPath %>',
src: ['**/mui*'],
dest: '<%= meta.examplesPath %>'
}
},
cssmin: {
options: {
banner: '', // set to empty; see bellow
keepSpecialComments: '*', // set to '*' because we already add the banner in sass
sourceMap: false
},
mui: {
src: '<%= meta.distPath %>css/<%= pkg.name %>.css',
dest: '<%= meta.distPath %>css/<%= pkg.name %>.min.css'
}
},
uglify: {
options: {
banner: '<%= banner %>',
compress: {},
mangle: true,
preserveComments: false
},
mui: {
src: '<%= concat.mui.dest %>',
dest: '<%= meta.distPath %>js/<%= pkg.name %>.min.js'
}
},
watch: {
options: {
dateFormat: function(time) {
grunt.log.writeln('The watch finished in ' + time + 'ms at' + (new Date()).toString());
grunt.log.writeln('Waiting for more changes...');
},
livereload: true
},
scripts: {
files: [
'<%= meta.sassPath %>/**/*.scss',
'<%= meta.jsPath %>/**/*.js',
],
tasks: 'dist'
}
},
jshint: {
options: {
jshintrc: 'js/.jshintrc'
},
grunt: {
src: ['Gruntfile.js', 'grunt/*.js']
},
src: {
src: 'js/*.js'
}
},
jscs: {
options: {
config: 'js/.jscsrc'
},
grunt: {
src: '<%= jshint.grunt.src %>'
},
src: {
src: '<%= jshint.src.src %>'
},
docs: {
src: '<%= jshint.docs.src %>'
}
},
csslint: {
options: {
csslintrc: 'sass/.csslintrc'
},
src: [
'<%= meta.distPath %>/css/<%= pkg.name %>.css',
]
},
sed: {
versionNumber: {
pattern: (function() {
var old = grunt.option('oldver');
return old ? RegExp.quote(old) : old;
})(),
replacement: grunt.option('newver'),
recursive: true
}
}
});
// Load the plugins
require('load-grunt-tasks')(grunt, {
scope: 'devDependencies'
});
require('time-grunt')(grunt);
// Default task(s).
grunt.registerTask('cleanAll', ['clean']);
grunt.registerTask('dist-css', ['sass', 'csscomb', 'cssmin', 'clean:sourceMap']);
grunt.registerTask('dist-js', ['concat', 'build-namespace', 'uglify']);
grunt.registerTask('dist', ['clean:all', 'dist-css', 'dist-js', 'copy']);
grunt.registerTask('build', ['dist']);
grunt.registerTask('default', ['dist']);
grunt.registerTask('build-namespace', generateNamespace);
grunt.registerTask('server', ['dist','watch']);
// Version numbering task.
// grunt change-version-number --oldver=A.B.C --newver=X.Y.Z
// This can be overzealous, so its changes should always be manually reviewed!
grunt.registerTask('change-version-number', 'sed');
grunt.event.on('watch', function(action, filepath, target) {
grunt.log.writeln(target + ': ' + filepath + ' has ' + action);
});
};
================================================
FILE: LICENSE
================================================
The MIT License (MIT)
Copyright (c) 2014 connors and other contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
================================================
FILE: README.md
================================================
mui
===
性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机运行,摔手机的心都有; 另一方面,浏览器默认控件样式又少又丑,制作一个漂亮的控件非常麻烦,也有一些制作简单的ui框架但性能低下。
mui框架有效的解决了这些问题,这是一个可以方便开发出高性能App的框架,也是目前最接近原生App效果的框架。
赞助我们
------
一个手艺人需要3万个粉丝养活,希望你能成为其中之一,[前往赞助](https://dev.dcloud.net.cn/sponsor/?channel=mui)
参考文档
------
[mui官网](http://dev.dcloud.net.cn/mui/)文档使用[Jekyll](http://jekyllrb.com) 构建,[立即查看](http://dev.dcloud.net.cn/mui/)。
快速体验
--------
[在线下载](http://www.dcloud.io/hellomui)或扫描如下二维码下载Hello MUI,可在手机上体验MUI的控件UI及能力展示;
<a href="http://www.dcloud.io/hellomui" target="_blank">
<img src="http://www.dcloud.io/images/code-m.png" width="100" />
</a>
在线交流
--------
若你在使用过程中有任何经验、想法、疑惑,都可以在[问答社区](http://ask.dcloud.net.cn/topic/mui) 发起文章,和其它mui用户一起交流;
License
-------
mui遵循MIT License;
开发工具
-------
mui组件已被封装成[HBuilder](http://www.dcloud.io)代码块,只需要简单几个字符,就可以快速生成各个组件对应的HTML代码,因此和[Hbuilder](http://www.dcloud.io)两个一起用,效果会更好;
<a href="http://www.dcloud.io/" target="_blank">
<img src="http://www.dcloud.io/img/text-b.png" width="240" />
</a>
================================================
FILE: dist/css/mui.css
================================================
/*!
* =====================================================
* Mui v3.7.3 (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;
}
body::after
{
position: fixed;
top: -1000px;
left: -1000px;
content: '';
-webkit-animation: shadow-preload .1s;
animation: shadow-preload .1s;
-webkit-animation-delay: 3s;
animation-delay: 3s;
}
@-webkit-keyframes shadow-preload
{
0%
{
background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
}
100%
{
background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
}
}
@keyframes shadow-preload
{
0%
{
background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
}
100%
{
background-image: url(https://cdn.dcloud.net.cn/img/mui-shadow-grey.png);
}
}
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: transparent;
}
a:active,
a:hover
{
outline: 0;
}
abbr[title]
{
border-bottom: 1px dotted;
}
b,
strong
{
font-weight: bold;
}
dfn
{
font-style: italic;
}
h1
{
font-size: 2em;
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-box-sizing: content-box;
box-sizing: content-box;
-webkit-appearance: textfield;
}
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 #c0c0c0;
}
legend
{
padding: 0;
border: 0;
}
textarea
{
overflow: auto;
}
optgroup
{
font-weight: bold;
}
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: none;
-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:before, .mui-clearfix:after
{
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;
}
h1, .mui-h1
{
font-size: 36px;
}
h2, .mui-h2
{
font-size: 30px;
}
h3, .mui-h3
{
font-size: 24px;
}
h4, .mui-h4
{
font-size: 18px;
}
h5, .mui-h5
{
font-size: 14px;
font-weight: normal;
color: #8f8f94;
}
h6, .mui-h6
{
font-size: 12px;
font-weight: normal;
color: #8f8f94;
}
p
{
font-size: 14px;
margin-top: 0;
margin-bottom: 10px;
color: #8f8f94;
}
.mui-row:before, .mui-row:after
{
display: table;
content: ' ';
}
.mui-row:after
{
clear: both;
}
.mui-col-xs-1, .mui-col-sm-1, .mui-col-xs-2, .mui-col-sm-2, .mui-col-xs-3, .mui-col-sm-3, .mui-col-xs-4, .mui-col-sm-4, .mui-col-xs-5, .mui-col-sm-5, .mui-col-xs-6, .mui-col-sm-6, .mui-col-xs-7, .mui-col-sm-7, .mui-col-xs-8, .mui-col-sm-8, .mui-col-xs-9, .mui-col-sm-9, .mui-col-xs-10, .mui-col-sm-10, .mui-col-xs-11, .mui-col-sm-11, .mui-col-xs-12, .mui-col-sm-12
{
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%;
}
.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, 0px) 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%, 0px, 0px);
}
.mui-off-canvas-wrap.mui-slide-in .mui-off-canvas-left
{
z-index: 10000 !important;
-webkit-transform: translate3d(-100%, 0px, 0px);
}
.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,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%236c6c6c\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
background-repeat: no-repeat;
background-position: 50%;
background-size: 100%;
}
.mui-spinner-white:after
{
background-image: url('data:image/svg+xml;charset=utf-8,<svg viewBox=\'0 0 120 120\' xmlns=\'http://www.w3.org/2000/svg\' xmlns:xlink=\'http://www.w3.org/1999/xlink\'><defs><line id=\'l\' x1=\'60\' x2=\'60\' y1=\'7\' y2=\'27\' stroke=\'%23fff\' stroke-width=\'11\' stroke-linecap=\'round\'/></defs><g><use xlink:href=\'%23l\' opacity=\'.27\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(30 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(60 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(90 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(120 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.27\' transform=\'rotate(150 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.37\' transform=\'rotate(180 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.46\' transform=\'rotate(210 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.56\' transform=\'rotate(240 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.66\' transform=\'rotate(270 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.75\' transform=\'rotate(300 60,60)\'/><use xlink:href=\'%23l\' opacity=\'.85\' transform=\'rotate(330 60,60)\'/></g></svg>');
}
@-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);
}
}
input[type='button'],
input[type='submit'],
input[type='reset'],
button,
.mui-btn
{
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;
}
input[type='button']:enabled:active, input[type='button'].mui-active:enabled,
input[type='submit']:enabled:active,
input[type='submit'].mui-active:enabled,
input[type='reset']:enabled:active,
input[type='reset'].mui-active:enabled,
button:enabled:active,
button.mui-active:enabled,
.mui-btn:enabled:active,
.mui-btn.mui-active:enabled
{
color: #fff;
background-color: #929292;
}
input[type='button']:disabled, input[type='button'].mui-disabled,
input[type='submit']:disabled,
input[type='submit'].mui-disabled,
input[type='reset']:disabled,
input[type='reset'].mui-disabled,
button:disabled,
button.mui-disabled,
.mui-btn:disabled,
.mui-btn.mui-disabled
{
opacity: .6;
}
input[type='submit'],
.mui-btn-primary,
.mui-btn-blue
{
color: #fff;
border: 1px solid #007aff;
background-color: #007aff;
}
input[type='submit']:enabled:active, input[type='submit'].mui-active:enabled,
.mui-btn-primary:enabled:active,
.mui-btn-primary.mui-active:enabled,
.mui-btn-blue:enabled:active,
.mui-btn-blue.mui-active:enabled
{
color: #fff;
border: 1px solid #0062cc;
background-color: #0062cc;
}
.mui-btn-positive,
.mui-btn-success,
.mui-btn-green
{
color: #fff;
border: 1px solid #4cd964;
background-color: #4cd964;
}
.mui-btn-positive:enabled:active, .mui-btn-positive.mui-active:enabled,
.mui-btn-success:enabled:active,
.mui-btn-success.mui-active:enabled,
.mui-btn-green:enabled:active,
.mui-btn-green.mui-active:enabled
{
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:enabled:active, .mui-btn-warning.mui-active:enabled,
.mui-btn-yellow:enabled:active,
.mui-btn-yellow.mui-active:enabled
{
color: #fff;
border: 1px solid #ec971f;
background-color: #ec971f;
}
.mui-btn-negative,
.mui-btn-danger,
.mui-btn-red
{
color: #fff;
border: 1px solid #dd524d;
background-color: #dd524d;
}
.mui-btn-negative:enabled:active, .mui-btn-negative.mui-active:enabled,
.mui-btn-danger:enabled:active,
.mui-btn-danger.mui-active:enabled,
.mui-btn-red:enabled:active,
.mui-btn-red.mui-active:enabled
{
color: #fff;
border: 1px solid #cf2d28;
background-color: #cf2d28;
}
.mui-btn-royal,
.mui-btn-purple
{
color: #fff;
border: 1px solid #8a6de9;
background-color: #8a6de9;
}
.mui-btn-royal:enabled:active, .mui-btn-royal.mui-active:enabled,
.mui-btn-purple:enabled:active,
.mui-btn-purple.mui-active:enabled
{
color: #fff;
border: 1px solid #6641e2;
background-color: #6641e2;
}
.mui-btn-grey
{
color: #fff;
border: 1px solid #c7c7cc;
background-color: #c7c7cc;
}
.mui-btn-grey:enabled:active, .mui-btn-grey.mui-active:enabled
{
color: #fff;
border: 1px solid #acacb4;
background-color: #acacb4;
}
.mui-btn-outlined
{
background-color: transparent;
}
.mui-btn-outlined.mui-btn-primary, .mui-btn-outlined.mui-btn-blue
{
color: #007aff;
}
.mui-btn-outlined.mui-btn-positive, .mui-btn-outlined.mui-btn-success, .mui-btn-outlined.mui-btn-green
{
color: #4cd964;
}
.mui-btn-outlined.mui-btn-warning, .mui-btn-outlined.mui-btn-yellow
{
color: #f0ad4e;
}
.mui-btn-outlined.mui-btn-negative, .mui-btn-outlined.mui-btn-danger, .mui-btn-outlined.mui-btn-red
{
color: #dd524d;
}
.mui-btn-outlined.mui-btn-royal, .mui-btn-outlined.mui-btn-purple
{
color: #8a6de9;
}
.mui-btn-outlined.mui-btn-primary:enabled:active, .mui-btn-outlined.mui-btn-blue:enabled:active, .mui-btn-outlined.mui-btn-positive:enabled:active, .mui-btn-outlined.mui-btn-success:enabled:active, .mui-btn-outlined.mui-btn-green:enabled:active, .mui-btn-outlined.mui-btn-warning:enabled:active, .mui-btn-outlined.mui-btn-yellow:enabled:active, .mui-btn-outlined.mui-btn-negative:enabled:active, .mui-btn-outlined.mui-btn-danger:enabled:active, .mui-btn-outlined.mui-btn-red:enabled:active, .mui-btn-outlined.mui-btn-royal:enabled:active, .mui-btn-outlined.mui-btn-purple:enabled:active
{
color: #fff;
}
.mui-btn-link
{
padding-top: 6px;
padding-bottom: 6px;
color: #007aff;
border: 0;
background-color: transparent;
}
.mui-btn-link:enabled:active, .mui-btn-link.mui-active:enabled
{
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-primary:enabled:active .mui-badge-inverted,
.mui-btn-positive:enabled:active .mui-badge-inverted,
.mui-btn-negative: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: none;
}
.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-btn .mui-spinner
{
width: 14px;
height: 14px;
vertical-align: text-bottom;
}
.mui-btn-block .mui-spinner
{
width: 22px;
height: 22px;
}
.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: none;
}
.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-transparent
{
top: 0;
background-color: rgba(247, 247, 247, 0);
-webkit-box-shadow: none;
box-shadow: none;
}
.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: none;
}
.mui-focusin > .mui-bar-nav,
.mui-focusin > .mui-bar-header-secondary
{
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:active, .mui-bar .mui-btn-link.mui-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-primary, .mui-badge-blue
{
color: #fff;
background-color: #007aff;
}
.mui-badge-primary.mui-badge-inverted, .mui-badge-blue.mui-badge-inverted
{
color: #007aff;
background-color: transparent;
}
.mui-badge-success, .mui-badge-green
{
color: #fff;
background-color: #4cd964;
}
.mui-badge-success.mui-badge-inverted, .mui-badge-green.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-royal, .mui-badge-purple
{
color: #fff;
background-color: #8a6de9;
}
.mui-badge-royal.mui-badge-inverted, .mui-badge-purple.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: white;
background: red;
}
.mui-card
{
font-size: 14px;
position: relative;
overflow: hidden;
margin: 10px;
border-radius: 2px;
background-color: white;
background-clip: padding-box;
box-shadow: 0 1px 2px rgba(0, 0, 0, .3);
}
.mui-content > .mui-card:first-child
{
margin-top: 15px;
}
.mui-card .mui-input-group:before, .mui-card .mui-input-group:after
{
height: 0;
}
.mui-card .mui-input-group .mui-input-row:last-child:before, .mui-card .mui-input-group .mui-input-row:last-child:after
{
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-divider:first-child, .mui-card .mui-table-view .mui-table-view-cell:first-child
{
top: 0;
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
.mui-card .mui-table-view .mui-table-view-divider:last-child, .mui-card .mui-table-view .mui-table-view-cell:last-child
{
border-bottom-right-radius: 6px;
border-bottom-left-radius: 6px;
}
.mui-card .mui-table-view:before, .mui-card .mui-table-view:after
{
height: 0;
}
.mui-card > .mui-table-view > .mui-table-view-cell:last-child:before, .mui-card > .mui-table-view > .mui-table-view-cell:last-child:after
{
height: 0;
}
.mui-card-header,
.mui-card-footer
{
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: flex;
min-height: 44px;
padding: 10px 15px;
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
justify-content: space-between;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
.mui-card-header .mui-card-link,
.mui-card-footer .mui-card-link
{
line-height: 44px;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: flex;
height: 44px;
margin-top: -10px;
margin-bottom: -10px;
-webkit-transition-duration: .3s;
transition-duration: .3s;
text-decoration: none;
-webkit-box-pack: start;
-webkit-justify-content: flex-start;
justify-content: flex-start;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
.mui-card-header:after,
.mui-card-footer:before
{
position: absolute;
top: 0;
right: 0;
left: 0;
height: 1px;
content: '';
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
background-color: #c8c7cc;
}
.mui-card-header
{
font-size: 17px;
border-radius: 2px 2px 0 0;
}
.mui-card-header:after
{
top: auto;
bottom: 0;
}
.mui-card-header > img:first-child
{
font-size: 0;
line-height: 0;
float: left;
width: 34px;
height: 34px;
}
.mui-card-footer
{
color: #6d6d72;
border-radius: 0 0 2px 2px;
}
.mui-card-content
{
font-size: 14px;
position: relative;
}
.mui-card-content-inner
{
position: relative;
padding: 15px;
}
.mui-card-media
{
vertical-align: bottom;
color: #fff;
background-position: center;
background-size: cover;
}
.mui-card-header.mui-card-media
{
display: block;
padding: 10px;
}
.mui-card-header.mui-card-media .mui-media-body
{
font-size: 14px;
font-weight: 500;
line-height: 17px;
margin-bottom: 0;
margin-left: 44px;
color: #333;
}
.mui-card-header.mui-card-media .mui-media-body p
{
font-size: 13px;
margin-bottom: 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;
top: 0;
right: 0;
left: 0;
height: 1px;
content: '';
-webkit-transform: scaleY(.5);
transform: scaleY(.5);
background-color: #c8c7cc;
}
.mui-table-view:before
{
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
{
background-color: #242424;
}
.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-radio input[type=radio], .mui-table-view-cell.mui-checkbox input[type=checkbox]
{
top: 8px;
}
.mui-table-view-cell.mui-radio.mui-left, .mui-table-view-cell.mui-checkbox.mui-left
{
padding-left: 58px;
}
.mui-table-view-cell.mui-active
{
background-color: #eee;
}
.mui-table-view-cell:last-child:before, .mui-table-view-cell:last-child:after
{
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;
/*&:active {
background-color: #eee;
}*/
}
.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:before, .mui-table-view.mui-unfold .mui-table-view-cell.mui-collapse .mui-table-view:after
{
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-btn,
.mui-table-view-cell > .mui-badge,
.mui-table-view-cell > .mui-switch,
.mui-table-view-cell > a > .mui-btn,
.mui-table-view-cell > a > .mui-badge,
.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-btn,
.mui-table-view-cell .mui-navigate-right > .mui-badge,
.mui-table-view-cell .mui-navigate-right > .mui-switch,
.mui-table-view-cell .mui-push-left > .mui-btn,
.mui-table-view-cell .mui-push-left > .mui-badge,
.mui-table-view-cell .mui-push-left > .mui-switch,
.mui-table-view-cell .mui-push-right > .mui-btn,
.mui-table-view-cell .mui-push-right > .mui-badge,
.mui-table-view-cell .mui-push-right > .mui-switch,
.mui-table-view-cell > a .mui-navigate-right > .mui-btn,
.mui-table-view-cell > a .mui-navigate-right > .mui-badge,
.mui-table-view-cell > a .mui-navigate-right > .mui-switch,
.mui-table-view-cell > a .mui-push-left > .mui-btn,
.mui-table-view-cell > a .mui-push-left > .mui-badge,
.mui-table-view-cell > a .mui-push-left > .mui-switch,
.mui-table-view-cell > a .mui-push-right > .mui-btn,
.mui-table-view-cell > a .mui-push-right > .mui-badge,
.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:before, .mui-table-view-cell.mui-collapse .mui-table-view:after
{
height: 0;
}
.mui-table-view-cell.mui-collapse .mui-table-view .mui-table-view-cell:last-child:after
{
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-table-view, .mui-table-view-cell.mui-collapse.mui-active .mui-collapse-content
{
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: white;
}
.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: none;
}
.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):active, .mui-table-view.mui-grid-view .mui-table-view-cell > a:not(.mui-btn).mui-active
{
background: none;
}
.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:before, .mui-table-view.mui-grid-view .mui-table-view-cell:after
{
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:before, .mui-grid-view.mui-grid-9:after
{
display: table;
content: ' ';
}
.mui-grid-view.mui-grid-9:after
{
clear: both;
}
.mui-grid-view.mui-grid-9:after
{
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,
textarea,
select
{
font-family: 'Helvetica Neue', Helvetica, sans-serif;
font-size: 17px;
-webkit-tap-highlight-color: transparent;
-webkit-tap-highlight-color: transparent;
}
input:focus,
textarea:focus,
select:focus
{
-webkit-tap-highlight-color: transparent;
-webkit-tap-highlight-color: transparent;
-webkit-user-modify: read-write-plaintext-only;
}
select,
textarea,
input[type='text'],
input[type='search'],
input[type='password'],
input[type='datetime'],
input[type='datetime-local'],
input[type='date'],
input[type='month'],
input[type='time'],
input[type='week'],
input[type='number'],
input[type='email'],
input[type='url'],
input[type='tel'],
input[type='color']
{
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: none;
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: none;
}
.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:last-child,
.mui-input-row label + input, .mui-input-row .mui-btn + input
{
background: none;
}
.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
{
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-speech ~ .mui-icon-speech, .mui-input-row .mui-input-password ~ .mui-icon-eye
{
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-speech ~ .mui-icon-speech.mui-active, .mui-input-row .mui-input-password ~ .mui-icon-eye.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-radio, .mui-checkbox
{
position: relative;
}
.mui-radio label, .mui-checkbox label
{
display: inline-block;
float: none;
width: 100%;
padding-right: 58px;
}
.mui-radio.mui-left input[type='radio'], .mui-checkbox.mui-left input[type='checkbox']
{
left: 20px;
}
.mui-radio.mui-left label, .mui-checkbox.mui-left label
{
padding-right: 15px;
padding-left: 58px;
}
.mui-radio input[type='radio'], .mui-checkbox input[type='checkbox']
{
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-radio input[type='radio'][disabled]:before, .mui-checkbox input[type='checkbox'][disabled]:before
{
opacity: .3;
}
.mui-radio input[type='radio']:before, .mui-checkbox input[type='checkbox']:before
{
font-family: Muiicons;
font-size: 28px;
font-weight: normal;
line-height: 1;
text-decoration: none;
color: #aaa;
border-radius: 0;
background: none;
-webkit-font-smoothing: antialiased;
}
.mui-radio input[type='radio']:checked:before, .mui-checkbox input[type='checkbox']:checked:before
{
color: #007aff;
}
.mui-radio.mui-disabled label, .mui-radio label.mui-disabled, .mui-checkbox.mui-disabled label, .mui-checkbox label.mui-disabled
{
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"] {
-webkit-appearance: none;
background: #999;
height: 36px;
border-radius: 1px;
overflow: hidden;
margin-top: 2px;
margin-bottom: 2px;
outline:none;
position:relative;
width:100%;
}*/
/*input[type='range']::-webkit-slider-thumb {
-webkit-appearance: none!important;
opacity: 0.5;
height:28px;
width:28px;
border-radius: 50%;
background:#00b7fb;
position: relative;
pointer-events: none;
-webkit-box-sizing: border-box;
box-sizing: border-box;
&:before{
position: absolute;
top: 13px;
left: -2000px;
width: 2000px;
height: 2px;
background: #00b7fb;
content:' ';
}
}*/
}
.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: none;
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: none;
}
.mui-search .mui-placeholder .mui-icon
{
font-size: 20px;
color: #333;
}
.mui-search:before
{
font-family: Muiicons;
font-size: 20px;
font-weight: normal;
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
{
border-bottom: 1px solid #c8c7cc;
}
.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: none;
}
.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: none;
}
.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: none;
}
.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: none;
-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: none;
}
.mui-backdrop-action.mui-backdrop
{
background-color: rgba(0, 0, 0, .3);
}
.mui-bar-backdrop.mui-backdrop, .mui-backdrop-action.mui-backdrop
{
opacity: 0;
}
.mui-bar-backdrop.mui-backdrop.mui-active, .mui-backdrop-action.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:before, .mui-popover .mui-table-view:after
{
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 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 0;
}
.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);
}
/* === Progress Bar === */
.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: 44px;
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:active > a, .mui-pagination > li:active > a:active,
.mui-pagination > li:active > span,
.mui-pagination > li:active > span:active,
.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
{
z-index: 2;
cursor: default;
color: #fff;
border-color: #007aff;
background-color: #007aff;
}
.mui-pagination > li.mui-disabled > span,
.mui-pagination > li.mui-disabled > span:active,
.mui-pagination > li.mui-disabled > a,
.mui-pagination > li.mui-disabled > a: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:before, .mui-pager:after
{
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:active > a, .mui-pager li:active > span, .mui-pager li.mui-active > a, .mui-pager li.mui-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:before, .mui-slider .mui-slider-group .mui-slider-item .mui-table-view:after
{
height: 0;
}
.mui-slider .mui-slider-group.mui-slider-loop
{
-webkit-transform: translate(-100%, 0px);
transform: translate(-100%, 0px);
}
.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: none;
}
.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-top-pocket, .mui-pull-bottom-pocket
{
position: absolute;
left: 0;
display: block;
visibility: hidden;
overflow: hidden;
width: 100%;
height: 50px;
}
.mui-plus-pullrefresh .mui-pull-top-pocket, .mui-plus-pullrefresh .mui-pull-bottom-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: bold;
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
{
line-height: 17px;
position: fixed;
z-index: 9999;
bottom: 50px;
left: 50%;
-webkit-transition: opacity .3s;
transition: opacity .3s;
-webkit-transform: translate(-50%, 0);
transform: translate(-50%, 0);
opacity: 0;
}
.mui-toast-container.mui-active
{
opacity: .9;
}
.mui-toast-message
{
font-size: 14px;
padding: 10px 25px;
text-align: center;
color: #fff;
border-radius: 6px;
background-color: #323232;
}
.mui-numbox
{
position: relative;
display: inline-block;
overflow: hidden;
width: 120px;
height: 35px;
padding: 0 40px 0 40px;
vertical-align: top;
vertical-align: middle;
border: solid 1px #bbb;
border-radius: 3px;
background-color: #efeff4;
}
.mui-numbox [class*=numbox-btn], .mui-numbox [class*=btn-numbox]
{
font-size: 18px;
font-weight: normal;
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*=numbox-btn]:active, .mui-numbox [class*=btn-numbox]:active
{
background-color: #ccc;
}
.mui-numbox [class*=numbox-btn][disabled], .mui-numbox [class*=btn-numbox][disabled]
{
color: #c0c0c0;
}
.mui-numbox .mui-numbox-btn-plus, .mui-numbox .mui-btn-numbox-plus
{
right: 0;
border-top-right-radius: 3px;
border-bottom-right-radius: 3px;
}
.mui-numbox .mui-numbox-btn-minus, .mui-numbox .mui-btn-numbox-minus
{
left: 0;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}
.mui-numbox .mui-numbox-input, .mui-numbox .mui-input-numbox
{
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: normal;
font-style: normal;
src: url('../fonts/mui.ttf') format('truetype');
}
.mui-icon
{
font-family: Muiicons;
font-size: 24px;
font-weight: normal;
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-circle:before, .mui-icon-checkbox:before
{
content: '\e411';
}
.mui-icon-close-filled:before, .mui-icon-clear: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-nav ~ .mui-content .mui-pull-top-pocket
{
top: 64px;
}
.mui-plus.mui-statusbar.mui-statusbar-offset .mui-bar-header-secondary
{
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;
}
================================================
FILE: dist/js/mui.js
================================================
/*!
* =====================================================
* Mui v3.7.3 (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;
};
/**
* 将 fn 缓存一段时间后, 再被调用执行
* 此方法为了避免在 ms 段时间内, 执行 fn 多次. 常用于 resize , scroll , mousemove 等连续性事件中;
* 当 ms 设置为 -1, 表示立即执行 fn, 即和直接调用 fn 一样;
* 调用返回函数的 stop 停止最后一次的 buffer 效果
* @param {Object} fn
* @param {Object} ms
* @param {Object} context
*/
$.buffer = function(fn, ms, context) {
var timer;
var lastStart = 0;
var lastEnd = 0;
var ms = ms || 150;
function run() {
if (timer) {
timer.cancel();
timer = 0;
}
lastStart = $.now();
fn.apply(context || this, arguments);
lastEnd = $.now();
}
return $.extend(function() {
if (
(!lastStart) || // 从未运行过
(lastEnd >= lastStart && $.now() - lastEnd > ms) || // 上次运行成功后已经超过ms毫秒
(lastEnd < lastStart && $.now() - lastStart > ms * 8) // 上次运行或未完成,后8*ms毫秒
) {
run.apply(this, arguments);
} else {
if (timer) {
timer.cancel();
}
timer = $.later(run, ms, null, $.slice.call(arguments));
}
}, {
stop: function() {
if (timer) {
timer.cancel();
timer = 0;
}
}
});
};
/**
* 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 = {};
}
};
var supportsPassive = (function checkPassiveListener() {
var supportsPassive = false;
try {
var opts = Object.defineProperty({}, 'passive', {
get: function get() {
supportsPassive = true;
},
});
window.addEventListener('testPassiveListener', null, opts);
} catch(e) {
// No support
}
return supportsPassive;
}())
window.addEventListener($.EVENT_START, handleTouchEvent);
window.addEventListener($.EVENT_MOVE, handleTouchEvent, supportsPassive ? {
passive: false,
capture: false
} : false);
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 = {};
/**
* 单页配置 初始化
* @param {object} options
*/
$.init = function(options) {
$.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
},
titleConfig: {
height: "44px",
backgroundColor: "#f7f7f7", //导航栏背景色
bottomBorderColor: "#cccccc", //底部边线颜色
title: { //标题配置
text: "", //标题文字
position: {
top: 0,
left: 0,
width: "100%",
height: "100%"
},
styles: {
color: "#000000",
align: "center",
family: "'Helvetica Neue',Helvetica,sans-serif",
size: "17px",
style: "normal",
weight: "normal",
fontSrc: ""
}
},
back: {
image: {
base64Data: '',
imgSrc: '',
sprite: {
top: '0px',
left: '0px',
width: '100%',
height: '100%'
},
position: {
top: "10px",
left: "10px",
width: "24px",
height: "24px"
}
}
}
}
};
//默认页面动画
var defaultShow = {
event:"titleUpdate",
autoShow: true,
duration: 300,
aniShow: 'slide-in-right',
extras:{}
};
//若执行了显示动画初始化操作,则要覆盖默认配置
if($.options.show) {
defaultShow = $.extend(true, defaultShow, $.options.show);
}
$.currentWebview = null;
$.extend(true, $.global, defaultOptions);
$.extend(true, $.options, defaultOptions);
/**
* 等待动画配置
* @param {type} options
* @returns {Object}
*/
$.waitingOptions = function(options) {
return $.extend(true, {}, {
autoShow: true,
title: '',
modal: false
}, 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(typeof data === 'undefined') {
data = '';
} else if(typeof data === 'boolean' || typeof data === 'number') {
webview.evalJS("typeof mui!=='undefined'&&mui.receive('" + eventType + "'," + data + ")");
return;
} else if($.isPlainObject(data) || $.isArray(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 && typeof data === 'string') {
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 = options.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;
}
} else if(options.createNew !== true) {
webview = plus.webview.getWebviewById(id);
}
if(webview) { //已缓存
//每次show都需要传递动画参数;
//预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置;
nShow = webviewCache ? webviewCache.show : defaultShow;
nShow = options.show ? $.extend(nShow, options.show) : nShow;
nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
triggerPreload(webview);
trigger(webview, 'pagebeforeshow', false);
});
if(webviewCache) {
webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
}
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() {},nShow.extras);
options.afterShowMethodName && webview.evalJS(options.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
};
//titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview
webview.addEventListener(nShow.event, showWebview, false);
//loaded事件发生后,触发预加载和pagebeforeshow事件
webview.addEventListener("loaded", function() {
triggerPreload(webview);
trigger(webview, 'pagebeforeshow', false);
}, false);
}
}
return webview;
};
$.openWindowWithTitle = function(options, titleConfig) {
options = options || {};
var url = options.url;
var id = options.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;
}
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;
}
} else if(options.createNew !== true) {
webview = plus.webview.getWebviewById(id);
}
if(webview) { //已缓存
//每次show都需要传递动画参数;
//预加载的动画参数优先级:openWindow配置>preloadPages配置>mui默认配置;
nShow = webviewCache ? webviewCache.show : defaultShow;
nShow = options.show ? $.extend(nShow, options.show) : nShow;
nShow.autoShow && webview.show(nShow.aniShow, nShow.duration, function() {
triggerPreload(webview);
trigger(webview, 'pagebeforeshow', false);
});
if(webviewCache) {
webviewCache.afterShowMethodName && webview.evalJS(webviewCache.afterShowMethodName + '(\'' + JSON.stringify(params) + '\')');
}
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);
if(titleConfig) { //处理原生头
$.extend(true, $.options.titleConfig, titleConfig);
var tid = $.options.titleConfig.id ? $.options.titleConfig.id : id + "_title";
var view = new plus.nativeObj.View(tid, {
top: 0,
height: $.options.titleConfig.height,
width: "100%",
dock: "top",
position: "dock"
});
view.drawRect($.options.titleConfig.backgroundColor); //绘制背景色
var _b = parseInt($.options.titleConfig.height) - 1;
view.drawRect($.options.titleConfig.bottomBorderColor, {
top: _b + "px",
left: "0px"
}); //绘制底部边线
//绘制文字
if($.options.titleConfig.title.text){
var _title = $.options.titleConfig.title;
view.drawText(_title.text,_title.position , _title.styles);
}
//返回图标绘制
var _back = $.options.titleConfig.back;
var backClick = null;
//优先字体
//其次是图片
var _backImage = _back.image;
if(_backImage.base64Data || _backImage.imgSrc) {
//TODO 此处需要处理百分比的情况
backClick = {
left:parseInt(_backImage.position.left),
right:parseInt(_backImage.position.left) + parseInt(_backImage.position.width)
};
var bitmap = new plus.nativeObj.Bitmap(id + "_back");
if(_backImage.base64Data) { //优先base64编码字符串
bitmap.loadBase64Data(_backImage.base64Data);
} else { //其次加载图片文件
bitmap.load(_backImage.imgSrc);
}
view.drawBitmap(bitmap,_backImage.sprite , _backImage.position);
}
//处理点击事件
view.setTouchEventRect({
top: "0px",
left: "0px",
width: "100%",
height: "100%"
});
view.interceptTouchEvent(true);
view.addEventListener("click", function(e) {
var x = e.clientX;
//返回按钮点击
if(backClick&& x > backClick.left && x < backClick.right){
if( _back.click && $.isFunction(_back.click)){
_back.click();
}else{
webview.evalJS("window.mui&&mui.back();");
}
}
}, false);
webview.append(view);
}
//显示
nShow = $.showOptions(options.show);
if(nShow.autoShow) {
//titleUpdate触发时机早于loaded,更换为titleUpdate后,可以更早的显示webview
webview.addEventListener(nShow.event, function () {
//关闭等待框
if(nWaiting) {
nWaiting.close();
}
//显示页面
webview.show(nShow.aniShow, nShow.duration, function() {},nShow.extras);
}, 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 { //新增预加载窗口
//判断是否携带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) {
//关闭打开的webview
$.closeOpened(openedWebview);
//关闭自己
openedWebview.close("none");
} 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)) {
//首页需要自己激活预加载;
//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();
}
});
}
//首次按下back按键的时间
$.__back__first = null;
/**
* 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的情况下,后退实际上应该是退出应用;
//首次按键,提示‘再按一次退出应用’
if (!$.__back__first) {
$.__back__first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function() {
$.__back__first = null;
}, 2000);
} else {
if (new Date().getTime() - $.__back__first < 2000) {
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) { //5+环境
if(hasPulldown && pullRefreshOptions.down.style == "circle") { //原生转圈
$.plusReady(function() {
//这里改写$.fn.pullRefresh
$.fn.pullRefresh = $.fn.pullRefresh_native;
$container.pullRefresh(pullRefreshOptions);
});
} else if($.os.android) { //非原生转圈,但是Android环境
$.plusReady(function() {
//这里改写$.fn.pullRefresh
$.fn.pullRefresh = $.fn.pullRefresh_native
var webview = plus.webview.currentWebview();
if(window.__NWin_Enable__ === false) { //不支持多webview
$container.pullRefresh(pullRefreshOptions);
} else {
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//子页面id
};
downOptions.down = $.extend({}, pullRefreshOptions.down);
downOptions.down.callback = '_CALLBACK';
//改写父页面的$.fn.pullRefresh
parent.evalJS("mui.fn.pullRefresh=mui.fn.pullRefresh_native");
//父页面初始化pulldown
parent.evalJS("mui&&mui(document.querySelector('.mui-content')).pullRefresh('" + JSON.stringify(downOptions) + "')");
}
}
}
});
} else { //非原生转圈,iOS环境
$container.pullRefresh(pullRefreshOptions);
}
} 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\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/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") {
var contentType = options.contentType;
if(!contentType && options.headers) {
contentType = options.headers['Content-Type'];
}
if(contentType && ~contentType.indexOf(jsonType)) { //application/json
options.data = JSON.stringify(options.data);
} else {
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);
if(location.protocol === 'file:' && $.os.ios && window.webkit && window.webkit.messageHandlers && !(xhr instanceof plus.net.XMLHttpRequest)){
console.error("当前运行环境为WKWebview,需在plusReady事件触发后再调用mui.ajax,否则可能会执行失败或报Script error的错误")
}
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) {
if(headers.hasOwnProperty(name)) {
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();
}
}
if ($.os.ios && window.webkit && window.webkit.messageHandlers) { //wkwebview下同样使用5+ xhr
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 = ['<div class="' + CLASS_PULL + '">', '<div class="{icon}"></div>', '<div class="' + CLASS_PULL_CAPTION + '">{contentrefresh}</div>', '</div>'].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;
if (this.topPocket) {
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;
if (this.bottomPocket) {
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 = "
gitextract_066cprrn/
├── .gitignore
├── Gruntfile.js
├── LICENSE
├── README.md
├── dist/
│ ├── css/
│ │ └── mui.css
│ └── js/
│ └── mui.js
├── examples/
│ ├── hello-mui/
│ │ ├── .project
│ │ ├── css/
│ │ │ ├── app.css
│ │ │ ├── feedback.css
│ │ │ ├── icons-extra.css
│ │ │ ├── mui.dtpicker.css
│ │ │ ├── mui.imageviewer.css
│ │ │ ├── mui.indexedlist.css
│ │ │ ├── mui.listpicker.css
│ │ │ ├── mui.picker.all.css
│ │ │ ├── mui.picker.css
│ │ │ └── mui.poppicker.css
│ │ ├── examples/
│ │ │ ├── accordion.html
│ │ │ ├── actionsheet-plus.html
│ │ │ ├── actionsheet.html
│ │ │ ├── ad.html
│ │ │ ├── ajax.html
│ │ │ ├── badges.html
│ │ │ ├── best-practices/
│ │ │ │ └── list-to-detail/
│ │ │ │ ├── detail.html
│ │ │ │ ├── list-to-detail.css
│ │ │ │ └── listview.html
│ │ │ ├── buttons-with-badges.html
│ │ │ ├── buttons-with-block.html
│ │ │ ├── buttons-with-icons.html
│ │ │ ├── buttons-with-loading.html
│ │ │ ├── buttons.html
│ │ │ ├── card.html
│ │ │ ├── checkbox.html
│ │ │ ├── date.html
│ │ │ ├── dialog.html
│ │ │ ├── dtpicker.html
│ │ │ ├── echarts.html
│ │ │ ├── feedback.html
│ │ │ ├── grid-default.html
│ │ │ ├── grid-pagination.html
│ │ │ ├── guide.html
│ │ │ ├── icons-extra.html
│ │ │ ├── icons.html
│ │ │ ├── im-chat.html
│ │ │ ├── imageviewer-native.html
│ │ │ ├── imageviewer.html
│ │ │ ├── indexed-list-select.html
│ │ │ ├── indexed-list.html
│ │ │ ├── info.html
│ │ │ ├── input.html
│ │ │ ├── lazyload-image.html
│ │ │ ├── list-triplex-row.html
│ │ │ ├── list-with-input.html
│ │ │ ├── locker-dom.html
│ │ │ ├── login.html
│ │ │ ├── media-list.html
│ │ │ ├── message-bottom.html
│ │ │ ├── modals.html
│ │ │ ├── nav-nativeObj.html
│ │ │ ├── nav.html
│ │ │ ├── nav_transparent.html
│ │ │ ├── nav_transparent_native.html
│ │ │ ├── numbox.html
│ │ │ ├── offcanvas-drag-down.html
│ │ │ ├── offcanvas-drag-left-plus-main.html
│ │ │ ├── offcanvas-drag-left-plus-menu.html
│ │ │ ├── offcanvas-drag-left.html
│ │ │ ├── offcanvas-drag-right-plus-main.html
│ │ │ ├── offcanvas-drag-right-plus-menu.html
│ │ │ ├── offcanvas-drag-right.html
│ │ │ ├── pagination.html
│ │ │ ├── picker.html
│ │ │ ├── popovers.html
│ │ │ ├── progressbar.html
│ │ │ ├── pullrefresh.html
│ │ │ ├── pullrefresh_main.html
│ │ │ ├── pullrefresh_sub.html
│ │ │ ├── pullrefresh_with_tab.html
│ │ │ ├── radio.html
│ │ │ ├── range.html
│ │ │ ├── setting.html
│ │ │ ├── slider-default.html
│ │ │ ├── slider-native.html
│ │ │ ├── slider-table-default.html
│ │ │ ├── slider-table-pagination.html
│ │ │ ├── slider-with-title.html
│ │ │ ├── switches.html
│ │ │ ├── tab-top-subpage-1.html
│ │ │ ├── tab-top-subpage-2.html
│ │ │ ├── tab-top-subpage-3.html
│ │ │ ├── tab-top-subpage-4.html
│ │ │ ├── tab-top-subpage-5.html
│ │ │ ├── tab-top-webview-main.html
│ │ │ ├── tab-vertical-scroll.html
│ │ │ ├── tab-webview-main.html
│ │ │ ├── tab-webview-subpage-about.html
│ │ │ ├── tab-webview-subpage-chat.html
│ │ │ ├── tab-webview-subpage-contact.html
│ │ │ ├── tab-webview-subpage-setting.html
│ │ │ ├── tab-with-segmented-control-vertical.html
│ │ │ ├── tab-with-segmented-control.html
│ │ │ ├── tab-with-viewpagerindicator.html
│ │ │ ├── tabbar-labels-only.html
│ │ │ ├── tabbar-with-submenus.html
│ │ │ ├── tabbar.html
│ │ │ ├── tableviews-with-badges.html
│ │ │ ├── tableviews-with-collapses.html
│ │ │ ├── tableviews-with-swipe.html
│ │ │ ├── tableviews.html
│ │ │ └── typography.html
│ │ ├── index-menu.html
│ │ ├── index.html
│ │ ├── js/
│ │ │ ├── 95516.js
│ │ │ ├── arttmpl.js
│ │ │ ├── beecloud.js
│ │ │ ├── city.data-3.js
│ │ │ ├── city.data.js
│ │ │ ├── feedback.js
│ │ │ ├── mui.dtpicker.js
│ │ │ ├── mui.imageViewer.js
│ │ │ ├── mui.indexedlist.js
│ │ │ ├── mui.js
│ │ │ ├── mui.lazyload.img.js
│ │ │ ├── mui.lazyload.js
│ │ │ ├── mui.listpicker.js
│ │ │ ├── mui.locker.js
│ │ │ ├── mui.picker.all.js
│ │ │ ├── mui.picker.js
│ │ │ ├── mui.poppicker.js
│ │ │ ├── mui.previewimage.js
│ │ │ ├── mui.pullToRefresh.js
│ │ │ ├── mui.pullToRefresh.material.js
│ │ │ ├── mui.view.js
│ │ │ ├── mui.zoom.js
│ │ │ ├── update.js
│ │ │ └── webviewGroup.js
│ │ ├── libs/
│ │ │ └── echarts-all.js
│ │ └── manifest.json
│ ├── login/
│ │ ├── .project
│ │ ├── README.md
│ │ ├── css/
│ │ │ ├── feedback-page.css
│ │ │ └── style.css
│ │ ├── forget_password.html
│ │ ├── js/
│ │ │ ├── app.js
│ │ │ ├── feedback-page.js
│ │ │ ├── feedback.js
│ │ │ ├── mui.enterfocus.js
│ │ │ ├── mui.locker.js
│ │ │ └── mui.view.js
│ │ ├── libs/
│ │ │ └── easymob-webim-sdk/
│ │ │ ├── easemob.im-1.0.5.js
│ │ │ ├── jquery-1.11.1.js
│ │ │ ├── json2.js
│ │ │ ├── quickstart.md
│ │ │ └── strophe-custom-2.0.0.js
│ │ ├── login.html
│ │ ├── main.html
│ │ ├── manifest.json
│ │ ├── reg.html
│ │ ├── setting.html
│ │ └── unlock.html
│ └── nativeTab/
│ ├── README.md
│ ├── css/
│ │ └── mui.css
│ ├── html/
│ │ ├── new-webview.html
│ │ ├── tab-webview-subpage-chat.html
│ │ └── tab-webview-subpage-contact.html
│ ├── index.html
│ ├── js/
│ │ ├── mui.js
│ │ └── util.js
│ ├── manifest.json
│ └── unpackage/
│ ├── .confirmed_dependencies
│ └── .dependencies
├── grunt/
│ └── mui-namespace-generator.js
├── js/
│ ├── actions.js
│ ├── ajax.plugin.js
│ ├── input.plugin.js
│ ├── modals.js
│ ├── mui.active.js
│ ├── mui.ajax.5+.js
│ ├── mui.ajax.js
│ ├── mui.animation.js
│ ├── mui.animationframe.js
│ ├── mui.back.5+.js
│ ├── mui.back.js
│ ├── mui.button.js
│ ├── mui.class.js
│ ├── mui.class.scroll.js
│ ├── mui.class.scroll.pullrefresh.js
│ ├── mui.class.scroll.slider.js
│ ├── mui.detect.5+.js
│ ├── mui.detect.js
│ ├── mui.dialog.alert.js
│ ├── mui.dialog.confirm.js
│ ├── mui.dialog.prompt.js
│ ├── mui.dialog.toast.js
│ ├── mui.event.js
│ ├── mui.fixed.animation.js
│ ├── mui.fixed.bind.js
│ ├── mui.fixed.classlist.js
│ ├── mui.fixed.fastclick.js
│ ├── mui.fixed.js
│ ├── mui.fixed.keyboard.js
│ ├── mui.gestures.drag.js
│ ├── mui.gestures.flick.js
│ ├── mui.gestures.hold.js
│ ├── mui.gestures.js
│ ├── mui.gestures.longtap.js
│ ├── mui.gestures.pinch.js
│ ├── mui.gestures.swipe.js
│ ├── mui.gestures.tap.js
│ ├── mui.init.5+.js
│ ├── mui.init.js
│ ├── mui.init.pullrefresh.js
│ ├── mui.js
│ ├── mui.jsonp.js
│ ├── mui.layout.js
│ ├── mui.namespace.js
│ ├── mui.number.js
│ ├── mui.offcanvas.js
│ ├── mui.popup.js
│ ├── mui.progressbar.js
│ ├── mui.pullrefresh.5+.js
│ ├── mui.pullrefresh.js
│ ├── mui.target.js
│ ├── mui.transparent.js
│ ├── popovers.js
│ ├── segmented-controllers.js
│ ├── sliders.js
│ ├── switches.js
│ └── tableviews.js
├── mui_snippets.rb
├── package.json
├── plugin/
│ ├── picker/
│ │ ├── css/
│ │ │ ├── mui.dtpicker.css
│ │ │ ├── mui.picker.css
│ │ │ └── mui.poppicker.css
│ │ ├── dist/
│ │ │ ├── css/
│ │ │ │ └── mui.picker.all.css
│ │ │ └── js/
│ │ │ └── mui.picker.all.js
│ │ ├── gulpfile.js
│ │ ├── js/
│ │ │ ├── mui.dtpicker.js
│ │ │ ├── mui.picker.js
│ │ │ └── mui.poppicker.js
│ │ └── package.json
│ └── share/
│ └── plusShare.js
├── sass/
│ ├── badges.scss
│ ├── bars.scss
│ ├── base.scss
│ ├── buttons.scss
│ ├── cards.scss
│ ├── forms.scss
│ ├── fullscreen.scss
│ ├── grid.scss
│ ├── hack.scss
│ ├── icon.scss
│ ├── iframe.scss
│ ├── iscroll.scss
│ ├── loadings.scss
│ ├── mixins.scss
│ ├── modals.scss
│ ├── mui.scss
│ ├── normalize.scss
│ ├── number.scss
│ ├── off-canvas.scss
│ ├── os.scss
│ ├── pagination.scss
│ ├── popovers.scss
│ ├── popup.scss
│ ├── progressbar.scss
│ ├── pullrefreshs.scss
│ ├── push.scss
│ ├── scroll.scss
│ ├── segmented-controls.scss
│ ├── slider-cell.scss
│ ├── sliders.scss
│ ├── switches.scss
│ ├── table-views.scss
│ ├── toast.scss
│ ├── type.scss
│ └── variables.scss
└── template/
└── feedback/
├── css/
│ └── feedback.css
├── feedback.html
├── js/
│ └── feedback.js
└── readme.md
SYMBOL INDEX (550 symbols across 25 files)
FILE: dist/js/mui.js
function run (line 225) | function run() {
function detect (line 468) | function detect(ua) {
function detect (line 518) | function detect(ua) {
function CustomEvent (line 855) | function CustomEvent(event, params) {
function update (line 910) | function update(fn) {
function handleScroll (line 1998) | function handleScroll(wrapper, iframe) {
function Class (line 3438) | function Class() {
function toggleEvents (line 7057) | function toggleEvents(element, isRemove) {
FILE: examples/hello-mui/js/arttmpl.js
function a (line 2) | function a(a){return a.replace(t,"").replace(u,",").replace(v,"").replac...
function b (line 2) | function b(a){return"'"+a.replace(/('|\\)/g,"\\$1").replace(/\r/g,"\\r")...
function c (line 2) | function c(c,d){function e(a){return m+=a.split(/\n/).length-1,k&&(a=a.r...
function d (line 2) | function d(c){try{return new i(c,h)+""}catch(d){return b.debug?p(d)():(b...
FILE: examples/hello-mui/js/beecloud.js
function getRandomHost (line 47) | function getRandomHost() {
function getPayChannel (line 60) | function getPayChannel(bc_channel) {
function doPay (line 81) | function doPay(payData, cbsuccess, cberror) {
FILE: examples/hello-mui/js/mui.js
function run (line 225) | function run() {
function detect (line 468) | function detect(ua) {
function detect (line 518) | function detect(ua) {
function CustomEvent (line 855) | function CustomEvent(event, params) {
function update (line 910) | function update(fn) {
function handleScroll (line 1998) | function handleScroll(wrapper, iframe) {
function Class (line 3438) | function Class() {
function toggleEvents (line 7057) | function toggleEvents(element, isRemove) {
FILE: examples/hello-mui/js/mui.lazyload.js
function run (line 82) | function run() {
FILE: examples/hello-mui/js/mui.locker.js
function getElementLeft (line 22) | function getElementLeft(element) {
function getElementTop (line 32) | function getElementTop(element) {
FILE: examples/hello-mui/js/mui.pullToRefresh.material.js
function easeLinear (line 104) | function easeLinear(currentIteration, startValue, changeInValue, totalIt...
function easeInOutQuad (line 108) | function easeInOutQuad(currentIteration, startValue, changeInValue, tota...
function minmax (line 115) | function minmax(value, v0, v1) {
FILE: examples/hello-mui/js/update.js
function update (line 26) | function update() {
FILE: examples/hello-mui/libs/echarts-all.js
function e (line 1) | function e(e,t){if(!t)return e;if(0===e.indexOf(".")){var i=t.split("/")...
function n (line 1) | function n(t){function i(i,r){if("string"==typeof i){var s=n[i];return s...
function a (line 1) | function a(i,n,a){for(var s=[],l=r[a],h=0,m=Math.min(i.length,n.length);...
function o (line 1) | function o(e){var t=r[e];if(!t)throw new Error("No "+e);if(!t.defined){v...
function t (line 1) | function t(){r.Dispatcher.call(this)}
function i (line 1) | function i(e){e.innerHTML="",this._themeConfig={},this.dom=e,this._conne...
function n (line 1) | function n(e,t,i,n,a){for(var o=e._chartList,r=o.length;r--;){var s=o[r]...
function e (line 1) | function e(e){var n=i._optionRestore[e];if(n)if(n instanceof Array)for(v...
function s (line 1) | function s(){if(V._zr){V._zr.clearAnimation();for(var e=0,t=X.length;t>e...
function t (line 1) | function t(e){return e&&1===e.nodeType&&"string"==typeof e.nodeName}
function i (line 1) | function i(e){if("object"==typeof e&&null!==e){var n=e;if(e instanceof A...
function n (line 1) | function n(e,i,n,o){if(i.hasOwnProperty(n)){var r=e[n];"object"!=typeof ...
function a (line 1) | function a(e,t,i){for(var a in t)n(e,t,a,i);return e}
function o (line 1) | function o(){if(!U)if(e("../dep/excanvas"),window.G_vmlCanvasManager){va...
function r (line 1) | function r(e,t){if(e.indexOf)return e.indexOf(t);for(var i=0,n=e.length;...
function s (line 1) | function s(e,t){function i(){}var n=e.prototype;i.prototype=t.prototype,...
function l (line 1) | function l(e,t,i){if(e&&t)if(e.forEach&&e.forEach===p)e.forEach(t,i);els...
function h (line 1) | function h(e,t,i){if(e&&t){if(e.map&&e.map===c)return e.map(t,i);for(var...
function m (line 1) | function m(e,t,i){if(e&&t){if(e.filter&&e.filter===u)return e.filter(t,i...
function V (line 1) | function V(e,t){return function(){e.apply(t,arguments)}}
function t (line 1) | function t(e){return"undefined"!=typeof e.zrenderX&&e.zrenderX||"undefin...
function i (line 1) | function i(e){return"undefined"!=typeof e.zrenderY&&e.zrenderY||"undefin...
function n (line 1) | function n(e){return"undefined"!=typeof e.zrenderDelta&&e.zrenderDelta||...
function e (line 1) | function e(e){var t=this.os={},i=this.browser={},n=e.match(/Web[kK]it[\/...
function t (line 1) | function t(e){return function(){e._needsRefreshNextFrame&&e.refresh()}}
function t (line 3) | function t(e,t,n,a,r){i.call(this,e,t,n,a,r),this._nameConnector,this._v...
function t (line 3) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.dom=o.dom,this._magicT...
function t (line 3) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 3) | function t(e,t,o,r,s){i.call(this,e,t,o,r,s),this.dom=s.dom;var l=this;l...
function t (line 4) | function t(e,t,n,a,o){if(!this.query(a,"legend.data"))return void consol...
function e (line 5) | function e(e,t,i,n,a,o,r,s){var l;return"undefined"!=typeof n&&(l=null==...
function t (line 5) | function t(e,t){var i=e._echartsData;if(!t)return i;switch(t){case"serie...
function i (line 5) | function i(e,t,i){switch(e._echartsData=e._echartsData||{},t){case"serie...
function n (line 5) | function n(e,t){t._echartsData={_series:e._echartsData._series,_seriesIn...
function t (line 5) | function t(e){D=e}
function i (line 5) | function i(){D=N}
function n (line 5) | function n(e,t){return e=0|e,t=t||D,t[e%t.length]}
function a (line 5) | function a(e){B=e}
function o (line 5) | function o(){H=B}
function r (line 5) | function r(){return B}
function s (line 5) | function s(e,t,i,n,a,o,r){O||(O=P.getContext());for(var s=O.createRadial...
function l (line 5) | function l(e,t,i,n,a){O||(O=P.getContext());for(var o=O.createLinearGrad...
function h (line 5) | function h(e,t,i){e=p(e),t=p(t),e=I(e),t=I(t);for(var n=[],a=(t[0]-e[0])...
function m (line 5) | function m(e,t){var i=[],n=e.length;if(void 0===t&&(t=20),1===n)i=h(e[0]...
function V (line 5) | function V(e,t){if(t=t||"rgb",e&&(3===e.length||4===e.length)){if(e=C(e,...
function U (line 5) | function U(e){e=L(e),e.indexOf("rgba")<0&&(e=p(e));var t=[],i=0;return e...
function d (line 5) | function d(e,t){if(!E(e))return e;var i=I(e),n=i[3];return"undefined"==t...
function p (line 5) | function p(e){return d(e,"rgba")}
function c (line 5) | function c(e){return d(e,"rgb")}
function u (line 5) | function u(e){return d(e,"hex")}
function y (line 5) | function y(e){return d(e,"hsva")}
function g (line 5) | function g(e){return d(e,"hsv")}
function b (line 5) | function b(e){return d(e,"hsba")}
function f (line 5) | function f(e){return d(e,"hsb")}
function k (line 5) | function k(e){return d(e,"hsla")}
function x (line 5) | function x(e){return d(e,"hsl")}
function _ (line 5) | function _(e){for(var t in G)if(u(G[t])===u(e))return t;return null}
function L (line 5) | function L(e){return String(e).replace(/\s+/g,"")}
function W (line 5) | function W(e){if(G[e]&&(e=G[e]),e=L(e),e=e.replace(/hsv/i,"hsb"),/^#[\da...
function X (line 5) | function X(e,t){if(!E(e))return e;var i=t>0?1:-1;"undefined"==typeof t&&...
function v (line 5) | function v(e){if(!E(e))return e;var t=I(p(e));return t=C(t,function(e){r...
function w (line 5) | function w(e,t,i){if(!E(e)||!E(t))return e;"undefined"==typeof i&&(i=.5)...
function K (line 5) | function K(){return"#"+(Math.random().toString(16)+"0000").slice(2,8)}
function I (line 5) | function I(e){e=W(e);var t=e.match(R);if(null===t)throw new Error("The c...
function J (line 5) | function J(e,t){if(!E(e))return e;null===t&&(t=1);var i=I(p(e));return i...
function C (line 5) | function C(e,t){if("function"!=typeof t)throw new TypeError;for(var i=e?...
function S (line 5) | function S(e,t){return e<=t[0]?e=t[0]:e>=t[1]&&(e=t[1]),e}
function E (line 5) | function E(e){return e instanceof Array||"string"==typeof e}
function F (line 5) | function F(e){var t,i,n,a=e[0],o=e[1],r=e[2];if(0===o)t=255*r,i=255*r,n=...
function T (line 5) | function T(e){var t,i,n,a=e[0],o=e[1],r=e[2];if(0===o)t=255*r,i=255*r,n=...
function z (line 5) | function z(e,t,i){return 0>i&&(i+=1),i>1&&(i-=1),1>6*i?e+6*(t-e)*i:1>2*i...
function A (line 5) | function A(e){var t,i,n=e[0]/255,a=e[1]/255,o=e[2]/255,r=Math.min(n,a,o)...
function M (line 5) | function M(e){var t,i,n=e[0]/255,a=e[1]/255,o=e[2]/255,r=Math.min(n,a,o)...
function t (line 5) | function t(e,t,i,a,o){n.call(this,e,t,i,a,o);var r=this;if(r._onclick=fu...
function i (line 5) | function i(e,t){var i=2,n=t.x+i,a=t.y+i+2,r=t.width-i,s=t.height-i,l=t.s...
function e (line 5) | function e(e){return null!=h[e].name?h[e].name:h[e]+""}
function t (line 5) | function t(e){i.call(this,e)}
function t (line 5) | function t(e){i.call(this,e)}
function t (line 5) | function t(e){i.call(this,e)}
function t (line 5) | function t(e){i.call(this,e)}
function t (line 7) | function t(e){i.call(this,e)}
function t (line 7) | function t(e){i.call(this,e)}
function e (line 7) | function e(){return this.context_||(this.context_=new f(this))}
function t (line 7) | function t(e,t){var i=O.call(arguments,2);return function(){return e.app...
function i (line 7) | function i(e){return String(e).replace(/&/g,"&").replace(/"/g,""...
function n (line 7) | function n(e,t,i){e.namespaces[t]||e.namespaces.add(t,i,"#default#VML")}
function a (line 7) | function a(e){if(n(e,"g_vml_","urn:schemas-microsoft-com:vml"),n(e,"g_o_...
function o (line 7) | function o(e){var t=e.srcElement;switch(e.propertyName){case"width":t.ge...
function r (line 7) | function r(e){var t=e.srcElement;t.firstChild&&(t.firstChild.style.width...
function s (line 7) | function s(){return[[1,0,0],[0,1,0],[0,0,1]]}
function l (line 7) | function l(e,t){for(var i=s(),n=0;3>n;n++)for(var a=0;3>a;a++){for(var o...
function h (line 7) | function h(e,t){t.fillStyle=e.fillStyle,t.lineCap=e.lineCap,t.lineJoin=e...
function m (line 7) | function m(e){var t=e.indexOf("(",3),i=e.indexOf(")",t+1),n=e.substring(...
function V (line 7) | function V(e){return parseFloat(e)/100}
function U (line 7) | function U(e,t,i){return Math.min(i,Math.max(t,e))}
function d (line 7) | function d(e){var t,i,n,a,o,r;if(a=parseFloat(e[0])/360%360,0>a&&a++,o=U...
function p (line 7) | function p(e,t,i){return 0>i&&i++,i>1&&i--,1>6*i?e+6*(t-e)*i:1>2*i?t:2>3...
function c (line 7) | function c(e){if(e in R)return R[e];var t,i=1;if(e=String(e),"#"==e.char...
function u (line 7) | function u(e){if(Y[e])return Y[e];var t,i=document.createElement("div"),...
function y (line 7) | function y(e,t){var i={};for(var n in e)i[n]=e[n];var a=parseFloat(t.cur...
function g (line 7) | function g(e){return e.style+" "+e.variant+" "+e.weight+" "+e.size+"px '...
function b (line 7) | function b(e){return Q[e]||"square"}
function f (line 7) | function f(e){this.m_=s(),this.mStack_=[],this.aStack_=[],this.currentPa...
function k (line 7) | function k(e,t,i,n){e.currentPath_.push({type:"bezierCurveTo",cp1x:t.x,c...
function x (line 7) | function x(e,t){var i=c(e.strokeStyle),n=i.color,a=i.alpha*e.globalAlpha...
function _ (line 7) | function _(e,t,i,n){var a=e.fillStyle,o=e.scaleX_,r=e.scaleY_,s=n.x-i.x,...
function L (line 7) | function L(e,t,i){var n=e.m_;return{x:A*(t*n[0][0]+i*n[1][0]+n[2][0])-M,...
function W (line 7) | function W(e){return isFinite(e[0][0])&&isFinite(e[0][1])&&isFinite(e[1]...
function X (line 7) | function X(e,t,i){if(W(t)&&(e.m_=t,e.scaleX_=Math.sqrt(t[0][0]*t[0][0]+t...
function v (line 7) | function v(e){this.type_=e,this.x0_=0,this.y0_=0,this.r0_=0,this.x1_=0,t...
function w (line 7) | function w(e,t){switch(I(e),t){case"repeat":case null:case"":this.repeti...
function K (line 7) | function K(e){throw new J(e)}
function I (line 7) | function I(e){e&&1==e.nodeType&&"IMG"==e.tagName||K("TYPE_MISMATCH_ERR")...
function J (line 7) | function J(e){this.code=this[e],this.message=e+": DOM Exception "+this.c...
function t (line 7) | function t(e,t){return function(i,n){return e.call(t,i,n)}}
function i (line 7) | function i(e,t){return function(i,n,a){return e.call(t,i,n,a)}}
function n (line 7) | function n(e){for(var i=d.length;i--;){var n=d[i];e["_"+n+"Handler"]=t(c...
function a (line 7) | function a(e,t,i){if(this._draggingTarget&&this._draggingTarget.id==e.id...
function t (line 8) | function t(){return!1}
function i (line 8) | function i(){}
function n (line 8) | function n(e){return e?e.isBuildin?!0:"function"!=typeof e.resize||"func...
function t (line 8) | function t(e,t){return e.zlevel==t.zlevel?e.z==t.z?e.__renderidx-t.__ren...
function t (line 8) | function t(e,t){return e[t]}
function i (line 8) | function i(e,t,i){e[t]=i}
function n (line 8) | function n(e,t,i){return(t-e)*i+e}
function a (line 8) | function a(e,t,i,a,o){var r=e.length;if(1==o)for(var s=0;r>s;s++)a[s]=n(...
function o (line 8) | function o(e){switch(typeof e){case"undefined":case"string":return!1}ret...
function r (line 8) | function r(e,t,i,n,a,o,r,l,h){var m=e.length;if(1==h)for(var V=0;m>V;V++...
function s (line 8) | function s(e,t,i,n,a,o,r){var s=.5*(i-e),l=.5*(n-t);return(2*(t-i)+s+l)*...
function l (line 8) | function l(e){if(o(e)){var t=e.length;if(o(e[0])){for(var i=[],n=0;t>n;n...
function h (line 8) | function h(e){return e[0]=Math.floor(e[0]),e[1]=Math.floor(e[1]),e[2]=Ma...
function e (line 8) | function e(){t._running&&(p(e),t._update())}
function t (line 8) | function t(e){this.setOptions(e)}
function t (line 8) | function t(t){e.storage.addHover(t)}
function i (line 8) | function i(){e.refreshHover()}
function t (line 8) | function t(){return!1}
function i (line 8) | function i(e,t,i){var n=document.createElement(t),a=i.getWidth(),o=i.get...
function t (line 9) | function t(e){return e%=C,0>e&&(e+=C),e}
function i (line 9) | function i(e,t,i,o){if(!t||!e)return!1;var r=e.type;L=L||W.getContext();...
function n (line 9) | function n(e,t,i,n){var a=e.type;switch(a){case"bezier-curve":return"und...
function a (line 9) | function a(e,t,i,n,a){return t.beginPath(),e.buildPath(t,i),t.closePath(...
function o (line 9) | function o(e,t,n,a){return!i(e,t,n,a)}
function r (line 9) | function r(e,t,i,n,a,o,r){if(0===a)return!1;var s=Math.max(a,5),l=0,h=e;...
function s (line 9) | function s(e,t,i,n,a,o,r,s,l,h,m){if(0===l)return!1;var V=Math.max(l,5);...
function l (line 9) | function l(e,t,i,n,a,o,r,s,l){if(0===r)return!1;var h=Math.max(r,5);if(l...
function h (line 9) | function h(e,i,n,a,o,r,s,l,h){if(0===s)return!1;var m=Math.max(s,5);l-=e...
function m (line 9) | function m(e,t,i,n){for(var t=Math.max(t,10),a=0,o=e.length-1;o>a;a++){v...
function V (line 9) | function V(e,t,i,n,a,o){var r=(a-e)*(a-e)+(o-t)*(o-t);return n*n>r&&r>i*i}
function U (line 9) | function U(e,t,i,n,a,o){return a>=e&&e+i>=a&&o>=t&&t+n>=o}
function d (line 9) | function d(e,t,i,n,a){return i*i>(n-e)*(n-e)+(a-t)*(a-t)}
function p (line 9) | function p(e,t,i,n,a,o,r,s,l){return h(e,t,(i+n)/2,a,o,r,n-i,s,l)}
function c (line 9) | function c(e,t,i){for(var n=e.length,a=0,o=0,r=n-1;n>o;o++){var s=e[r][0...
function u (line 9) | function u(e,t,i,n,a,o){if(o>t&&o>n||t>o&&n>o)return 0;if(n==t)return 0;...
function y (line 9) | function y(){var e=E[0];E[0]=E[1],E[1]=e}
function g (line 9) | function g(e,t,i,n,a,o,r,s,l,h){if(h>t&&h>n&&h>o&&h>s||t>h&&n>h&&o>h&&s>...
function b (line 9) | function b(e,t,i,n,a,o,r,s){if(s>t&&s>n&&s>o||t>s&&n>s&&o>s)return 0;var...
function f (line 9) | function f(e,i,n,a,o,r,s,l){if(l-=i,l>n||-n>l)return 0;var h=Math.sqrt(n...
function k (line 9) | function k(e,t,i,n,a){var o=0,m=0,V=0,U=0,d=0,p=!0,c=!0;i=i||"fill";for(...
function x (line 9) | function x(e,t){var i=e+":"+t;if(v[i])return v[i];L=L||W.getContext(),L....
function _ (line 9) | function _(e,t){var i=e+":"+t;if(w[i])return w[i];L=L||W.getContext(),L....
function t (line 9) | function t(t,n,a,o,r,s,l){r&&(t.font=r),t.textAlign=s,t.textBaseline=l;v...
function i (line 9) | function i(t,i,n,a,o,r){var s=e("../tool/area"),l=s.getTextWidth(t,a),h=...
function t (line 9) | function t(e){return e>-u&&u>e}
function i (line 9) | function i(e){return e>u||-u>e}
function n (line 9) | function n(e,t,i,n,a){var o=1-a;return o*o*(o*e+3*a*t)+a*a*(a*n+3*o*i)}
function a (line 9) | function a(e,t,i,n,a){var o=1-a;return 3*(((t-e)*o+2*(i-t)*a)*o+(n-i)*a*a)}
function o (line 9) | function o(e,i,n,a,o,r){var s=a+3*(i-n)-e,l=3*(n-2*i+e),h=3*(i-e),m=e-o,...
function r (line 9) | function r(e,n,a,o,r){var s=6*a-12*n+6*e,l=9*n+3*o-3*e-9*a,h=3*n-3*e,m=0...
function s (line 9) | function s(e,t,i,n,a,o){var r=(t-e)*a+e,s=(i-t)*a+t,l=(n-i)*a+i,h=(s-r)*...
function l (line 9) | function l(e,t,i,a,o,r,s,l,h,m,V){var U,d=.005,p=1/0;b[0]=h,b[1]=m;for(v...
function h (line 9) | function h(e,t,i,n){var a=1-n;return a*(a*e+2*n*t)+n*n*i}
function m (line 9) | function m(e,t,i,n){return 2*((1-n)*(t-e)+n*(i-t))}
function V (line 9) | function V(e,n,a,o,r){var s=e-2*n+a,l=2*(n-e),h=e-o,m=0;if(t(s)){if(i(l)...
function U (line 9) | function U(e,t,i){var n=e+i-2*t;return 0===n?.5:(e-t)/n}
function d (line 9) | function d(e,t,i,n,a){var o=(t-e)*n+e,r=(i-t)*n+t,s=(r-o)*n+o;a[0]=e,a[1...
function p (line 9) | function p(e,t,i,n,a,o,r,s,l){var m,V=.005,U=1/0;b[0]=r,b[1]=s;for(var d...
function t (line 9) | function t(e){return e>-s&&s>e}
function i (line 9) | function i(e){return e>s||-s>e}
function t (line 9) | function t(e){this._targetPool=e.target||{},this._targetPool instanceof ...
function t (line 9) | function t(e){return null!=e.x&&null!=e.y}
function i (line 9) | function i(e,t,i,n,a){p.call(this,e,t,i,n,a);var o=this;this.selectedMap...
function e (line 11) | function e(e,t){e[t]=e[t]instanceof Array?e[t].length>1?e[t]:[e[t][0],e[...
function e (line 11) | function e(e,t){var i=e.toString(),n=t.toString(),a=0;try{a=n.split(".")...
function t (line 11) | function t(e,t){var i=e.toString(),n=t.toString(),a=0;try{a+=i.split("."...
function i (line 11) | function i(e,t){var i=0,n=0;try{i=e.toString().split(".")[1].length}catc...
function n (line 11) | function n(e,t){return i(e,-t)}
function t (line 11) | function t(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i,n+...
function i (line 11) | function i(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i,n+...
function n (line 11) | function n(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i+4*...
function a (line 11) | function a(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i,n+...
function o (line 11) | function o(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i+6*...
function r (line 11) | function r(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16,r=t.width/2;e...
function s (line 11) | function s(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i,n)...
function l (line 11) | function l(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i,n)...
function h (line 11) | function h(e,t){var i=t.x,n=t.y,a=t.width-2,o=t.height-2,r=Math.min(a,o)...
function m (line 11) | function m(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;n-=o,e.moveTo...
function V (line 11) | function V(e,t){var i=t.x,n=t.y,a=t.width,o=t.height,r=a/16,s=o/16,l=2*M...
function U (line 11) | function U(e,t){var i=t.x,n=t.y,a=t.width,o=t.height,r=Math.min(a,o)/2;e...
function d (line 11) | function d(e,t){for(var i=t.x,n=t.y,a=t.width,o=t.height,r=Math.round(o/...
function p (line 11) | function p(e,t){for(var i=t.x,n=t.y,a=t.width,o=t.height,r=Math.round(a/...
function c (line 11) | function c(e,t){var i=t.x,n=t.y,a=t.width/16;e.moveTo(i+a,n),e.lineTo(i+...
function u (line 11) | function u(e,t){var i=t.x,n=t.y,a=t.width/16,o=t.height/16;e.moveTo(i,n)...
function y (line 11) | function y(e,t){var i=t.x,n=t.y,a=t.width,o=t.height;e.moveTo(i,n+o/2),e...
function g (line 11) | function g(e,t){var i=t.width/2,n=t.height/2,a=Math.min(i,n);e.moveTo(t....
function b (line 11) | function b(e,t){e.rect(t.x,t.y,t.width,t.height),e.closePath()}
function f (line 11) | function f(e,t){var i=t.width/2,n=t.height/2,a=t.x+i,o=t.y+n,r=Math.min(...
function k (line 11) | function k(e,t){var i=t.width/2,n=t.height/2,a=t.x+i,o=t.y+n,r=Math.min(...
function x (line 11) | function x(e,t){var i=t.x,n=t.y,a=t.width/16;e.moveTo(i+8*a,n),e.lineTo(...
function _ (line 11) | function _(t,i){var n=e("zrender/shape/Star"),a=i.width/2,o=i.height/2;n...
function L (line 11) | function L(t,i){var n=e("zrender/shape/Heart");n.prototype.buildPath(t,{...
function W (line 11) | function W(t,i){var n=e("zrender/shape/Droplet");n.prototype.buildPath(t...
function X (line 11) | function X(e,t){var i=t.x,n=t.y-t.height/2*1.5,a=t.width/2,o=t.height/2,...
function v (line 11) | function v(t,i,n){var a=e("zrender/shape/Image");this._imageShape=this._...
function w (line 11) | function w(e){I.call(this,e)}
function t (line 11) | function t(e){i.call(this,e),this.style.curveness>0&&this.updatePoints(t...
function t (line 11) | function t(e){i.call(this,e)}
function t (line 11) | function t(e,t,i,n,a){var o,r=i.style.pointList,s=r.length;if(!t){if(o=[...
function i (line 11) | function i(e,t){for(var i=arguments.length,n=2;i>n;n++){var a=arguments[...
function n (line 11) | function n(e,t,n,a,o){var r=n.style;t||(t={position:n.position,style:{x:...
function a (line 11) | function a(e,t,i,n,a){if(!t){var o=i.style.y;t={style:{y:[o[0],o[0],o[0]...
function o (line 11) | function o(e,t,i,n,a){var o=i.style.x,r=i.style.y,s=i.style.r0,l=i.style...
function r (line 11) | function r(e,t,n,a,o){t||(t="r"!=n._animationAdd?{
function s (line 12) | function s(e,t,n,a,o){t||(t={style:{x:"left"==n.style.textAlign?n.style....
function l (line 12) | function l(t,i,n,a,o){var r=e("zrender/shape/Polygon").prototype.getRect...
function h (line 12) | function h(e,t,n,a,o){t||(t={style:{source0:0,source1:n.style.source1>0?...
function m (line 12) | function m(e,t,i,n,a){t||(t={style:{angle:i.style.startAngle}});var o=i....
function V (line 12) | function V(e,t,i,a,o,r){if(i.style._x=i.style.x,i.style._y=i.style.y,i.s...
function U (line 12) | function U(e,t,n,a,o){t||(t={style:{xStart:n.style.xStart,yStart:n.style...
function d (line 12) | function d(e,t,i,n,a){a=a||"QuinticOut",i.__animating=!0,e.addShape(i);v...
function t (line 12) | function t(e,t,i,n){var a,r=i.effect,l=r.color||i.style.strokeColor||i.s...
function i (line 12) | function i(e,t,i,n){var a=i.effect,o=a.color||i.style.strokeColor||i.sty...
function n (line 12) | function n(e,t,i,n,a){var s=i.effect,h=i.style,m=s.color||h.strokeColor|...
function a (line 12) | function a(e,t,i,a){var o=new V({style:{shapeList:[]},zlevel:a,hoverable...
function t (line 12) | function t(e,t,a,o,r){this.ecTheme=e,this.messageCenter=t,this.zr=a,this...
function t (line 12) | function t(e,t){e=e.array,t=t.array;var i=t[0]-e[0],n=t[1]-e[1],a=t[2]-e...
function i (line 12) | function i(e){this.points=[e.mp0,e.mp1],this.group=e}
function n (line 12) | function n(e){var t=e.points;t[0][1]<t[1][1]||e instanceof i?(this.array...
function a (line 12) | function a(){this.edgeList=[],this.mp0=l(),this.mp1=l(),this.ink=0}
function o (line 12) | function o(){this.maxNearestEdge=6,this.maxTurningAngle=Math.PI/4,this.m...
function t (line 12) | function t(e,t){return h(e,t)<1e-10}
function n (line 12) | function n(e,i){for(var n=[],a=0,o=0;o<e.length;o++)a>0&&t(e[o],n[a-1])|...
function e (line 12) | function e(e,t){return Math.sin(t?e*a:e)}
function t (line 12) | function t(e,t){return Math.cos(t?e*a:e)}
function i (line 12) | function i(e){return e*a}
function n (line 12) | function n(e){return e/a}
function t (line 12) | function t(e,t,i,n,a,o,r){var s=.5*(i-e),l=.5*(n-t);return(2*(t-i)+s+l)*...
function t (line 12) | function t(e,t){if("undefined"!=typeof e){if(!t)return e;t=t.split(".");...
function i (line 12) | function i(e,i){for(var n,a=0,o=e.length;o>a;a++)if(n=t(e[a],i),"undefin...
function n (line 12) | function n(e,i){for(var n,o=e.length;o--;){var r=t(e[o],i);"undefined"!=...
function e (line 12) | function e(e){return e.replace(/^\s+/,"").replace(/\s+$/,"")}
function t (line 12) | function t(t,i){return"string"==typeof t?e(t).match(/%$/)?parseFloat(t)/...
function i (line 12) | function i(e,i){return[t(i[0],e.getWidth()),t(i[1],e.getHeight())]}
function n (line 12) | function n(e,i){i instanceof Array||(i=[0,i]);var n=Math.min(e.getWidth(...
function a (line 12) | function a(e){return isNaN(e)?"-":(e=(e+"").split("."),e[0].replace(/(\d...
function o (line 12) | function o(e){for(var t=1,i=0;Math.round(e*t)/t!==e;)t*=10,i++;return i}
function t (line 12) | function t(e,t){this.left=null,this.right=null,this.axis=e,this.data=t}
function e (line 12) | function e(e,t){return e-t}
function t (line 12) | function t(e,t,i){var n=e[t];e[t]=e[i],e[i]=n}
function i (line 12) | function i(e,i,n,a,o){for(var r=i;n>i;){var r=Math.round((n+i)/2),s=e[r]...
function n (line 12) | function n(t,n,a,o,r){return arguments.length<=3&&(o=n,r=2==arguments.le...
function t (line 12) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.dom=o.dom,this._tDom=d...
function t (line 13) | function t(e){i.call(this,e)}
function t (line 13) | function t(e){i.call(this,e)}
function t (line 13) | function t(e,t,i){if(0!==e.length){for(var n=e[0][0],a=e[0][0],o=e[0][1]...
function i (line 13) | function i(e,t,i,n,a,r){var s=[];o.cubicExtrema(e[0],t[0],i[0],n[0],s);f...
function n (line 13) | function n(e,t,i,n,a){var r=o.quadraticExtremum(e[0],t[0],i[0]),s=o.quad...
function t (line 13) | function t(e){i.call(this,e)}
function t (line 13) | function t(e,t,n,a,o,r){i.call(this,e,t,n,a,o),this.axisType=r,this._axi...
function t (line 13) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 13) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o);var r=this;r._ondrift=funct...
function t (line 15) | function t(e,t,n,a,o,r){if(a.data.length<1)return void console.error("op...
function t (line 15) | function t(e,t,n,a,o,r,s){if(!s||0===s.length)return void console.err("o...
function e (line 15) | function e(e,t,i){i=i>1?i:2;for(var n,a,o,r,s=0,l=m.length;l>s;s++)if(n=...
function t (line 15) | function t(e){return 10>e?"0"+e:e}
function i (line 15) | function i(e,i){("week"==e||"month"==e||"quarter"==e||"half-year"==e||"y...
function n (line 15) | function n(e){return e=h(e),e.setDate(e.getDate()+8-e.getDay()),e}
function a (line 15) | function a(e,t,i){return e=h(e),e.setMonth(Math.ceil((e.getMonth()+1)/i)...
function o (line 15) | function o(e,t){return a(e,t,1)}
function r (line 15) | function r(e,t){return a(e,t,3)}
function s (line 15) | function s(e,t){return a(e,t,6)}
function l (line 15) | function l(e,t){return a(e,t,12)}
function h (line 15) | function h(e){return e instanceof Date?e:new Date("string"==typeof e?e.r...
function e (line 15) | function e(e){return X.log(I(e))/X.LN10}
function t (line 15) | function t(e){return X.pow(10,e)}
function i (line 15) | function i(e){return e===w(e)}
function n (line 15) | function n(e,t,n,a){b=a||{},f=b.steps||L,k=b.secs||W,n=v(+n||0)%99,e=+e|...
function a (line 15) | function a(e,i,n,a){a=a||0;var s=o((i-e)/n,-1),l=o(e,-1,1),h=o(i,-1),m=X...
function o (line 15) | function o(n,a,o){a=v(a%10)||2,0>a&&(i(n)?a=(""+I(n)).replace(/0+$/,"")....
function r (line 15) | function r(e,i,n){var a=i.e-e.e;a&&(e.e+=a,e.c*=t(-a),e.c=n?w(e.c):K(e.c))}
function s (line 15) | function s(e,t,i){e.e<t.e?r(t,e,i):r(e,t,i)}
function l (line 15) | function l(e,t){t=t||L,e=o(e);for(var i=e.c,n=0;i>t[n];)n++;if(!t[n])for...
function h (line 15) | function h(e,t,n){var s,h=n||+k.slice(-1),p=l((t-e)/h,f),u=o(t-e),g=o(e,...
function m (line 15) | function m(e,i){for(var n,a,o,r,s=[],h=k.length;h--;)n=k[h],a=l((i.c-e.c...
function V (line 15) | function V(e,i,n){for(var a,o,r=i.c,s=(i.c-e.c)/n-1;r>e.c;)s=l(s+1,f),s=...
function U (line 15) | function U(e,n,a,o,r,s){var l=r.c-o.c,h=l/s*t(r.e);if(!i(h)&&(h=w(h),l=h...
function d (line 15) | function d(e,t,i){if(i=i||5,x)t=e+i;else if(_)e=t-i;else{var n=i-(t-e),o...
function p (line 15) | function p(e,t,i){i=i||5;var n=X.min(I(t/i),i)/2.1;return x?t=e+n:_?e=t-...
function c (line 15) | function c(e,t,i,n){
function u (line 16) | function u(e){return e=(+e).toFixed(15).split("."),e.pop().replace(/0+$/...
function y (line 16) | function y(e,t,i,n){if(x){var a=o(e,4,1);i.e-a.e>6&&(a={c:0,e:i.e}),s(i,...
function g (line 16) | function g(e,t,i){var n=i?[i]:k,s=t-e;if(0===s)return t=o(t,3),i=n[0],t....
function t (line 16) | function t(e){return i(),u=e||{},n(),a(),[o(),i()][0]}
function i (line 16) | function i(){U=u=g=c=b=f=y=k=d=p=null}
function n (line 16) | function n(){d=u.logLabelBase,null==d?(p="plain",d=10,c=I):(d=+d,1>d&&(d...
function a (line 16) | function a(){function e(){y>m&&(y=m);var e=w(l(m/y)),t=v(l(m/e)),i=e*t,n...
function o (line 16) | function o(){for(var e=[],t=0,i=k.length;i>t;t++)e[t]=(U?1:-1)*k[t];!U&&...
function r (line 16) | function r(){if("exponent"===p){var e=d,t=c;return function(i){if(!isFin...
function s (line 16) | function s(){var e=U,t=g;return{value2Coord:function(i){return null==i||...
function l (line 16) | function l(e){return+Number(+e).toFixed(14)}
function h (line 16) | function h(e){return Number(e).toFixed(15).replace(/\.?0*$/,"")}
function m (line 16) | function m(e){e=h(Math.round(e));for(var t=[],i=0,n=e.length;n>i;i++){va...
function V (line 16) | function V(e){return e>-S&&S>e}
function t (line 16) | function t(e,t,i,a,o){n.call(this,e,t,i,a,o),this.refresh(a)}
function i (line 16) | function i(e,t,i){var n=t.x,a=t.y,r=t.width,s=t.height,l=s/2;t.symbol.ma...
function i (line 16) | function i(){c--,0===c&&t&&t()}
function n (line 16) | function n(e){e.style.controlPointList=null}
function t (line 16) | function t(e){i.call(this,e)}
function t (line 16) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function i (line 16) | function i(){c--,0===c&&t&&t()}
function t (line 16) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 16) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o);var s=this;s._ondrift=funct...
function t (line 18) | function t(e){i.call(this,e)}
function t (line 18) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function i (line 18) | function i(){p--,0===p&&t&&t()}
function t (line 18) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o);var r=this;r.shapeHandler.o...
function a (line 19) | function a(t,i,n){for(var a=t;i>a;a++)if(e[a]._rect.y+=n,e[a].style.y+=n...
function o (line 19) | function o(t,i){for(var n=t;n>=0&&(e[n]._rect.y-=i,e[n].style.y-=i,e[n]....
function r (line 19) | function r(e,t,i,n,a){for(var o,r,s,l=i[0],h=i[1],m=a>0?t?Number.MAX_VAL...
function i (line 19) | function i(){s--,0===s&&t&&t()}
function t (line 19) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 19) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function a (line 19) | function a(e){(e>o||void 0===o)&&(o=e),(r>e||void 0===r)&&(r=e)}
function t (line 19) | function t(e,t){return[e*n.sin(t),e*n.cos(t)]}
function i (line 19) | function i(e,t){return[Math.sqrt(e*e+t*t),Math.atan(t/e)]}
function t (line 19) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.scaleLineLength=4,this...
function t (line 21) | function t(e){i.call(this,e),this._pathProxy=new n}
function t (line 21) | function t(e,t,o,h,m){var V=this;r.call(this,e,t,o,h,m),this.__nodePosit...
function i (line 21) | function i(e){if(this.isDragstart&&e.target){var t=e.target;t.fixed=!0,t...
function n (line 21) | function n(){this._layout.temperature=.8,this._step()}
function a (line 21) | function a(e,t){if(this.isDragend&&e.target){var i=e.target;i.fixed=!1,t...
function o (line 21) | function o(e,t,i){var n=y.create();return n[0]=(Math.random()-.5)*i+e,n[...
function t (line 21) | function t(){if("undefined"!=typeof Worker&&"undefined"!=typeof Blob)try...
function t (line 21) | function t(){this.subRegions=[],this.nSubRegions=0,this.node=null,this.m...
function i (line 21) | function i(){this.position=r.create(),this.force=r.create(),this.forcePr...
function n (line 21) | function n(e,t){this.node1=e,this.node2=t,this.weight=1}
function a (line 21) | function a(){this.barnesHutOptimize=!1,this.barnesHutTheta=1.5,this.repu...
function t (line 23) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o);var r=this;r._onmousewheel=...
function t (line 23) | function t(e,t){for(var i=0;i<e.pointList.length;i++){var n=e.pointList[...
function i (line 23) | function i(e,t){e.xStart*=t,e.yStart*=t,e.xEnd*=t,e.yEnd*=t,null!=e.cpX1...
function t (line 24) | function t(e,t,n,a,o){if(this.rcOption={},a.roamController&&a.roamContro...
function e (line 24) | function e(e){if(this.option=e,e)for(var i in t)this.option[i]=void 0!==...
function t (line 24) | function t(e){if(!e.UTF8Encoding)return e;for(var t=e.features,n=0;n<t.l...
function i (line 24) | function i(e,t){for(var i=[],n=t[0],a=t[1],o=0;o<e.length;o+=2){var r=e....
function t (line 24) | function t(e){return parseFloat(e||0)}
function i (line 24) | function i(e){for(var i=e.firstChild;"svg"!=i.nodeName.toLowerCase()||1!...
function n (line 24) | function n(e,t){function i(e){var t=e.tagName;if(m[t]){var o=m[t](e,n);o...
function a (line 24) | function a(e,t){var i=t instanceof Array?[1*t[0],1*t[1]]:[1*t.x,1*t.y];r...
function o (line 24) | function o(e,t){var i=t instanceof Array?[1*t[0],1*t[1]]:[1*t.x,1*t.y];r...
function r (line 24) | function r(e){return e.replace(/^\s\s*/,"").replace(/\s\s*$/,"")}
function s (line 24) | function s(e,t){var i=t.getAttribute("fill"),n=t.getAttribute("stroke"),...
function l (line 24) | function l(e){for(var t=r(e).replace(/,/g," ").split(/\s+/),i=[],n=0;n<t...
function e (line 24) | function e(e,i){return i=i||{},e.srcSize||t(e,i),e.srcSize}
function t (line 24) | function t(e,t){t=t||{},r.xmin=360,r.xmax=-360,r.ymin=180,r.ymax=-180;fo...
function i (line 24) | function i(e,i,n){function a(e,t){c=e.type,u=e.coordinates,o._bbox={xmin...
function n (line 24) | function n(e,t){var i,n;return t instanceof Array?(i=1*t[0],n=1*t[1]):(i...
function a (line 24) | function a(e,t){return o.offset=e.offset,o.scale=e.scale,o.makePoint(t i...
function t (line 34) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 34) | function t(e){i.call(this,e)}
function t (line 34) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 34) | function t(e,t){return"-"===e.value?1:"-"===t.value?-1:t.value-e.value}
function i (line 34) | function i(e,i){return-t(e,i)}
function t (line 34) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o);var r=this;r._ondragend=fun...
function e (line 34) | function e(e,i,o){function r(e,t){var i=e.importance,n=t.importance;retu...
function t (line 34) | function t(e,t,i,n){for(var a=t.height,o=n/a>.5?.5:1,r=t.y,s=(t.height-n...
function i (line 34) | function i(e,t,i,n){if(e===i)throw new Error("x0 is equal with x1!!!");i...
function n (line 34) | function n(e,t,n){var a=~~t,o=e.time.length;e.xpx=[],e.ypx=[];for(var r,...
function a (line 34) | function a(e,t,i){for(var n,a=0,o=t.xpx.length,r=0;o>r;r++)n=i(t,r),a=Ma...
function t (line 34) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 34) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a);var r=this;...
function e (line 35) | function e(e){({x:e.x,y:e.y,width:e.width,height:e.height});this.x=e.x,t...
function t (line 35) | function t(e,t){this.id=e,this.depth=0,this.height=0,this.children=[],th...
function i (line 35) | function i(e){this.root=new t(e)}
function a (line 35) | function a(e,i){var n=new t(e.name,e);i.add(n);var o=e.children;if(o)for...
function n (line 35) | function n(t){for(var i=e.getNodeById(t.id),a=0;a<i.outEdges.length;a++)...
function t (line 35) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 35) | function t(e){e=e||{},this.nodePadding=e.nodePadding||30,this.layerPaddi...
function t (line 35) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
function t (line 35) | function t(e){this._init(e)}
function e (line 35) | function e(){p.totalArea=r,U.autoSizeCal.enable&&p._autoCalTextSize(m,r,...
function t (line 35) | function t(){for(var e,t=+new Date,i=m.length;+new Date-t<V.timeInterval...
function t (line 35) | function t(e){return e.name}
function i (line 35) | function i(){return"sans-serif"}
function n (line 35) | function n(){return"normal"}
function a (line 35) | function a(e){return e.value}
function o (line 35) | function o(){return 0}
function r (line 35) | function r(e){return function(){return e[Math.round(Math.random()*(e.len...
function s (line 35) | function s(){return 0}
function l (line 35) | function l(e){var t=e[0]/e[1];return function(e){return[t*(e*=.1)*Math.c...
function h (line 35) | function h(e){var t=4,i=t*e[0]/e[1],n=0,a=0;return function(e){var o=0>e...
function m (line 35) | function m(e){return"function"==typeof e?e:function(){return e}}
function n (line 35) | function n(e,t,i){i>>=5;for(var n,a=e.sprite,o=e.width>>5,r=e.x-(o<<4),s...
function a (line 35) | function a(e,t){return t.row[e.y]&&t.cloumn[e.x]&&e.x>=t.row[e.y].start&...
function o (line 35) | function o(e){c.clearRect(0,0,(d<<5)/u,p/u),c.save(),c.font=e.style+" "+...
function r (line 35) | function r(e,t){for(var i=e.length,n=0;i--;)n+=t(e[i]);return n}
function e (line 35) | function e(e){this.defaultOption={type:"RECT"},this._init(e)}
function t (line 35) | function t(e,t,n,a,o){i.call(this,e,t,n,a,o),this.refresh(a)}
FILE: examples/login/js/mui.locker.js
function getElementLeft (line 22) | function getElementLeft(element) {
function getElementTop (line 32) | function getElementTop(element) {
FILE: examples/login/libs/easymob-webim-sdk/easemob.im-1.0.5.js
function getIEVersion (line 285) | function getIEVersion(){
FILE: examples/login/libs/easymob-webim-sdk/jquery-1.11.1.js
function isArraylike (line 570) | function isArraylike( obj ) {
function Sizzle (line 773) | function Sizzle( selector, context, results, seed ) {
function createCache (line 888) | function createCache() {
function markFunction (line 906) | function markFunction( fn ) {
function assert (line 915) | function assert( fn ) {
function addHandle (line 937) | function addHandle( attrs, handler ) {
function siblingCheck (line 952) | function siblingCheck( a, b ) {
function createInputPseudo (line 979) | function createInputPseudo( type ) {
function createButtonPseudo (line 990) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 1001) | function createPositionalPseudo( fn ) {
function testContext (line 1024) | function testContext( context ) {
function setFilters (line 2021) | function setFilters() {}
function toSelector (line 2092) | function toSelector( tokens ) {
function addCombinator (line 2102) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 2155) | function elementMatcher( matchers ) {
function multipleContexts (line 2169) | function multipleContexts( selector, contexts, results ) {
function condense (line 2178) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 2199) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 2292) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 2347) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function winnow (line 2643) | function winnow( elements, qualifier, not ) {
function sibling (line 2973) | function sibling( cur, dir ) {
function createOptions (line 3056) | function createOptions( options ) {
function detach (line 3456) | function detach() {
function completed (line 3470) | function completed() {
function dataAttr (line 3633) | function dataAttr( elem, key, data ) {
function isEmptyDataObject (line 3665) | function isEmptyDataObject( obj ) {
function internalData (line 3681) | function internalData( elem, name, data, pvt /* Internal Use Only */ ) {
function internalRemoveData (line 3770) | function internalRemoveData( elem, name, pvt ) {
function returnTrue (line 4255) | function returnTrue() {
function returnFalse (line 4259) | function returnFalse() {
function safeActiveElement (line 4263) | function safeActiveElement() {
function createSafeFragment (line 5272) | function createSafeFragment( document ) {
function getAll (line 5324) | function getAll( context, tag ) {
function fixDefaultChecked (line 5347) | function fixDefaultChecked( elem ) {
function manipulationTarget (line 5355) | function manipulationTarget( elem, content ) {
function disableScript (line 5365) | function disableScript( elem ) {
function restoreScript (line 5369) | function restoreScript( elem ) {
function setGlobalEval (line 5380) | function setGlobalEval( elems, refElements ) {
function cloneCopyEvent (line 5388) | function cloneCopyEvent( src, dest ) {
function fixCloneNodeIssues (line 5416) | function fixCloneNodeIssues( src, dest ) {
function actualDisplay (line 6007) | function actualDisplay( name, doc ) {
function defaultDisplay (line 6029) | function defaultDisplay( nodeName ) {
function addGetHookIf (line 6221) | function addGetHookIf( conditionFn, hookFn ) {
function computeStyleTests (line 6315) | function computeStyleTests() {
function vendorPropName (line 6433) | function vendorPropName( style, name ) {
function showHide (line 6455) | function showHide( elements, show ) {
function setPositiveNumber (line 6506) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 6514) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 6553) | function getWidthOrHeight( elem, name, extra ) {
function Tween (line 6892) | function Tween( elem, options, prop, end, easing ) {
function createFxNow (line 7061) | function createFxNow() {
function genFx (line 7069) | function genFx( type, includeWidth ) {
function createTween (line 7089) | function createTween( value, prop, animation ) {
function defaultPrefilter (line 7103) | function defaultPrefilter( elem, props, opts ) {
function propFilter (line 7245) | function propFilter( props, specialEasing ) {
function Animation (line 7282) | function Animation( elem, properties, options ) {
function addToPrefiltersOrTransports (line 8596) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 8628) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 8655) | function ajaxExtend( target, src ) {
function ajaxHandleResponses (line 8675) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8730) | function ajaxConvert( s, response, jqXHR, isSuccess ) {
function done (line 9189) | function done( status, nativeStatusText, responses, headers ) {
function buildParams (line 9441) | function buildParams( prefix, obj, traditional, add ) {
function createStandardXHR (line 9713) | function createStandardXHR() {
function createActiveXHR (line 9719) | function createActiveXHR() {
function getWindow (line 10014) | function getWindow( elem ) {
FILE: examples/login/libs/easymob-webim-sdk/json2.js
function f (line 169) | function f(n) {
function quote (line 203) | function quote(string) {
function str (line 220) | function str(key, holder) {
function walk (line 416) | function walk(holder, key) {
FILE: examples/login/libs/easymob-webim-sdk/strophe-custom-2.0.0.js
function b64_sha1 (line 108) | function b64_sha1(s){return binb2b64(core_sha1(str2binb(s),s.length * 8));}
function str_sha1 (line 109) | function str_sha1(s){return binb2str(core_sha1(str2binb(s),s.length * 8));}
function b64_hmac_sha1 (line 110) | function b64_hmac_sha1(key, data){ return binb2b64(core_hmac_sha1(key, d...
function str_hmac_sha1 (line 111) | function str_hmac_sha1(key, data){ return binb2str(core_hmac_sha1(key, d...
function core_sha1 (line 116) | function core_sha1(x, len)
function sha1_ft (line 164) | function sha1_ft(t, b, c, d)
function sha1_kt (line 175) | function sha1_kt(t)
function core_hmac_sha1 (line 184) | function core_hmac_sha1(key, data)
function safe_add (line 204) | function safe_add(x, y)
function rol (line 214) | function rol(num, cnt)
function str2binb (line 223) | function str2binb(str)
function binb2str (line 237) | function binb2str(bin)
function binb2b64 (line 251) | function binb2b64(binarray)
function $build (line 621) | function $build(name, attrs) { return new Strophe.Builder(name, attrs); }
function $msg (line 632) | function $msg(attrs) { return new Strophe.Builder("message", attrs); }
function $iq (line 643) | function $iq(attrs) { return new Strophe.Builder("iq", attrs); }
function $pres (line 653) | function $pres(attrs) { return new Strophe.Builder("presence", attrs); }
FILE: examples/nativeTab/js/mui.js
function run (line 225) | function run() {
function detect (line 468) | function detect(ua) {
function detect (line 518) | function detect(ua) {
function CustomEvent (line 855) | function CustomEvent(event, params) {
function update (line 910) | function update(fn) {
function handleScroll (line 1982) | function handleScroll(wrapper, iframe) {
function Class (line 3418) | function Class() {
function toggleEvents (line 6971) | function toggleEvents(element, isRemove) {
FILE: js/mui.animationframe.js
function animation_id (line 17) | function animation_id() {
function recursion (line 25) | function recursion(callback) {
function queue (line 37) | function queue(callback) {
function queueAfter (line 48) | function queueAfter(callback) {
function cancel (line 61) | function cancel(qid) {
FILE: js/mui.class.js
function Class (line 30) | function Class() {
FILE: js/mui.detect.5+.js
function detect (line 7) | function detect(ua) {
FILE: js/mui.detect.js
function detect (line 7) | function detect(ua) {
FILE: js/mui.fixed.classlist.js
function update (line 12) | function update(fn) {
FILE: js/mui.fixed.js
function CustomEvent (line 23) | function CustomEvent(event, params) {
FILE: js/mui.init.js
function handleScroll (line 92) | function handleScroll(wrapper, iframe) {
FILE: js/mui.js
function run (line 220) | function run() {
FILE: js/tableviews.js
function toggleEvents (line 337) | function toggleEvents(element, isRemove) {
FILE: plugin/share/plusShare.js
function share (line 24) | function share(id, msg, callback) {
function openSystem (line 52) | function openSystem(msg, callback) {
Condensed preview — 281 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,551K chars).
[
{
"path": ".gitignore",
"chars": 86,
"preview": ".sass-cache\nnode_modules\n\nsass/.csscomb.json\nsass/.csslintrc\n\njs/.jscsrc\njs/.jshintrc\n"
},
{
"path": "Gruntfile.js",
"chars": 5855,
"preview": "/*!\n * Mui's Gruntfile\n */\n\n/* jshint node: true */\nmodule.exports = function(grunt) {\n\t'use strict';\n\n\t// Force use of "
},
{
"path": "LICENSE",
"chars": 1096,
"preview": "The MIT License (MIT)\n\nCopyright (c) 2014 connors and other contributors\n\nPermission is hereby granted, free of charge, "
},
{
"path": "README.md",
"chars": 1079,
"preview": "mui\n===\n\n性能和体验的差距,一直是mobile app开发者放弃HTML5的首要原因。 浏览器天生的切页白屏、不忍直视的转页动画、浮动元素的抖动、无法流畅下拉刷新等问题,这些都让HTML5开发者倍感挫败,尤其拿到Android低端机"
},
{
"path": "dist/css/mui.css",
"chars": 97516,
"preview": "/*!\n * =====================================================\n * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)\n * ==========="
},
{
"path": "dist/js/mui.js",
"chars": 256182,
"preview": "/*!\n * =====================================================\n * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)\n * ==========="
},
{
"path": "examples/hello-mui/.project",
"chars": 491,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>hello-mui</name>\n\t<comment></comment>\n\t<projects>\n\t</"
},
{
"path": "examples/hello-mui/css/app.css",
"chars": 326,
"preview": "/*\n *这是单独为hello mui准备的个性化css,可以覆盖标准mui的css定义;\n * 在实际项目开发时,建议为App单独写一个css文件,从而实现项目的自定义皮肤功能;\n * \n * */\n.mui-plus header.mu"
},
{
"path": "examples/hello-mui/css/feedback.css",
"chars": 2388,
"preview": "/*!\n * ======================================================\n * FeedBack Template For MUI (http://dev.dcloud.net.cn/mui"
},
{
"path": "examples/hello-mui/css/icons-extra.css",
"chars": 2813,
"preview": "@font-face {\n font-family: MuiiconSpread;\n font-weight: normal;\n font-style: normal;\n src: url('../fonts/mu"
},
{
"path": "examples/hello-mui/css/mui.dtpicker.css",
"chars": 3006,
"preview": ".mui-dtpicker {\n\tposition: fixed;\n\tleft: 0px;\n\twidth: 100%;\n\tz-index: 999999;\n\tbackground-color: #eee;\n\tborder-top: soli"
},
{
"path": "examples/hello-mui/css/mui.imageviewer.css",
"chars": 2512,
"preview": ".mui-imageviewer {\n\tposition: absolute;\n\tposition: fixed;\n\tbackground-color: rgba(0, 0, 0, 0.9);\n\twidth: 100%;\n\theight: "
},
{
"path": "examples/hello-mui/css/mui.indexedlist.css",
"chars": 2159,
"preview": ".mui-indexed-list {\n\tposition: relative;\n\tborder-top: solid 1px #e3e3e3;\n\tborder-bottom: solid 1px #e3e3e3;\n\toverflow: h"
},
{
"path": "examples/hello-mui/css/mui.listpicker.css",
"chars": 2148,
"preview": "/**\n * 选择列表插件\n * varstion 1.0.0\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n.mui-listpicker {\n\tposition: relative;\n\tborder: "
},
{
"path": "examples/hello-mui/css/mui.picker.all.css",
"chars": 6465,
"preview": "/**\n * 选择列表插件\n * varstion 2.0.0\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n.mui-picker {\n background-color: #ddd;\n po"
},
{
"path": "examples/hello-mui/css/mui.picker.css",
"chars": 2208,
"preview": "/**\n * 选择列表插件\n * varstion 2.0.0\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n.mui-picker {\n background-color: #ddd;\n po"
},
{
"path": "examples/hello-mui/css/mui.poppicker.css",
"chars": 1249,
"preview": ".mui-poppicker {\n\tposition: fixed;\n\tleft: 0px;\n\twidth: 100%;\n\tz-index: 999;\n\tbackground-color: #eee;\n\tborder-top: solid "
},
{
"path": "examples/hello-mui/examples/accordion.html",
"chars": 3860,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/actionsheet-plus.html",
"chars": 3140,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/actionsheet.html",
"chars": 4140,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/ad.html",
"chars": 1300,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/ajax.html",
"chars": 4467,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/badges.html",
"chars": 1751,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/best-practices/list-to-detail/detail.html",
"chars": 2621,
"preview": "<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"UTF-8\">\n\t\t<title></title>\n\t\t<meta name=\"viewport\" content=\"width=device-"
},
{
"path": "examples/hello-mui/examples/best-practices/list-to-detail/list-to-detail.css",
"chars": 2675,
"preview": ".mui-bar-nav {\n\tbackground-color: #4a82d1;\n\t-webkit-box-shadow: none;\n\tbox-shadow: none;\n}\n.mui-bar-nav a,\n.mui-bar .mui"
},
{
"path": "examples/hello-mui/examples/best-practices/list-to-detail/listview.html",
"chars": 7602,
"preview": "<!doctype html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"UTF-8\">\n\t\t<title>列表到详情最佳实践</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/buttons-with-badges.html",
"chars": 1806,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/buttons-with-block.html",
"chars": 2202,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/buttons-with-icons.html",
"chars": 2313,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/buttons-with-loading.html",
"chars": 4468,
"preview": "<!DOCTYPE html>\n<html>\n <head>\n <meta charset=\"utf-8\">\n <title>Hello MUI</title>\n <meta name=\"vi"
},
{
"path": "examples/hello-mui/examples/buttons.html",
"chars": 2466,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/card.html",
"chars": 3031,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/checkbox.html",
"chars": 2275,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/date.html",
"chars": 2428,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/dialog.html",
"chars": 2640,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/dtpicker.html",
"chars": 4278,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/echarts.html",
"chars": 3551,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>ECharts 示例</title>\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "examples/hello-mui/examples/feedback.html",
"chars": 2663,
"preview": "<!doctype html>\n<html lang=\"en\" class=\"feedback\">\n\t<head>\n\t\t<meta charset=\"UTF-8\" />\n\t\t<meta name=\"viewport\" content=\"wi"
},
{
"path": "examples/hello-mui/examples/grid-default.html",
"chars": 3060,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/grid-pagination.html",
"chars": 9190,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/guide.html",
"chars": 7141,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/icons-extra.html",
"chars": 5976,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/icons.html",
"chars": 7027,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/im-chat.html",
"chars": 20438,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/imageviewer-native.html",
"chars": 2481,
"preview": "<html>\n\n <head>\n <meta charset=\"utf-8\">\n <title>Hello MUI</title>\n <meta name=\"viewport\" content=\"width=device"
},
{
"path": "examples/hello-mui/examples/imageviewer.html",
"chars": 4600,
"preview": "<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"width=device-width,"
},
{
"path": "examples/hello-mui/examples/indexed-list-select.html",
"chars": 32357,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/indexed-list.html",
"chars": 22425,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/info.html",
"chars": 2972,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/input.html",
"chars": 3492,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/lazyload-image.html",
"chars": 2121,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/list-triplex-row.html",
"chars": 4367,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/list-with-input.html",
"chars": 2673,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/locker-dom.html",
"chars": 2268,
"preview": "<!doctype html>\n<html lang=\"en\">\n\n\t<head>\n\t\t<meta charset=\"UTF-8\">\n\t\t<title>手势锁屏示例</title>\n\t\t<meta name=\"viewport\" conte"
},
{
"path": "examples/hello-mui/examples/login.html",
"chars": 2003,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/media-list.html",
"chars": 6546,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/message-bottom.html",
"chars": 1955,
"preview": "<!doctype html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"UTF-8\">\n\t\t<title></title>\n\t\t<meta name=\"viewport\" content=\"width=device"
},
{
"path": "examples/hello-mui/examples/modals.html",
"chars": 1471,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/nav-nativeObj.html",
"chars": 975,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/nav.html",
"chars": 3931,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/nav_transparent.html",
"chars": 3197,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/nav_transparent_native.html",
"chars": 2966,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/numbox.html",
"chars": 4208,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>数字输入框</title>\n\t\t<meta name=\"viewport\" content=\"width=d"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-down.html",
"chars": 10014,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-left-plus-main.html",
"chars": 7424,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-left-plus-menu.html",
"chars": 2654,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"ini"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-left.html",
"chars": 7102,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-right-plus-main.html",
"chars": 6695,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-right-plus-menu.html",
"chars": 2743,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"ini"
},
{
"path": "examples/hello-mui/examples/offcanvas-drag-right.html",
"chars": 6909,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/pagination.html",
"chars": 5177,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/picker.html",
"chars": 4983,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/hello-mui/examples/popovers.html",
"chars": 6720,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/progressbar.html",
"chars": 5104,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/pullrefresh.html",
"chars": 2418,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/pullrefresh_main.html",
"chars": 1216,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title></title>\n\t\t<meta name=\"viewport\" content=\"width=device-"
},
{
"path": "examples/hello-mui/examples/pullrefresh_sub.html",
"chars": 2976,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/pullrefresh_with_tab.html",
"chars": 15658,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/radio.html",
"chars": 2671,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/range.html",
"chars": 2881,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/setting.html",
"chars": 26714,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/slider-default.html",
"chars": 2570,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/slider-native.html",
"chars": 1150,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/slider-table-default.html",
"chars": 2194,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/slider-table-pagination.html",
"chars": 3922,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/slider-with-title.html",
"chars": 2788,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/switches.html",
"chars": 2759,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"widt"
},
{
"path": "examples/hello-mui/examples/tab-top-subpage-1.html",
"chars": 3925,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-top-subpage-2.html",
"chars": 3944,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-top-subpage-3.html",
"chars": 1505,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-top-subpage-4.html",
"chars": 3801,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-top-subpage-5.html",
"chars": 3944,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-top-webview-main.html",
"chars": 4647,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-vertical-scroll.html",
"chars": 5849,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-webview-main.html",
"chars": 3353,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-webview-subpage-about.html",
"chars": 931,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"widt"
},
{
"path": "examples/hello-mui/examples/tab-webview-subpage-chat.html",
"chars": 4371,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-webview-subpage-contact.html",
"chars": 4163,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-webview-subpage-setting.html",
"chars": 1881,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-with-segmented-control-vertical.html",
"chars": 2618,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-with-segmented-control.html",
"chars": 5539,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tab-with-viewpagerindicator.html",
"chars": 6515,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tabbar-labels-only.html",
"chars": 1109,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tabbar-with-submenus.html",
"chars": 2212,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tabbar.html",
"chars": 8391,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tableviews-with-badges.html",
"chars": 2800,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tableviews-with-collapses.html",
"chars": 2923,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tableviews-with-swipe.html",
"chars": 5955,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/examples/tableviews.html",
"chars": 2063,
"preview": "<!DOCTYPE html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"widt"
},
{
"path": "examples/hello-mui/examples/typography.html",
"chars": 1068,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/hello-mui/index-menu.html",
"chars": 5894,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"ini"
},
{
"path": "examples/hello-mui/index.html",
"chars": 27526,
"preview": "<!DOCTYPE html>\r\n<html>\r\n\r\n\t<head>\r\n\t\t<meta charset=\"utf-8\">\r\n\t\t<title>Hello MUI</title>\r\n\t\t<meta name=\"viewport\" conten"
},
{
"path": "examples/hello-mui/js/95516.js",
"chars": 1329,
"preview": "(function() {\n\tvar headerElem = document.querySelector(\".header\");\n\tif (headerElem) {\n\t\tvar backElem = document.getEleme"
},
{
"path": "examples/hello-mui/js/arttmpl.js",
"chars": 4448,
"preview": "/*!art-template - Template Engine | http://aui.github.com/artTemplate/*/\n!function(){function a(a){return a.replace(t,\"\""
},
{
"path": "examples/hello-mui/js/beecloud.js",
"chars": 3535,
"preview": "var beecloud = {};\nvar channels = null;\nvar w = null;\n\nbeecloud.payReq = function(data, cbsuccess, cberror) {\n\tdoPay(dat"
},
{
"path": "examples/hello-mui/js/city.data-3.js",
"chars": 161291,
"preview": "var cityData3 = [{\n\tvalue: '110000',\n\ttext: '北京市',\n\tchildren: [{\n\t\tvalue: \"110100\",\n\t\ttext: \"北京市\",\n\t\tchildren: [{\n\t\t\tval"
},
{
"path": "examples/hello-mui/js/city.data.js",
"chars": 21055,
"preview": "var cityData = [{\n\tvalue: '110000',\n\ttext: '北京市',\n\tchildren: [{\n\t\tvalue: \"110101\",\n\t\ttext: \"东城区\"\n\t}, {\n\t\tvalue: \"110102\""
},
{
"path": "examples/hello-mui/js/feedback.js",
"chars": 6979,
"preview": "/*!\n * ======================================================\n * FeedBack Template For MUI (http://dev.dcloud.net.cn/mui"
},
{
"path": "examples/hello-mui/js/mui.dtpicker.js",
"chars": 14324,
"preview": "/**\n * 日期时间插件\n * varstion 1.0.5\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, document) {\n\n\t//创建 DOM\n\t$.dom = fun"
},
{
"path": "examples/hello-mui/js/mui.imageViewer.js",
"chars": 9066,
"preview": "/**\n * 图片预览组件\n * varstion 0.4.0\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, document) {\n\n\t$.init({\n\t\tgestureCon"
},
{
"path": "examples/hello-mui/js/mui.indexedlist.js",
"chars": 6356,
"preview": "/**\n * IndexedList\n * 类似联系人应用中的联系人列表,可以按首字母分组\n * 右侧的字母定位工具条,可以快速定位列表位置\n * varstion 1.0.0\n * by Houfeng\n * Houfeng@DCloud"
},
{
"path": "examples/hello-mui/js/mui.js",
"chars": 256182,
"preview": "/*!\n * =====================================================\n * Mui v3.7.3 (http://dev.dcloud.net.cn/mui)\n * ==========="
},
{
"path": "examples/hello-mui/js/mui.lazyload.img.js",
"chars": 3016,
"preview": "(function($, window, document) {\n\tvar ImageLazyload = $.Lazyload.extend({\n\t\tinit: function(element, options) {\n\t\t\tthis._"
},
{
"path": "examples/hello-mui/js/mui.lazyload.js",
"chars": 7825,
"preview": "(function($, window, document) {\n\tvar mid = 0;\n\t$.Lazyload = $.Class.extend({\n\t\tinit: function(element, options) {\n\t\t\tva"
},
{
"path": "examples/hello-mui/js/mui.listpicker.js",
"chars": 12048,
"preview": "/**\n * 选择列表插件\n * varstion 1.0.1\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, document) {\n\n\t//创建 DOM\n\t$.dom = fun"
},
{
"path": "examples/hello-mui/js/mui.locker.js",
"chars": 9586,
"preview": "/**\n * 手势锁屏插件\n * varstion 1.0.5\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, doc) {\n\n\tvar touchSupport = ('ontou"
},
{
"path": "examples/hello-mui/js/mui.picker.all.js",
"chars": 30153,
"preview": "/**\n * 选择列表插件\n * varstion 2.0.0\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, window, document, undefined) {\n\n\tva"
},
{
"path": "examples/hello-mui/js/mui.picker.js",
"chars": 11456,
"preview": "/**\n * 选择列表插件\n * varstion 2.0.0\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, window, document, undefined) {\n\n\tva"
},
{
"path": "examples/hello-mui/js/mui.poppicker.js",
"chars": 4454,
"preview": "/**\n * 弹出选择列表插件\n * 此组件依赖 listpcker ,请在页面中先引入 mui.picker.css + mui.picker.js\n * varstion 1.0.1\n * by Houfeng\n * Houfeng@D"
},
{
"path": "examples/hello-mui/js/mui.previewimage.js",
"chars": 13061,
"preview": "(function($, window) {\n\n\tvar template = '<div id=\"{{id}}\" class=\"mui-slider mui-preview-image mui-fullscreen\"><div class"
},
{
"path": "examples/hello-mui/js/mui.pullToRefresh.js",
"chars": 12437,
"preview": "(function($, window, document) {\n\tvar STATE_BEFORECHANGEOFFSET = 'beforeChangeOffset';\n\tvar STATE_AFTERCHANGEOFFSET = 'a"
},
{
"path": "examples/hello-mui/js/mui.pullToRefresh.material.js",
"chars": 12189,
"preview": "(function($) {\n\tvar CLASS_PULL_TOP_TIPS = $.className('pull-top-tips');\n\n\t$.PullToRefresh = $.PullToRefresh.extend({\n\t\ti"
},
{
"path": "examples/hello-mui/js/mui.view.js",
"chars": 20448,
"preview": "/**\n * <div id=\"app\" class=\"mui-views\">\n\t<div class=\"mui-view\">\n\t\t<div class=\"mui-navbar\">\n\t\t</div>\n\t\t<div class=\"mui-pa"
},
{
"path": "examples/hello-mui/js/mui.zoom.js",
"chars": 11711,
"preview": "(function($, window) {\n\tvar CLASS_ZOOM = $.className('zoom');\n\tvar CLASS_ZOOM_SCROLLER = $.className('zoom-scroller');\n\n"
},
{
"path": "examples/hello-mui/js/update.js",
"chars": 1057,
"preview": "/**\n * 5+ App客户端升级参考:http://ask.dcloud.net.cn/article/431\n * 服务端升级逻辑参考:https://ext.dcloud.net.cn/plugin?id=2226\n * \n * 检"
},
{
"path": "examples/hello-mui/js/webviewGroup.js",
"chars": 7604,
"preview": "var webviewGroup = function(id, options) {\n\tthis.id = id;\n\tthis.options = options;\n\tthis.styles = options.styles;\n\tthis."
},
{
"path": "examples/hello-mui/libs/echarts-all.js",
"chars": 897261,
"preview": "!function(e){var t,i;!function(){function e(e,t){if(!t)return e;if(0===e.indexOf(\".\")){var i=t.split(\"/\"),n=e.split(\"/\")"
},
{
"path": "examples/hello-mui/manifest.json",
"chars": 24870,
"preview": "{\n\t\"@platforms\": [\n\t\t\"android\",\n\t\t\"iPhone\",\n\t\t\"iPad\"\n\t],\n\t\"id\": \"hellomui\",/*必选,应用的标识*/\n\t\"name\": \"hellomui\",/*必选,应用名称*/\n"
},
{
"path": "examples/login/.project",
"chars": 487,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<projectDescription>\n\t<name>login</name>\n\t<comment></comment>\n\t<projects>\n\t</proj"
},
{
"path": "examples/login/README.md",
"chars": 392,
"preview": "## 简单概述\n这是带登录和设置功能的mui模板项目,主要为了演示登录流程及设置界面div窗口切换效果;\n\n## 核心功能\n1. 启动App后校验登录状态,若已登录,直接跳转应用首页;否则,显示登录页面;\n2. 支持本地注册;\n3. 支持设"
},
{
"path": "examples/login/css/feedback-page.css",
"chars": 1444,
"preview": ".feedback body {\n\tbackground-color: #EFEFF4;\n}\n.feedback input,\n.feedback textarea {\n\tborder: none !important;\n}\n.feedba"
},
{
"path": "examples/login/css/style.css",
"chars": 111,
"preview": ".ui-page-login,\nbody {\n\twidth: 100%;\n\theight: 100%;\n\tmargin: 0px;\n\tpadding: 0px;\n}\n.mui-content{height: 100%;}\n"
},
{
"path": "examples/login/forget_password.html",
"chars": 2165,
"preview": "<!DOCTYPE html>\n<html class=\"ui-page-login\">\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=de"
},
{
"path": "examples/login/js/app.js",
"chars": 3677,
"preview": "/**\n * 演示程序当前的 “注册/登录” 等操作,是基于 “本地存储” 完成的\n * 当您要参考这个演示程序进行相关 app 的开发时,\n * 请注意将相关方法调整成 “基于服务端Service” 的实现。\n **/\n(function"
},
{
"path": "examples/login/js/feedback-page.js",
"chars": 3058,
"preview": "(function(mui, window, document, undefined) {\n\tmui.init();\n\tvar get = function(id) {\n\t\treturn document.getElementById(id"
},
{
"path": "examples/login/js/feedback.js",
"chars": 2593,
"preview": "(function($, feedback, window, document) {\n\n\t/*************** 环信配置开始 ****************/\n\t//以后信息更改后,需卸载 “调试 app” 重新调用运行\n\tv"
},
{
"path": "examples/login/js/mui.enterfocus.js",
"chars": 574,
"preview": "(function($) {\n\t$.enterfocus = function(selector, callback) {\n\t\tvar boxArray = [].slice.call(document.querySelectorAll(s"
},
{
"path": "examples/login/js/mui.locker.js",
"chars": 9284,
"preview": "/**\n * 手势锁屏插件\n * varstion 1.0.5\n * by Houfeng\n * Houfeng@DCloud.io\n */\n\n(function($, doc) {\n\n\tvar touchSupport = ('ontou"
},
{
"path": "examples/login/js/mui.view.js",
"chars": 19945,
"preview": "/**\n * <div id=\"app\" class=\"mui-views\">\n\t<div class=\"mui-view\">\n\t\t<div class=\"mui-navbar\">\n\t\t</div>\n\t\t<div class=\"mui-pa"
},
{
"path": "examples/login/libs/easymob-webim-sdk/easemob.im-1.0.5.js",
"chars": 146181,
"preview": "if (typeof jQuery == 'undefined') {\r\n\talert(\"need jquery\");\r\n} if(typeof Strophe == 'undefined'){\r\n\talert(\"need Strophe\""
},
{
"path": "examples/login/libs/easymob-webim-sdk/jquery-1.11.1.js",
"chars": 293074,
"preview": "/*!\r\n * jQuery JavaScript Library v1.11.1\r\n * http://jquery.com/\r\n *\r\n * Includes Sizzle.js\r\n * http://sizzlejs.com/\r\n *"
},
{
"path": "examples/login/libs/easymob-webim-sdk/json2.js",
"chars": 18058,
"preview": "/*\r\n json2.js\r\n 2014-02-04\r\n\r\n Public Domain.\r\n\r\n NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK.\r\n\r"
},
{
"path": "examples/login/libs/easymob-webim-sdk/quickstart.md",
"chars": 21089,
"preview": "---\ntitle: WebIM 开发指南\nsidebar: webimsidebar\nsecondnavwebim: true\n---\n\n# 快速入门 \n\n## 初始化\n\n### 创建连接{#conn_new}\n<pre class=\""
},
{
"path": "examples/login/libs/easymob-webim-sdk/strophe-custom-2.0.0.js",
"chars": 178437,
"preview": "/* All of the Strophe globals are defined in this special function below so\r\n * that references to the globals become cl"
},
{
"path": "examples/login/login.html",
"chars": 8341,
"preview": "<!DOCTYPE html>\n<html class=\"ui-page-login\">\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=de"
},
{
"path": "examples/login/main.html",
"chars": 2511,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/login/manifest.json",
"chars": 9477,
"preview": "{\n\t\"@platforms\": [\n\t\t\"android\",\n\t\t\"iPhone\",\n\t\t\"iPad\"\n\t],\n\t\"id\": \"mui_template_login\",/*应用的标识,创建应用时自动生成,勿手动修改*/\n\t\"name\": "
},
{
"path": "examples/login/reg.html",
"chars": 3458,
"preview": "<!DOCTYPE html>\n<html class=\"ui-page-login\">\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=de"
},
{
"path": "examples/login/setting.html",
"chars": 14862,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/login/unlock.html",
"chars": 2981,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-sca"
},
{
"path": "examples/nativeTab/README.md",
"chars": 696,
"preview": "## tab选项卡示例教程-nativeObj原生模式tab(含底部凸起大图标)\n## 概述\n\n这是一个利用原生view控件绘制底部选项卡的示例,有以下几个特点:\n1.首页显示第一个tab项内容,其余tab项内容为首页的子窗口,相比创建四个"
},
{
"path": "examples/nativeTab/css/mui.css",
"chars": 96870,
"preview": "/*!\n * =====================================================\n * Mui v3.6.1 (http://dev.dcloud.net.cn/mui)\n * ==========="
},
{
"path": "examples/nativeTab/html/new-webview.html",
"chars": 673,
"preview": "<!DOCTYPE html>\r\n<html>\r\n\t<head>\r\n\t\t<meta charset=\"UTF-8\">\r\n\t\t<meta name=\"viewport\" content=\"width=device-width,initial-"
},
{
"path": "examples/nativeTab/html/tab-webview-subpage-chat.html",
"chars": 4573,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/nativeTab/html/tab-webview-subpage-contact.html",
"chars": 4164,
"preview": "<!DOCTYPE html>\n<html>\n\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<title>Hello MUI</title>\n\t\t<meta name=\"viewport\" content=\"wid"
},
{
"path": "examples/nativeTab/index.html",
"chars": 5206,
"preview": "<!DOCTYPE html>\r\n<html>\r\n\r\n\t<head>\r\n\t\t<meta charset=\"UTF-8\">\r\n\t\t<meta name=\"viewport\" content=\"width=device-width,initia"
},
{
"path": "examples/nativeTab/js/mui.js",
"chars": 250238,
"preview": "/*!\n * =====================================================\n * Mui v3.7.0 (http://dev.dcloud.net.cn/mui)\n * ==========="
},
{
"path": "examples/nativeTab/js/util.js",
"chars": 2698,
"preview": "var util = {\n\toptions: {\n\t\tACTIVE_COLOR: \"#007aff\",\n\t\tNORMAL_COLOR: \"#000\",\n\t\tsubpages: [\"html/tab-webview-subpage-chat."
},
{
"path": "examples/nativeTab/manifest.json",
"chars": 12083,
"preview": "{\n\t\"@platforms\": [\n\t\t\"android\",\n\t\t\"iPhone\",\n\t\t\"iPad\"\n\t],\n\t\"id\": \"mui_template_nativetab\",/*应用的标识,创建应用时自动生成,勿手动修改*/\n\t\"nam"
},
{
"path": "examples/nativeTab/unpackage/.confirmed_dependencies",
"chars": 1626,
"preview": "{\n \"index.html\": {\n \"resources\": [\n \"js/mui.min.js\",\n \"css/mui.min.css\",\n \"html/tab-webview-subpage-a"
},
{
"path": "examples/nativeTab/unpackage/.dependencies",
"chars": 4,
"preview": "null"
},
{
"path": "grunt/mui-namespace-generator.js",
"chars": 715,
"preview": "/*!\n * Mui Grunt task for namespace generation\n */\n\n/* jshint node: true */'use strict';\nvar fs = require('fs');\nmodule."
},
{
"path": "js/actions.js",
"chars": 648,
"preview": "/**\n * actions\n * @param {type} $\n * @param {type} name\n * @returns {undefined}\n */\n(function($, name) {\n\tvar CLASS_ACTI"
},
{
"path": "js/ajax.plugin.js",
"chars": 34,
"preview": "(function($) {\n //TODO\n})(mui);"
},
{
"path": "js/input.plugin.js",
"chars": 9004,
"preview": "/**\n * Input(TODO resize)\n * @param {type} $\n * @param {type} window\n * @param {type} document\n * @returns {undefined}\n "
},
{
"path": "js/modals.js",
"chars": 841,
"preview": "/**\n * Modals\n * @param {type} $\n * @param {type} window\n * @param {type} document\n * @param {type} name\n * @returns {un"
},
{
"path": "js/mui.active.js",
"chars": 853,
"preview": "/**\n * TODO mui active\n */\n(function(window) {\n\tvar active;\n\twindow.addEventListener($.EVENT_START, function(event) {\n\t\t"
},
{
"path": "js/mui.ajax.5+.js",
"chars": 1007,
"preview": "/**\n * 5+ ajax\n */\n(function($) {\n\tvar originAnchor = document.createElement('a');\n\toriginAnchor.href = window.location."
},
{
"path": "js/mui.ajax.js",
"chars": 9025,
"preview": "/**\n * mui ajax\n * @param {type} $\n * @returns {undefined}\n */\n(function($, window, undefined) {\n\n\tvar jsonType = 'appli"
},
{
"path": "js/mui.animation.js",
"chars": 809,
"preview": "/**\n * mui animation\n */\n(function($, window) {\n\t/**\n\t * scrollTo\n\t */\n\t$.scrollTo = function(scrollTop, duration, callb"
},
{
"path": "js/mui.animationframe.js",
"chars": 1152,
"preview": "/**\n * mui animationFrame\n */\n(function($, window) {\n\n\tvar rAF = window.requestAnimationFrame;\n\tvar cAF = window.cancelA"
},
{
"path": "js/mui.back.5+.js",
"chars": 3227,
"preview": "/**\n * mui back 5+\n * @param {type} $\n * @param {type} window\n * @returns {undefined}\n */\n(function($, window) {\n\tif ($."
},
{
"path": "js/mui.back.js",
"chars": 1031,
"preview": "/**\n * mui back\n * @param {type} $\n * @param {type} window\n * @returns {undefined}\n */\n(function($, window) {\n\t/**\n\t * r"
},
{
"path": "js/mui.button.js",
"chars": 3592,
"preview": "/**\n * Button\n * @param {type} $\n * @param {type} window\n * @param {type} document\n * @returns {undefined}\n */\n(function"
},
{
"path": "js/mui.class.js",
"chars": 940,
"preview": "(function($) {\n\tvar initializing = false,\n\t\tfnTest = /xyz/.test(function() {\n\t\t\txyz;\n\t\t}) ? /\\b_super\\b/ : /.*/;\n\n\tvar C"
},
{
"path": "js/mui.class.scroll.js",
"chars": 28724,
"preview": "(function($, window, document, undefined) {\n\tvar CLASS_SCROLL = $.className('scroll');\n\tvar CLASS_SCROLLBAR = $.classNam"
},
{
"path": "js/mui.class.scroll.pullrefresh.js",
"chars": 7482,
"preview": "(function($, window, document, undefined) {\n\n var CLASS_VISIBILITY = $.className('visibility');\n var CLASS_HIDDEN "
},
{
"path": "js/mui.class.scroll.slider.js",
"chars": 12562,
"preview": "/**\n * snap 重构\n * @param {Object} $\n * @param {Object} window\n */\n(function($, window) {\n\tvar CLASS_SLIDER = $.className"
},
{
"path": "js/mui.detect.5+.js",
"chars": 548,
"preview": "/**\n * $.os.plus\n * @param {type} $\n * @returns {undefined}\n */\n(function($, document) {\n\tfunction detect(ua) {\n\t\tthis.o"
},
{
"path": "js/mui.detect.js",
"chars": 1213,
"preview": "/**\n * $.os\n * @param {type} $\n * @returns {undefined}\n */\n(function($, window) {\n\tfunction detect(ua) {\n\t\tthis.os = {};"
},
{
"path": "js/mui.dialog.alert.js",
"chars": 573,
"preview": "(function($, window) {\n\t/**\n\t * 警告消息框\n\t */\n\t$.alert = function(message, title, btnValue, callback) {\n\t\tif ($.os.plus) {\n"
},
{
"path": "js/mui.dialog.confirm.js",
"chars": 681,
"preview": "(function($, window) {\n\t/**\n\t * 确认消息框\n\t */\n\t$.confirm = function(message, title, btnArray, callback) {\n\t\tif ($.os.plus) "
},
{
"path": "js/mui.dialog.prompt.js",
"chars": 914,
"preview": "(function($, window) {\n\t/**\n\t * 输入对话框\n\t */\n\t$.prompt = function(text, defaultText, title, btnArray, callback) {\n\t\tif ($."
},
{
"path": "js/mui.dialog.toast.js",
"chars": 1583,
"preview": "(function($, window) {\n\tvar CLASS_ACTIVE = $.className('active');\n\t/**\n\t * 自动消失提示框\n\t */\n\t$.toast = function(message,opti"
},
{
"path": "js/mui.event.js",
"chars": 6657,
"preview": "/**\n * 仅提供简单的on,off(仅支持事件委托,不支持当前元素绑定,当前元素绑定请直接使用addEventListener,removeEventListener)\n * @param {Object} $\n */\n(functio"
},
{
"path": "js/mui.fixed.animation.js",
"chars": 697,
"preview": "/**\n * mui fixed requestAnimationFrame\n * @param {type} window\n * @returns {undefined}\n */\n(function(window) {\n\tif (!win"
},
{
"path": "js/mui.fixed.bind.js",
"chars": 1183,
"preview": "/*\n\tA shim for non ES5 supporting browsers.\n\tAdds function bind to Function prototype, so that you can do partial applic"
},
{
"path": "js/mui.fixed.classlist.js",
"chars": 1792,
"preview": "/**\n * mui fixed classList\n * @param {type} document\n * @returns {undefined}\n */\n(function(document) {\n if (!(\"classL"
},
{
"path": "js/mui.fixed.fastclick.js",
"chars": 2029,
"preview": "/**\n * fastclick(only for radio,checkbox)\n */\n(function($, window, name) {\n\tif (!$.os.android && !$.os.ios) { //目前仅识别and"
},
{
"path": "js/mui.fixed.js",
"chars": 943,
"preview": "/**\n * fixed trim\n * @param {type} undefined\n * @returns {undefined}\n */\n(function(undefined) {\n\tif (String.prototype.tr"
}
]
// ... and 81 more files (download for full content)
About this extraction
This page contains the full source code of the dcloudio/mui GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 281 files (3.9 MB), approximately 1.0M tokens, and a symbol index with 550 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.