compass-jquery-mobile-plugin 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. data/README.markdown +48 -0
  2. data/lib/compass-jquery-mobile-plugin.rb +1 -0
  3. data/stylesheets/_button.scss +118 -0
  4. data/stylesheets/_collapsible.scss +45 -0
  5. data/stylesheets/_controlgroup.scss +69 -0
  6. data/stylesheets/_core.scss +158 -0
  7. data/stylesheets/_dialog.scss +15 -0
  8. data/stylesheets/_forms.checkboxradio.scss +37 -0
  9. data/stylesheets/_forms.fieldcontain.scss +20 -0
  10. data/stylesheets/_forms.select.scss +72 -0
  11. data/stylesheets/_forms.slider.scss +104 -0
  12. data/stylesheets/_forms.textinput.scss +72 -0
  13. data/stylesheets/_grids.scss +31 -0
  14. data/stylesheets/_headerfooter.scss +33 -0
  15. data/stylesheets/_jquery-mobile.scss +39 -0
  16. data/stylesheets/_listview.scss +170 -0
  17. data/stylesheets/_navbar.scss +103 -0
  18. data/stylesheets/_theme.scss +128 -0
  19. data/stylesheets/_transitions.scss +217 -0
  20. data/stylesheets/helpers/_mixins.scss +21 -0
  21. data/stylesheets/themes/_a.scss +116 -0
  22. data/stylesheets/themes/_b.scss +115 -0
  23. data/stylesheets/themes/_c.scss +105 -0
  24. data/stylesheets/themes/_d.scss +114 -0
  25. data/stylesheets/themes/_e.scss +114 -0
  26. data/stylesheets/themes/wyke/_a.scss +106 -0
  27. data/stylesheets/themes/wyke/_b.scss +105 -0
  28. data/stylesheets/themes/wyke/_c.scss +95 -0
  29. data/stylesheets/themes/wyke/_d.scss +104 -0
  30. data/stylesheets/themes/wyke/_e.scss +104 -0
  31. data/templates/project/jquery-mobile/ajax-loader.png +0 -0
  32. data/templates/project/jquery-mobile/form-check-off.png +0 -0
  33. data/templates/project/jquery-mobile/form-check-on.png +0 -0
  34. data/templates/project/jquery-mobile/form-radio-off.png +0 -0
  35. data/templates/project/jquery-mobile/form-radio-on.png +0 -0
  36. data/templates/project/jquery-mobile/icon-search-black.png +0 -0
  37. data/templates/project/jquery-mobile/icons-18-black.png +0 -0
  38. data/templates/project/jquery-mobile/icons-18-white.png +0 -0
  39. data/templates/project/jquery-mobile/icons-36-black.png +0 -0
  40. data/templates/project/jquery-mobile/icons-36-white.png +0 -0
  41. data/templates/project/jquery.mobile-1.0a2.min.js +99 -0
  42. data/templates/project/manifest.rb +1 -0
  43. metadata +123 -0
