mui_app_rails 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Rakefile +34 -0
- data/app/assets/fonts/mui.ttf +0 -0
- data/app/assets/javascripts/mui_app_rails/actions.js +26 -0
- data/app/assets/javascripts/mui_app_rails/ajax.plugin.js +3 -0
- data/app/assets/javascripts/mui_app_rails/input.plugin.js +232 -0
- data/app/assets/javascripts/mui_app_rails/modals.js +37 -0
- data/app/assets/javascripts/mui_app_rails/mui.active.js +30 -0
- data/app/assets/javascripts/mui_app_rails/mui.ajax.5+.js +27 -0
- data/app/assets/javascripts/mui_app_rails/mui.ajax.js +277 -0
- data/app/assets/javascripts/mui_app_rails/mui.animation.js +39 -0
- data/app/assets/javascripts/mui_app_rails/mui.animationframe.js +72 -0
- data/app/assets/javascripts/mui_app_rails/mui.back.5+.js +108 -0
- data/app/assets/javascripts/mui_app_rails/mui.back.js +56 -0
- data/app/assets/javascripts/mui_app_rails/mui.class.js +40 -0
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.js +894 -0
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.pullrefresh.js +150 -0
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.slider.js +361 -0
- data/app/assets/javascripts/mui_app_rails/mui.class.scroll.slider.old.js +332 -0
- data/app/assets/javascripts/mui_app_rails/mui.detect.5+.js +18 -0
- data/app/assets/javascripts/mui_app_rails/mui.detect.js +50 -0
- data/app/assets/javascripts/mui_app_rails/mui.dialog.alert.js +27 -0
- data/app/assets/javascripts/mui_app_rails/mui.dialog.confirm.js +27 -0
- data/app/assets/javascripts/mui_app_rails/mui.dialog.prompt.js +33 -0
- data/app/assets/javascripts/mui_app_rails/mui.dialog.toast.js +20 -0
- data/app/assets/javascripts/mui_app_rails/mui.event.js +160 -0
- data/app/assets/javascripts/mui_app_rails/mui.fixed.animation.js +22 -0
- data/app/assets/javascripts/mui_app_rails/mui.fixed.classlist.js +50 -0
- data/app/assets/javascripts/mui_app_rails/mui.fixed.fastclick.js +64 -0
- data/app/assets/javascripts/mui_app_rails/mui.fixed.js +40 -0
- data/app/assets/javascripts/mui_app_rails/mui.fixed.keyboard.js +56 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.drag.js +48 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.flick.js +30 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.hold.js +41 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.js +207 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.longtap.js +43 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.swipe.js +29 -0
- data/app/assets/javascripts/mui_app_rails/mui.gestures.tap.js +40 -0
- data/app/assets/javascripts/mui_app_rails/mui.init.5+.js +441 -0
- data/app/assets/javascripts/mui_app_rails/mui.init.js +100 -0
- data/app/assets/javascripts/mui_app_rails/mui.init.pullrefresh.js +57 -0
- data/app/assets/javascripts/mui_app_rails/mui.js +396 -0
- data/app/assets/javascripts/mui_app_rails/mui.jsonp.js +108 -0
- data/app/assets/javascripts/mui_app_rails/mui.layout.js +22 -0
- data/app/assets/javascripts/mui_app_rails/mui.namespace.js +35 -0
- data/app/assets/javascripts/mui_app_rails/mui.number.js +93 -0
- data/app/assets/javascripts/mui_app_rails/mui.offcanvas.js +497 -0
- data/app/assets/javascripts/mui_app_rails/mui.pullrefresh.js +157 -0
- data/app/assets/javascripts/mui_app_rails/mui.target.js +58 -0
- data/app/assets/javascripts/mui_app_rails/mui.view.js +172 -0
- data/app/assets/javascripts/mui_app_rails/popovers.js +278 -0
- data/app/assets/javascripts/mui_app_rails/pullrefresh.5+.js +238 -0
- data/app/assets/javascripts/mui_app_rails/push.js +479 -0
- data/app/assets/javascripts/mui_app_rails/segmented-controllers.js +99 -0
- data/app/assets/javascripts/mui_app_rails/sliders.js +362 -0
- data/app/assets/javascripts/mui_app_rails/switches.js +165 -0
- data/app/assets/javascripts/mui_app_rails/tableviews.js +512 -0
- data/app/assets/javascripts/mui_app_rails.js +1 -0
- data/app/assets/stylesheets/mui_app_rails/badges.scss +88 -0
- data/app/assets/stylesheets/mui_app_rails/bars.scss +312 -0
- data/app/assets/stylesheets/mui_app_rails/base.scss +196 -0
- data/app/assets/stylesheets/mui_app_rails/buttons.scss +205 -0
- data/app/assets/stylesheets/mui_app_rails/cards.scss +62 -0
- data/app/assets/stylesheets/mui_app_rails/forms.scss +452 -0
- data/app/assets/stylesheets/mui_app_rails/fullscreen.scss +35 -0
- data/app/assets/stylesheets/mui_app_rails/grid.scss +75 -0
- data/app/assets/stylesheets/mui_app_rails/hack.scss +14 -0
- data/app/assets/stylesheets/mui_app_rails/icon.scss +170 -0
- data/app/assets/stylesheets/mui_app_rails/iscroll.scss +43 -0
- data/app/assets/stylesheets/mui_app_rails/loadings.scss +111 -0
- data/app/assets/stylesheets/mui_app_rails/mixins.scss +212 -0
- data/app/assets/stylesheets/mui_app_rails/modals.scss +34 -0
- data/app/assets/stylesheets/mui_app_rails/mui.scss +46 -0
- data/app/assets/stylesheets/mui_app_rails/normalize.scss +425 -0
- data/app/assets/stylesheets/mui_app_rails/number.scss +70 -0
- data/app/assets/stylesheets/mui_app_rails/off-canvas.scss +84 -0
- data/app/assets/stylesheets/mui_app_rails/os.scss +12 -0
- data/app/assets/stylesheets/mui_app_rails/pagination.scss +155 -0
- data/app/assets/stylesheets/mui_app_rails/popovers.scss +198 -0
- data/app/assets/stylesheets/mui_app_rails/pullrefreshs.scss +98 -0
- data/app/assets/stylesheets/mui_app_rails/push.scss +63 -0
- data/app/assets/stylesheets/mui_app_rails/scroll.scss +95 -0
- data/app/assets/stylesheets/mui_app_rails/segmented-controls.scss +150 -0
- data/app/assets/stylesheets/mui_app_rails/slider-cell.scss +20 -0
- data/app/assets/stylesheets/mui_app_rails/sliders.scss +133 -0
- data/app/assets/stylesheets/mui_app_rails/switches.scss +115 -0
- data/app/assets/stylesheets/mui_app_rails/table-views.scss +482 -0
- data/app/assets/stylesheets/mui_app_rails/toast.scss +16 -0
- data/app/assets/stylesheets/mui_app_rails/type.scss +23 -0
- data/app/assets/stylesheets/mui_app_rails/variables.scss +64 -0
- data/app/assets/stylesheets/mui_app_rails.css +3 -0
- data/lib/mui_app_rails/engine.rb +5 -0
- data/lib/mui_app_rails/version.rb +3 -0
- data/lib/mui_app_rails.rb +5 -0
- metadata +179 -0
@@ -0,0 +1,170 @@
|
|
1
|
+
//
|
2
|
+
// Muiicons
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
@font-face {
|
6
|
+
font-family: Muiicons;
|
7
|
+
font-weight: normal;
|
8
|
+
font-style: normal;
|
9
|
+
src: url('../fonts/mui.ttf') format('truetype');
|
10
|
+
}
|
11
|
+
|
12
|
+
.#{$namespace}icon {
|
13
|
+
display: inline-block;
|
14
|
+
font-family: Muiicons;
|
15
|
+
font-weight: normal;
|
16
|
+
font-style: normal;
|
17
|
+
font-size: 24px;
|
18
|
+
line-height: 1;
|
19
|
+
text-decoration: none;
|
20
|
+
-webkit-font-smoothing: antialiased;
|
21
|
+
|
22
|
+
&.#{$namespace}right{
|
23
|
+
&:before{
|
24
|
+
float:right;
|
25
|
+
padding-left: 0.2em;
|
26
|
+
}
|
27
|
+
}
|
28
|
+
}
|
29
|
+
|
30
|
+
|
31
|
+
// 通讯录
|
32
|
+
// 空心部分
|
33
|
+
.#{$namespace}icon-contact:before { content: "\e100"; }
|
34
|
+
.#{$namespace}icon-person:before { content: "\e101"; }
|
35
|
+
.#{$namespace}icon-personadd:before { content: "\e102"; }
|
36
|
+
|
37
|
+
// 实心部分
|
38
|
+
.#{$namespace}icon-contact-filled:before { content: "\e130"; }
|
39
|
+
.#{$namespace}icon-person-filled:before { content: "\e131"; }
|
40
|
+
.#{$namespace}icon-personadd-filled:before { content: "\e132"; }
|
41
|
+
|
42
|
+
|
43
|
+
// 通讯功能
|
44
|
+
// 空心部分
|
45
|
+
.#{$namespace}icon-phone:before { content: "\e200"; }
|
46
|
+
.#{$namespace}icon-email:before { content: "\e201"; }
|
47
|
+
.#{$namespace}icon-chatbubble:before { content: "\e202"; }
|
48
|
+
.#{$namespace}icon-chatboxes:before { content: "\e203"; }
|
49
|
+
|
50
|
+
// 实心部分
|
51
|
+
.#{$namespace}icon-phone-filled:before { content: "\e230"; }
|
52
|
+
.#{$namespace}icon-email-filled:before { content: "\e231"; }
|
53
|
+
.#{$namespace}icon-chatbubble-filled:before { content: "\e232"; }
|
54
|
+
.#{$namespace}icon-chatboxes-filled:before { content: "\e233"; }
|
55
|
+
// 通讯功能补充类
|
56
|
+
.#{$namespace}icon-weibo:before { content: "\e260"; }
|
57
|
+
.#{$namespace}icon-weixin:before { content: "\e261"; }
|
58
|
+
.#{$namespace}icon-pengyouquan:before { content: "\e262"; }
|
59
|
+
.#{$namespace}icon-chat:before { content: "\e263"; }
|
60
|
+
|
61
|
+
|
62
|
+
// 设备类
|
63
|
+
// 空心部分
|
64
|
+
.#{$namespace}icon-videocam:before { content: "\e300"; }
|
65
|
+
.#{$namespace}icon-camera:before { content: "\e301"; }
|
66
|
+
.#{$namespace}icon-mic:before { content: "\e302"; }
|
67
|
+
.#{$namespace}icon-location:before { content: "\e303"; }
|
68
|
+
|
69
|
+
// 实心部分
|
70
|
+
.#{$namespace}icon-mic-filled:before,.#{$namespace}icon-speech:before { content: "\e332"; }
|
71
|
+
.#{$namespace}icon-location-filled:before { content: "\e333"; }
|
72
|
+
|
73
|
+
// 设备补充类
|
74
|
+
.#{$namespace}icon-micoff:before { content: "\e360"; }
|
75
|
+
// .#{$namespace}icon-volumehigh:before { content: "\e361"; }
|
76
|
+
// .#{$namespace}icon-volumelow:before { content: "\e362"; }
|
77
|
+
.#{$namespace}icon-image:before { content: "\e363"; }
|
78
|
+
.#{$namespace}icon-map:before { content: "\e364"; }
|
79
|
+
|
80
|
+
|
81
|
+
// 操作标志类
|
82
|
+
// 空心部分
|
83
|
+
.#{$namespace}icon-compose:before { content: "\e400"; }
|
84
|
+
.#{$namespace}icon-trash:before { content: "\e401"; }
|
85
|
+
.#{$namespace}icon-upload:before { content: "\e402"; }
|
86
|
+
.#{$namespace}icon-download:before { content: "\e403"; }
|
87
|
+
.#{$namespace}icon-close:before { content: "\e404"; }
|
88
|
+
.#{$namespace}icon-redo:before { content: "\e405"; }
|
89
|
+
.#{$namespace}icon-undo:before { content: "\e406"; }
|
90
|
+
.#{$namespace}icon-refresh:before { content: "\e407"; }
|
91
|
+
.#{$namespace}icon-star:before { content: "\e408"; }
|
92
|
+
.#{$namespace}icon-plus:before { content: "\e409"; }
|
93
|
+
.#{$namespace}icon-minus:before { content: "\e410"; }
|
94
|
+
.#{$namespace}icon-circle:before,.#{$namespace}icon-checkbox:before { content: "\e411"; }
|
95
|
+
|
96
|
+
// 实心部分
|
97
|
+
.#{$namespace}icon-close-filled:before,.#{$namespace}icon-clear:before { content: "\e434"; }
|
98
|
+
.#{$namespace}icon-refresh-filled:before { content: "\e437"; }
|
99
|
+
.#{$namespace}icon-star-filled:before { content: "\e438"; }
|
100
|
+
.#{$namespace}icon-plus-filled:before { content: "\e439"; }
|
101
|
+
.#{$namespace}icon-minus-filled:before { content: "\e440"; }
|
102
|
+
.#{$namespace}icon-circle-filled:before { content: "\e441"; }
|
103
|
+
.#{$namespace}icon-checkbox-filled:before { content: "\e442"; }
|
104
|
+
|
105
|
+
|
106
|
+
// 操作标志补充类
|
107
|
+
.#{$namespace}icon-closeempty:before { content: "\e460"; }
|
108
|
+
.#{$namespace}icon-refreshempty:before { content: "\e461"; }
|
109
|
+
.#{$namespace}icon-reload:before { content: "\e462"; }
|
110
|
+
.#{$namespace}icon-starhalf:before { content: "\e463"; }
|
111
|
+
.#{$namespace}icon-spinner:before { content: "\e464"; }
|
112
|
+
.#{$namespace}icon-spinner-cycle:before { content: "\e465"; }
|
113
|
+
.#{$namespace}icon-search:before { content: "\e466"; }
|
114
|
+
// .#{$namespace}icon-searchstrong:before { content: "\e467"; }
|
115
|
+
.#{$namespace}icon-plusempty:before { content: "\e468"; }
|
116
|
+
|
117
|
+
.#{$namespace}icon-forward:before { content: "\e470"; }
|
118
|
+
.#{$namespace}icon-back:before,.#{$namespace}icon-left-nav:before { content: "\e471"; }
|
119
|
+
.#{$namespace}icon-checkmarkempty:before { content: "\e472"; }
|
120
|
+
// .#{$namespace}icon-share:before { content: "\e473"; }
|
121
|
+
|
122
|
+
|
123
|
+
// 拟物标志类
|
124
|
+
// 空心部分
|
125
|
+
.#{$namespace}icon-home:before { content: "\e500"; }
|
126
|
+
.#{$namespace}icon-navigate:before { content: "\e501"; }
|
127
|
+
.#{$namespace}icon-gear:before { content: "\e502"; }
|
128
|
+
.#{$namespace}icon-paperplane:before { content: "\e503"; }
|
129
|
+
.#{$namespace}icon-info:before { content: "\e504"; }
|
130
|
+
.#{$namespace}icon-help:before { content: "\e505"; }
|
131
|
+
.#{$namespace}icon-locked:before { content: "\e506"; }
|
132
|
+
.#{$namespace}icon-more:before { content: "\e507"; }
|
133
|
+
.#{$namespace}icon-flag:before { content: "\e508"; }
|
134
|
+
|
135
|
+
// 实心部分
|
136
|
+
.#{$namespace}icon-home-filled:before { content: "\e530"; }
|
137
|
+
.#{$namespace}icon-gear-filled:before { content: "\e532"; }
|
138
|
+
.#{$namespace}icon-info-filled:before { content: "\e534"; }
|
139
|
+
.#{$namespace}icon-help-filled:before { content: "\e535"; }
|
140
|
+
.#{$namespace}icon-more-filled:before { content: "\e537"; }
|
141
|
+
|
142
|
+
// 拟物标志补充类
|
143
|
+
.#{$namespace}icon-settings:before { content: "\e560"; }
|
144
|
+
// .#{$namespace}icon-settingsstrong:before { content: "\e561"; }
|
145
|
+
.#{$namespace}icon-list:before { content: "\e562"; }
|
146
|
+
.#{$namespace}icon-bars:before { content: "\e563"; }
|
147
|
+
// .#{$namespace}icon-more-vertical:before { content: "\e564"; }
|
148
|
+
.#{$namespace}icon-loop:before { content: "\e565"; }
|
149
|
+
// .#{$namespace}icon-loopstrong:before { content: "\e566"; }
|
150
|
+
.#{$namespace}icon-paperclip:before { content: "\e567"; }
|
151
|
+
|
152
|
+
// 箭头
|
153
|
+
.#{$namespace}icon-arrowup:before { content: "\e580"; }
|
154
|
+
.#{$namespace}icon-arrowdown:before { content: "\e581"; }
|
155
|
+
.#{$namespace}icon-arrowleft:before { content: "\e582"; }
|
156
|
+
.#{$namespace}icon-arrowright:before { content: "\e583"; }
|
157
|
+
|
158
|
+
.#{$namespace}icon-arrowthinup:before { content: "\e584"; }
|
159
|
+
.#{$namespace}icon-arrowthindown:before { content: "\e585"; }
|
160
|
+
.#{$namespace}icon-arrowthinleft:before { content: "\e586"; }
|
161
|
+
.#{$namespace}icon-arrowthinright:before { content: "\e587"; }
|
162
|
+
|
163
|
+
.#{$namespace}icon-pulldown:before { content: "\e588"; }
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
|
@@ -0,0 +1,43 @@
|
|
1
|
+
.#{$namespace}iscroll-wrapper{
|
2
|
+
position: absolute;
|
3
|
+
z-index: z("default");
|
4
|
+
top: 0;
|
5
|
+
left: 0;
|
6
|
+
bottom: 0;
|
7
|
+
width: 100%;
|
8
|
+
overflow: hidden;
|
9
|
+
}
|
10
|
+
.#{$namespace}bar-nav ~ .#{$namespace}iscroll-wrapper {
|
11
|
+
top: $bar-base-height;
|
12
|
+
padding:0;
|
13
|
+
}
|
14
|
+
.#{$namespace}bar-header-secondary ~ .#{$namespace}iscroll-wrapper {
|
15
|
+
top: ($bar-base-height*2);
|
16
|
+
}
|
17
|
+
.#{$namespace}bar-footer ~ .#{$namespace}iscroll-wrapper {
|
18
|
+
bottom: $bar-base-height;
|
19
|
+
padding:0;
|
20
|
+
}
|
21
|
+
.#{$namespace}bar-footer-secondary ~ .#{$namespace}iscroll-wrapper {
|
22
|
+
bottom: ($bar-base-height*2);
|
23
|
+
}
|
24
|
+
.#{$namespace}bar-tab ~ .#{$namespace}iscroll-wrapper{
|
25
|
+
bottom: $bar-tab-height;
|
26
|
+
padding:0;
|
27
|
+
}
|
28
|
+
.#{$namespace}bar-footer-secondary-tab ~ .#{$namespace}iscroll-wrapper{
|
29
|
+
bottom: ($bar-tab-height+$bar-base-height);
|
30
|
+
}
|
31
|
+
|
32
|
+
.#{$namespace}iscroll{
|
33
|
+
position: absolute;
|
34
|
+
z-index: z("default");
|
35
|
+
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
36
|
+
width: 100%;
|
37
|
+
-webkit-transform: translateZ(0);
|
38
|
+
transform: translateZ(0);
|
39
|
+
-webkit-touch-callout: none;
|
40
|
+
-webkit-user-select: none;
|
41
|
+
-webkit-text-size-adjust: none;
|
42
|
+
text-size-adjust: none;
|
43
|
+
}
|
@@ -0,0 +1,111 @@
|
|
1
|
+
.#{$namespace}loading{
|
2
|
+
.#{$namespace}spinner{
|
3
|
+
margin: 0 auto;
|
4
|
+
display: block;
|
5
|
+
}
|
6
|
+
}
|
7
|
+
.#{$namespace}spinner {
|
8
|
+
display: inline-block;
|
9
|
+
width: 24px;
|
10
|
+
height: 24px;
|
11
|
+
-webkit-transform-origin: 50%;
|
12
|
+
transform-origin: 50%;
|
13
|
+
-webkit-animation: spinner-spin 1s step-end infinite;
|
14
|
+
animation: spinner-spin 1s step-end infinite;
|
15
|
+
}
|
16
|
+
.#{$namespace}spinner:after {
|
17
|
+
display: block;
|
18
|
+
content: "";
|
19
|
+
width: 100%;
|
20
|
+
height: 100%;
|
21
|
+
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>");
|
22
|
+
background-position: 50%;
|
23
|
+
background-size: 100%;
|
24
|
+
background-repeat: no-repeat;
|
25
|
+
}
|
26
|
+
.#{$namespace}spinner-white:after {
|
27
|
+
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>");
|
28
|
+
}
|
29
|
+
@-webkit-keyframes spinner-spin {
|
30
|
+
0% {
|
31
|
+
-webkit-transform: rotate(0deg);
|
32
|
+
}
|
33
|
+
8.33333333% {
|
34
|
+
-webkit-transform: rotate(30deg);
|
35
|
+
}
|
36
|
+
16.66666667% {
|
37
|
+
-webkit-transform: rotate(60deg);
|
38
|
+
}
|
39
|
+
25% {
|
40
|
+
-webkit-transform: rotate(90deg);
|
41
|
+
}
|
42
|
+
33.33333333% {
|
43
|
+
-webkit-transform: rotate(120deg);
|
44
|
+
}
|
45
|
+
41.66666667% {
|
46
|
+
-webkit-transform: rotate(150deg);
|
47
|
+
}
|
48
|
+
50% {
|
49
|
+
-webkit-transform: rotate(180deg);
|
50
|
+
}
|
51
|
+
58.33333333% {
|
52
|
+
-webkit-transform: rotate(210deg);
|
53
|
+
}
|
54
|
+
66.66666667% {
|
55
|
+
-webkit-transform: rotate(240deg);
|
56
|
+
}
|
57
|
+
75% {
|
58
|
+
-webkit-transform: rotate(270deg);
|
59
|
+
}
|
60
|
+
83.33333333% {
|
61
|
+
-webkit-transform: rotate(300deg);
|
62
|
+
}
|
63
|
+
91.66666667% {
|
64
|
+
-webkit-transform: rotate(330deg);
|
65
|
+
}
|
66
|
+
100% {
|
67
|
+
-webkit-transform: rotate(360deg);
|
68
|
+
}
|
69
|
+
}
|
70
|
+
@keyframes spinner-spin {
|
71
|
+
0% {
|
72
|
+
transform: rotate(0deg);
|
73
|
+
}
|
74
|
+
8.33333333% {
|
75
|
+
transform: rotate(30deg);
|
76
|
+
}
|
77
|
+
16.66666667% {
|
78
|
+
transform: rotate(60deg);
|
79
|
+
}
|
80
|
+
25% {
|
81
|
+
transform: rotate(90deg);
|
82
|
+
}
|
83
|
+
33.33333333% {
|
84
|
+
transform: rotate(120deg);
|
85
|
+
}
|
86
|
+
41.66666667% {
|
87
|
+
transform: rotate(150deg);
|
88
|
+
}
|
89
|
+
50% {
|
90
|
+
transform: rotate(180deg);
|
91
|
+
}
|
92
|
+
58.33333333% {
|
93
|
+
transform: rotate(210deg);
|
94
|
+
}
|
95
|
+
66.66666667% {
|
96
|
+
transform: rotate(240deg);
|
97
|
+
}
|
98
|
+
75% {
|
99
|
+
transform: rotate(270deg);
|
100
|
+
}
|
101
|
+
83.33333333% {
|
102
|
+
transform: rotate(300deg);
|
103
|
+
}
|
104
|
+
91.66666667% {
|
105
|
+
transform: rotate(330deg);
|
106
|
+
}
|
107
|
+
100% {
|
108
|
+
transform: rotate(360deg);
|
109
|
+
}
|
110
|
+
}
|
111
|
+
|
@@ -0,0 +1,212 @@
|
|
1
|
+
//
|
2
|
+
// Mixins
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
// General
|
6
|
+
// --------------------------------------------------
|
7
|
+
|
8
|
+
// Utilities
|
9
|
+
// -------------------------
|
10
|
+
$z-layers: (
|
11
|
+
"default": 1,
|
12
|
+
"below": -1,
|
13
|
+
"max": 10000,
|
14
|
+
"bar": (
|
15
|
+
"bar": 10,
|
16
|
+
"btn": 20,
|
17
|
+
"icon": 20
|
18
|
+
),
|
19
|
+
"backdrop": 998,
|
20
|
+
"modal": 999,
|
21
|
+
"popover":(
|
22
|
+
"popover": 999,
|
23
|
+
"arrow": 1000,
|
24
|
+
),
|
25
|
+
"scroll": (
|
26
|
+
"scrollbar": 9998,
|
27
|
+
),
|
28
|
+
"toast": 9999,
|
29
|
+
);
|
30
|
+
@function map-has-nested-keys($map, $keys...) {
|
31
|
+
@each $key in $keys {
|
32
|
+
@if not map-has-key($map, $key) {
|
33
|
+
@return false;
|
34
|
+
}
|
35
|
+
$map: map-get($map, $key);
|
36
|
+
}
|
37
|
+
|
38
|
+
@return true;
|
39
|
+
}
|
40
|
+
|
41
|
+
@function map-deep-get($map, $keys...) {
|
42
|
+
@each $key in $keys {
|
43
|
+
$map: map-get($map, $key);
|
44
|
+
}
|
45
|
+
|
46
|
+
@return $map;
|
47
|
+
}
|
48
|
+
|
49
|
+
@function z($layers...) {
|
50
|
+
@if not map-has-nested-keys($z-layers, $layers...) {
|
51
|
+
@warn "No layer found for `#{inspect($layers...)}` in $z-layers map. Property omitted.";
|
52
|
+
}
|
53
|
+
|
54
|
+
@return map-deep-get($z-layers, $layers...);
|
55
|
+
}
|
56
|
+
// Clearfix
|
57
|
+
// Source: http://nicolasgallagher.com/micro-clearfix-hack/
|
58
|
+
//
|
59
|
+
// For modern browsers
|
60
|
+
// 1. The space content is one way to avoid an Opera bug when the
|
61
|
+
// contenteditable attribute is included anywhere else in the document.
|
62
|
+
// Otherwise it causes space to appear at the top and bottom of elements
|
63
|
+
// that are clearfixed.
|
64
|
+
// 2. The use of `table` rather than `block` is only necessary if using
|
65
|
+
// `:before` to contain the top-margins of child elements.
|
66
|
+
@mixin clearfix() {
|
67
|
+
&:before,
|
68
|
+
&:after {
|
69
|
+
display: table; // 2
|
70
|
+
content: " "; // 1
|
71
|
+
}
|
72
|
+
&:after {
|
73
|
+
clear: both;
|
74
|
+
}
|
75
|
+
}
|
76
|
+
|
77
|
+
// Box shadow
|
78
|
+
@mixin box-shadow($shadow...) {
|
79
|
+
-webkit-box-shadow: $shadow;
|
80
|
+
box-shadow: $shadow;
|
81
|
+
}
|
82
|
+
|
83
|
+
// Gradients
|
84
|
+
@mixin linear-gradient($color-from, $color-to) {
|
85
|
+
background-color: $color-from; // Old browsers
|
86
|
+
background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,$color-from), color-stop(100%,$color-to)); // Chrome, Safari4+
|
87
|
+
background-image: -webkit-linear-gradient(top, $color-from 0%, $color-to 100%); // Chrome10+, Safari5.1+
|
88
|
+
// background-image: -moz-linear-gradient(top, $color-from 0%, $color-to 100%); // FF3.6+
|
89
|
+
// background-image: -ms-linear-gradient(top, $color-from 0%, $color-to 100%); // IE10+
|
90
|
+
//background-image: -o-linear-gradient(top, $color-from 0%, $color-to 100%); // Opera 11.10+
|
91
|
+
background-image: linear-gradient(to bottom, $color-from 0%, $color-to 100%); // W3C
|
92
|
+
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$color-from}', endColorstr='#{$color-to}', GradientType=0 ); // IE6-9
|
93
|
+
}
|
94
|
+
@mixin directional-gradient($color-from, $color-to, $deg: 45deg) {
|
95
|
+
background-color: $color-from; // Old browsers
|
96
|
+
background-image: -webkit-gradient(linear, left bottom, right top, color-stop(0%,$color-from), color-stop(100%,$color-to)); // Chrome, Safari4+
|
97
|
+
background-image: -webkit-linear-gradient(45deg, $color-from 0%, $color-to 100%); // Chrome10+, Safari5.1+
|
98
|
+
// background-image: -moz-linear-gradient(45deg, $color-from 0%, $color-to 100%); // FF3.6+
|
99
|
+
// background-image: -ms-linear-gradient(45deg, $color-from 0%, $color-to 100%); // IE10+
|
100
|
+
//background-image: -o-linear-gradient(45deg, $color-from 0%, $color-to 100%); // Opera 11.10+
|
101
|
+
background-image: linear-gradient(45deg, $color-from 0%, $color-to 100%); // W3C
|
102
|
+
// filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#{$color-from}', endColorstr='#{$color-to}', GradientType=1 ); // IE6-9
|
103
|
+
}
|
104
|
+
|
105
|
+
|
106
|
+
// Transforms
|
107
|
+
// --------------------------------------------------
|
108
|
+
@mixin transform($transform...) {
|
109
|
+
-webkit-transform: $transform;
|
110
|
+
// -ms-transform: $transform;
|
111
|
+
transform: $transform;
|
112
|
+
}
|
113
|
+
|
114
|
+
|
115
|
+
// Transitions
|
116
|
+
// --------------------------------------------------
|
117
|
+
@mixin transition($transition...) {
|
118
|
+
-webkit-transition: $transition;
|
119
|
+
// -moz-transition: $transition;
|
120
|
+
transition: $transition;
|
121
|
+
}
|
122
|
+
@mixin transition-property($property...) {
|
123
|
+
-webkit-transition-property: $property;
|
124
|
+
// -moz-transition-property: $property;
|
125
|
+
transition-property: $property;
|
126
|
+
}
|
127
|
+
@mixin transition-duration($duration...) {
|
128
|
+
-webkit-transition-duration: $duration;
|
129
|
+
// -moz-transition-duration: $duration;
|
130
|
+
transition-duration: $duration;
|
131
|
+
}
|
132
|
+
@mixin transition-timing-function($function...) {
|
133
|
+
-webkit-transition-timing-function: $function;
|
134
|
+
// -moz-transition-timing-function: $function;
|
135
|
+
transition-timing-function: $function;
|
136
|
+
}
|
137
|
+
|
138
|
+
|
139
|
+
// Animations
|
140
|
+
// --------------------------------------------------
|
141
|
+
@mixin animation-name($name) {
|
142
|
+
-webkit-animation-name: $name;
|
143
|
+
// -moz-animation-name: $name;
|
144
|
+
animation-name: $name;
|
145
|
+
}
|
146
|
+
@mixin animation-duration($duration) {
|
147
|
+
-webkit-animation-duration: $duration;
|
148
|
+
// -moz-animation-duration: $duration;
|
149
|
+
animation-duration: $duration;
|
150
|
+
}
|
151
|
+
@mixin animation-direction($direction) {
|
152
|
+
-webkit-animation-direction: $direction;
|
153
|
+
// -moz-animation-direction: $direction;
|
154
|
+
animation-direction: $direction;
|
155
|
+
}
|
156
|
+
|
157
|
+
|
158
|
+
// Misc
|
159
|
+
// --------------------------------------------------
|
160
|
+
@mixin hairline($type, $color, $offset) {
|
161
|
+
&:after{
|
162
|
+
position: absolute;
|
163
|
+
left: $offset;
|
164
|
+
right: 0;
|
165
|
+
bottom: 0;
|
166
|
+
height: 1px;
|
167
|
+
background-color: $color;
|
168
|
+
content:'';
|
169
|
+
-webkit-transform: scaleY(0.5);
|
170
|
+
transform: scaleY(0.5);
|
171
|
+
}
|
172
|
+
@if $type == double {
|
173
|
+
&:before{
|
174
|
+
position: absolute;
|
175
|
+
left: $offset;
|
176
|
+
right: 0;
|
177
|
+
top: 0;
|
178
|
+
height: 1px;
|
179
|
+
background-color: $color;
|
180
|
+
content:'';
|
181
|
+
-webkit-transform: scaleY(0.5);
|
182
|
+
transform: scaleY(0.5);
|
183
|
+
}
|
184
|
+
}
|
185
|
+
// background: repeat-x bottom left
|
186
|
+
// url(data:image/gif;base64,R0lGODlhAQACAPABAMjHzP///yH/C1hNUCBEYXRhWE1QAz94cAAh+QQFAAABACwAAAAAAQACAAACAgwKADs=);
|
187
|
+
// background-size: 100% 1px;
|
188
|
+
//@if $type == single {
|
189
|
+
// background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='1'><rect fill='#{$color}' x='0' y='0' width='100%' height='0.5'/></svg>");
|
190
|
+
// background-position: $offset 100%;
|
191
|
+
//
|
192
|
+
//} @else if $type == double {
|
193
|
+
// background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='1'><rect fill='#{$color}' x='0' y='0' width='100%' height='0.5'/></svg>"),
|
194
|
+
// url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100%' height='1'><rect fill='#{$color}' x='0' y='0' width='100%' height='0.5'/></svg>");
|
195
|
+
// background-position: $offset 100%, $offset 0;
|
196
|
+
//}
|
197
|
+
//background-repeat: no-repeat;
|
198
|
+
}
|
199
|
+
|
200
|
+
//button
|
201
|
+
@mixin btn($color){
|
202
|
+
color: #fff;
|
203
|
+
background-color: $color;
|
204
|
+
border: 1px solid $color;
|
205
|
+
|
206
|
+
&:enabled:active,
|
207
|
+
&.#{$namespace}active:enabled {
|
208
|
+
color: #fff;
|
209
|
+
background-color: darken($color, 10%);
|
210
|
+
border: 1px solid darken($color, 10%);
|
211
|
+
}
|
212
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
//
|
2
|
+
// Modals
|
3
|
+
// --------------------------------------------------
|
4
|
+
|
5
|
+
.#{$namespace}modal {
|
6
|
+
position: fixed;
|
7
|
+
top: 0;
|
8
|
+
z-index: z("modal");
|
9
|
+
width: 100%;
|
10
|
+
min-height: 100%;
|
11
|
+
overflow: hidden;
|
12
|
+
background-color: #fff;
|
13
|
+
opacity: 0;
|
14
|
+
-webkit-transition: -webkit-transform .25s, opacity 1ms .25s;
|
15
|
+
transition: transform .25s, opacity 1ms .25s;
|
16
|
+
@include transform(translate3d(0, 100%, 0));
|
17
|
+
@include transition-timing-function($timing-fuction);
|
18
|
+
|
19
|
+
// Active modal
|
20
|
+
&.#{$namespace}active {
|
21
|
+
height: 100%;
|
22
|
+
opacity: 1;
|
23
|
+
-webkit-transition: -webkit-transform .25s;
|
24
|
+
transition: transform .25s;
|
25
|
+
@include transform(translate3d(0, 0, 0));
|
26
|
+
@include transition-timing-function($timing-fuction);
|
27
|
+
}
|
28
|
+
}
|
29
|
+
.#{$namespace}android .#{$namespace}modal .#{$namespace}bar{
|
30
|
+
position: static;
|
31
|
+
}
|
32
|
+
.#{$namespace}android .#{$namespace}modal .#{$namespace}bar-nav~.#{$namespace}content{
|
33
|
+
padding-top: 0;
|
34
|
+
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
|
2
|
+
// Variables
|
3
|
+
@import "variables.scss";
|
4
|
+
|
5
|
+
// Mixins
|
6
|
+
@import "mixins.scss";
|
7
|
+
|
8
|
+
// Normalize & Base CSS
|
9
|
+
@import "normalize.scss";
|
10
|
+
@import "base.scss";
|
11
|
+
@import "type.scss";
|
12
|
+
@import "grid.scss";
|
13
|
+
|
14
|
+
// Components
|
15
|
+
@import "scroll.scss";
|
16
|
+
//@import "iscroll.scss";
|
17
|
+
@import "off-canvas.scss";
|
18
|
+
@import "loadings.scss";
|
19
|
+
@import "buttons.scss";
|
20
|
+
@import "bars.scss";
|
21
|
+
@import "badges.scss";
|
22
|
+
@import "cards.scss";
|
23
|
+
@import "table-views.scss";
|
24
|
+
@import "slider-cell.scss";
|
25
|
+
@import "forms.scss";
|
26
|
+
@import "segmented-controls.scss";
|
27
|
+
@import "popovers.scss";
|
28
|
+
@import "pagination.scss";
|
29
|
+
|
30
|
+
// Javascript components
|
31
|
+
@import "modals.scss";
|
32
|
+
@import "sliders.scss";
|
33
|
+
@import "switches.scss";
|
34
|
+
@import "push.scss";
|
35
|
+
@import "pullrefreshs.scss";
|
36
|
+
@import "toast.scss";
|
37
|
+
|
38
|
+
@import "number.scss";
|
39
|
+
|
40
|
+
// Muiicons
|
41
|
+
@import "icon.scss";
|
42
|
+
// fullscreen
|
43
|
+
@import "fullscreen.scss";
|
44
|
+
@import "hack.scss";
|
45
|
+
// os
|
46
|
+
@import "os.scss";
|