data/README.markdown ADDED
@@ -0,0 +1,48 @@
1
+ jQuery Mobile for Compass
2
+ =========================
3
+ A port of the existing jQuery Mobile CSS file into SASS.
4
+
5
+ This is currently for the Alpha release of jQuery Mobile. It will be updated as and when the jQuery team release more versions.
6
+
7
+ Where possible the theme elements have been kept inline with the jQuery Mobile rules, so that maintenance of rules in the future will be simple and also makes users new to this project find the cross over easy.
8
+
9
+ Install
10
+ =======
11
+ From the command line:
12
+
13
+ gem install compass-jquery-mobile-plugin
14
+ cd my_compass_project
15
+
16
+ Add the following to your compass configuration:
17
+
18
+ require 'compass-jquery-mobile-plugin'
19
+
20
+ The run from the command line:
21
+
22
+ compass install jquery-mobile
23
+
24
+ To one of your sass stylesheets to import the jquery-mobile styles add:
25
+
26
+ @import 'jquery-mobile'
27
+
28
+ Information
29
+ ===========
30
+
31
+ CURRENT RELEASE
32
+ ---------------
33
+ jQuery Mobile 1.0a2 (Alpha 2)
34
+
35
+ WORK DONE SO FAR
36
+ ----------------
37
+ * The themes have been separated out into partials
38
+ * Themes have been tidied a bit with mixins, whilst keeping the basic jQuery Mobile rules in place
39
+ * Compass has been brought in to remove as much maintenance of vendor specific css
40
+
41
+ TODO
42
+ ----
43
+ * More tidying of non-theme related rules. e.g. better use of mixins and variables
44
+ * Add more customisation of theme options. So far only done what is required for own projects
45
+
46
+ NOTE
47
+ ----
48
+ Using git-flow to have a consistent usage of git
@@ -0,0 +1 @@
1
+ Compass::Frameworks.register("jquery-mobile", :path => "#{File.dirname(__FILE__)}/..")
@@ -0,0 +1,118 @@
1
+ /*
2
+ * jQuery Mobile Framework
3
+ * Copyright (c) jQuery Project
4
+ * Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses.
5
+ */
6
+
7
+ .ui-btn {
8
+ display: block;
9
+ text-align: center;
10
+ cursor: pointer;
11
+ position: relative;
12
+ margin: .5em 5px;
13
+ padding: 0;
14
+ &:focus, a:focus {
15
+ outline: none; } }
16
+
17
+ .ui-header .ui-btn, .ui-footer .ui-btn, .ui-bar .ui-btn {
18
+ display: inline-block;
19
+ font-size: 13px;
20
+ margin: 0; }
21
+
22
+ .ui-btn-inline {
23
+ display: inline-block; }
24
+
25
+ .ui-btn-inner {
26
+ padding: .6em 25px;
27
+ display: block;
28
+ height: 100%;
29
+ text-overflow: ellipsis;
30
+ overflow: hidden;
31
+ white-space: nowrap;
32
+ position: relative; }
33
+
34
+ .ui-btn-text {}
35
+
36
+ .ui-header .ui-btn-inner, .ui-footer .ui-btn-inner, .ui-bar .ui-btn-inner {
37
+ padding: .4em 8px .5em; }
38
+
39
+ .ui-btn-icon-notext {
40
+ display: block;
41
+ width: 20px;
42
+ height: 20px;
43
+ padding: 1px 0px 1px 2px;
44
+ text-indent: -9999px;
45
+ .ui-btn-inner {
46
+ padding: 0; }
47
+ .ui-btn-text {
48
+ position: absolute;
49
+ left: -999px; } }
50
+
51
+ .ui-btn-icon-left .ui-btn-inner {
52
+ padding-left: 33px; }
53
+
54
+ .ui-header .ui-btn-icon-left .ui-btn-inner, .ui-footer .ui-btn-icon-left .ui-btn-inner, .ui-bar .ui-btn-icon-left .ui-btn-inner {
55
+ padding-left: 27px; }
56
+
57
+ .ui-btn-icon-right .ui-btn-inner {
58
+ padding-right: 33px; }
59
+
60
+ .ui-header .ui-btn-icon-right .ui-btn-inner, .ui-footer .ui-btn-icon-right .ui-btn-inner.ui-bar .ui-btn-icon-right .ui-btn-inner {
61
+ padding-right: 27px; }
62
+
63
+ .ui-btn-icon-top .ui-btn-inner {
64
+ padding-top: 33px; }
65
+
66
+ .ui-header .ui-btn-icon-top .ui-btn-inner.ui-footer .ui-btn-icon-top .ui-btn-inner, .ui-bar .ui-btn-icon-top .ui-btn-inner {
67
+ padding-top: 27px; }
68
+
69
+ .ui-btn-icon-bottom .ui-btn-inner {
70
+ padding-bottom: 33px; }
71
+
72
+ .ui-header .ui-btn-icon-bottom .ui-btn-inner, .ui-footer .ui-btn-icon-bottom .ui-btn-inner, .ui-bar .ui-btn-icon-bottom .ui-btn-inner {
73
+ padding-bottom: 27px; }
74
+
75
+ /*btn icon positioning*/
76
+
77
+ .ui-btn-icon-notext .ui-icon {
78
+ display: block; }
79
+
80
+ .ui-btn-icon-left .ui-icon, .ui-btn-icon-right .ui-icon {
81
+ position: absolute;
82
+ top: 50%;
83
+ margin-top: -9px; }
84
+
85
+ .ui-btn-icon-top .ui-icon, .ui-btn-icon-bottom .ui-icon {
86
+ position: absolute;
87
+ left: 50%;
88
+ margin-left: -9px; }
89
+
90
+ .ui-btn-icon-left .ui-icon {
91
+ left: 10px; }
92
+
93
+ .ui-btn-icon-right .ui-icon {
94
+ right: 10px; }
95
+
96
+ .ui-header .ui-btn-icon-left .ui-icon, .ui-footer .ui-btn-icon-left .ui-icon, .ui-bar .ui-btn-icon-left .ui-icon {
97
+ left: 4px; }
98
+
99
+ .ui-header .ui-btn-icon-right .ui-icon, .ui-footer .ui-btn-icon-right .ui-icon, .ui-bar .ui-btn-icon-right .ui-icon {
100
+ right: 4px; }
101
+
102
+ .ui-header .ui-btn-icon-top .ui-icon, .ui-footer .ui-btn-icon-top .ui-icon, .ui-bar .ui-btn-icon-top .ui-icon {
103
+ top: 4px; }
104
+
105
+ .ui-header .ui-btn-icon-bottom .ui-icon, .ui-footer .ui-btn-icon-bottom .ui-icon, .ui-bar .ui-btn-icon-bottom .ui-icon {
106
+ bottom: 4px; }
107
+
108
+ .ui-btn-icon-top .ui-icon {
109
+ top: 5px; }
110
+
111
+ .ui-btn-icon-bottom .ui-icon {
112
+ bottom: 5px; }
113
+
114
+ /*hiding native button,inputs */
115
+
116
+ .ui-btn-hidden {
117
+ position: absolute;
118
+ left: -9999px; }
@@ -0,0 +1,45 @@
1
+ /*
2
+ * jQuery Mobile Framework
3
+ * Copyright (c) jQuery Project
4
+ * Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses.
5
+ */
6
+
7
+ .ui-collapsible-contain {
8
+ margin: .5em 0; }
9
+
10
+ .ui-collapsible-heading {
11
+ font-size: 16px;
12
+ display: block;
13
+ margin: 0 -8px;
14
+ padding: 0;
15
+ border-width: 0 0 1px 0;
16
+ position: relative;
17
+ a {
18
+ text-align: left;
19
+ margin: 0;
20
+ .ui-btn-inner {
21
+ padding-left: 40px; }
22
+ span.ui-btn {
23
+ position: absolute;
24
+ left: 6px;
25
+ top: 50%;
26
+ margin: -12px 0 0 0;
27
+ width: 20px;
28
+ height: 20px;
29
+ padding: 1px 0px 1px 2px;
30
+ text-indent: -9999px;
31
+ .ui-btn-inner {
32
+ padding: 0; }
33
+ .ui-icon {
34
+ left: 2px; } } } }
35
+
36
+ .ui-collapsible-heading-status {
37
+ position: absolute;
38
+ left: -99999px; }
39
+
40
+ .ui-collapsible-content {
41
+ display: block;
42
+ padding: 10px 0 10px 8px; }
43
+
44
+ .ui-collapsible-content-collapsed {
45
+ display: none; }
@@ -0,0 +1,69 @@
1
+ /*
2
+ * jQuery Mobile Framework
3
+ * Copyright (c) jQuery Project
4
+ * Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses.
5
+ */
6
+
7
+ .ui-controlgroup, fieldset.ui-controlgroup {
8
+ padding: 0;
9
+ margin: .5em 0 1em; }
10
+
11
+ .ui-bar .ui-controlgroup {
12
+ margin: 0 .3em; }
13
+
14
+ .ui-controlgroup-label {
15
+ font-size: 16px;
16
+ line-height: 1.4;
17
+ font-weight: normal;
18
+ margin: 0 0 .3em; }
19
+
20
+ .ui-controlgroup-controls {
21
+ display: block;
22
+ width: 95%; }
23
+
24
+ .ui-controlgroup li {
25
+ list-style: none; }
26
+
27
+ .ui-controlgroup-vertical {
28
+ .ui-btn {
29
+ margin: 0;
30
+ border-bottom-width: 0; }
31
+ div {
32
+ &.ui-checkbox, &.ui-radio {
33
+ margin: 0;
34
+ border-bottom-width: 0; } }
35
+ .ui-controlgroup-last {
36
+ border-bottom-width: 1px; } }
37
+
38
+ .ui-controlgroup-horizontal {
39
+ padding: 0;
40
+ .ui-btn {
41
+ margin: 0 -5px 0 0;
42
+ display: inline-block; }
43
+ div {
44
+ &.ui-checkbox, &.ui-radio {
45
+ margin: 0 -5px 0 0;
46
+ display: inline-block; }
47
+ &.ui-checkbox .ui-btn, &.ui-radio .ui-btn, &.ui-checkbox:last-child, &.ui-radio:last-child {
48
+ margin-right: 0; } }
49
+ .ui-controlgroup-last {
50
+ margin-right: 0; } }
51
+
52
+ .ui-controlgroup {
53
+ .ui-checkbox label, .ui-radio label {
54
+ font-size: 16px; } }
55
+
56
+ /* conflicts with listview..
57
+ .ui-controlgroup .ui-btn-icon-notext { width: 30px; height: 30px; text-indent: -9999px; }
58
+ .ui-controlgroup .ui-btn-icon-notext .ui-btn-inner { padding: 5px 6px 5px 5px; }
59
+ */
60
+
61
+ @media screen and (min-width: 480px) {
62
+ .ui-controlgroup-label {
63
+ vertical-align: top;
64
+ display: inline-block;
65
+ width: 20%;
66
+ margin: 0 2% 0 0; }
67
+ .ui-controlgroup-controls {
68
+ width: 60%;
69
+ display: inline-block; } }
@@ -0,0 +1,158 @@
1
+ /*
2
+ * jQuery Mobile Framework
3
+ * Copyright (c) jQuery Project
4
+ * Dual licensed under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
5
+ * Note: Code is in draft form and is subject to change
6
+ */
7
+
8
+ /* some unsets - more probably needed */
9
+
10
+ .ui-mobile fieldset, .ui-page {
11
+ padding: 0;
12
+ margin: 0; }
13
+
14
+ .ui-mobile {
15
+ a img, fieldset {
16
+ border: 0; }
17
+ body {
18
+ margin: 0;
19
+ overflow-x: hidden;
20
+ -webkit-backface-visibility: hidden;
21
+ -webkit-text-size-adjust: none;
22
+ min-height: 100%; } }
23
+
24
+ /* responsive page widths */
25
+
26
+ /*orientations from js are available */
27
+
28
+ .portrait, .landscape {}
29
+
30
+ /* "page" containers - full-screen views, one should always be in view post-pageload */
31
+
32
+ .ui-page {
33
+ top: 0;
34
+ left: 0;
35
+ width: 100%;
36
+ min-height: 100%;
37
+ position: absolute;
38
+ display: none;
39
+ -webkit-backface-visibility: hidden;
40
+ border: 0; }
41
+
42
+ .ui-page-active {
43
+ display: block;
44
+ overflow: visible; }
45
+
46
+ /* loading screen */
47
+
48
+ .ui-loading {
49
+ overflow: hidden !important;
50
+ body {
51
+ overflow: hidden !important; }
52
+ .ui-loader {
53
+ display: block; }
54
+ .ui-page {
55
+ overflow: hidden; } }
56
+
57
+ .ui-loader {
58
+ display: none;
59
+ position: absolute;
60
+ opacity: .85;
61
+ z-index: 10;
62
+ top: 75px;
63
+ left: 50%;
64
+ width: 200px;
65
+ margin-left: -130px;
66
+ padding: 20px 30px;
67
+ h1 {
68
+ font-size: 15px;
69
+ text-align: center; }
70
+ .ui-icon {
71
+ position: static;
72
+ display: block;
73
+ opacity: .9;
74
+ margin: 0 auto;
75
+ width: 35px;
76
+ height: 35px;
77
+ background-color: transparent; } }
78
+
79
+ /*headers, content panels*/
80
+
81
+ .ui-bar, .ui-body {
82
+ position: relative;
83
+ padding: .4em 15px;
84
+ overflow: hidden;
85
+ display: block;
86
+ clear: both; }
87
+
88
+ .ui-bar {
89
+ font-size: 16px;
90
+ margin: 0;
91
+ h1, h2, h3, h4, h5, h6 {
92
+ margin: 0;
93
+ padding: 0;
94
+ font-size: 16px;
95
+ display: inline-block; } }
96
+
97
+ .ui-page {
98
+ .ui-header, .ui-footer {
99
+ position: relative; } }
100
+
101
+ .ui-header {
102
+ .ui-btn-left {
103
+ position: absolute;
104
+ left: 10px;
105
+ top: .4em; }
106
+ .ui-title {
107
+ text-align: center;
108
+ font-size: 16px;
109
+ display: block;
110
+ margin: .6em 90px .8em;
111
+ padding: 0;
112
+ text-overflow: ellipsis;
113
+ overflow: hidden;
114
+ white-space: nowrap;
115
+ outline: 0 !important; } }
116
+
117
+ .ui-footer .ui-title {
118
+ text-align: center;
119
+ font-size: 16px;
120
+ display: block;
121
+ margin: .6em 90px .8em;
122
+ padding: 0;
123
+ text-overflow: ellipsis;
124
+ overflow: hidden;
125
+ white-space: nowrap;
126
+ outline: 0 !important; }
127
+
128
+ .ui-header .ui-btn-right {
129
+ position: absolute;
130
+ right: 10px;
131
+ top: .4em; }
132
+
133
+ /*content area*/
134
+
135
+ .ui-content {
136
+ border-width: 0;
137
+ overflow: visible;
138
+ padding: 15px; }
139
+
140
+ .ui-page-fullscreen .ui-content {
141
+ padding: 0; }
142
+
143
+ /* icons sizing */
144
+
145
+ .ui-icon {
146
+ width: 18px;
147
+ height: 18px; }
148
+
149
+ /* fullscreen class on ui-content div */
150
+
151
+ .ui-fullscreen img {
152
+ max-width: 100%; }
153
+
154
+ /* non-js content hiding */
155
+
156
+ .ui-nojs {
157
+ position: absolute;
158
+ left: -9999px; }
@@ -0,0 +1,15 @@
1
+ /*
2
+ * jQuery Mobile Framework
3
+ * Copyright (c) jQuery Project
4
+ * Dual licensed under the MIT (MIT-LICENSE.txt) or GPL (GPL-LICENSE.txt) licenses.
5
+ */
6
+
7
+ .ui-dialog {
8
+ .ui-header, .ui-content, .ui-footer {
9
+ margin: 15px;
10
+ position: relative; }
11
+ .ui-header, .ui-footer {
12
+ z-index: 10;
13
+ width: auto; }
14
+ .ui-content, .ui-footer {
15
+ margin-top: -15px; } }