Skip to content
This repository was archived by the owner on Oct 8, 2021. It is now read-only.

Commit f40d341

Browse files
committed
Merge branch 'master' of https://github.com/jquery/jquery-mobile into tabs
2 parents 7ecbd52 + 2cd340b commit f40d341

File tree

159 files changed

+6849
-5827
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

159 files changed

+6849
-5827
lines changed

.travis.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,11 @@ branches:
88
- master
99
- 1.3-stable
1010
env:
11-
- JQUERIES=1.7.2
1211
- JQUERIES=1.8.3
13-
- JQUERIES=1.9.1
14-
- JQUERIES=2.0.0
12+
- JQUERIES=1.10.1
13+
- JQUERIES=2.0.2
1514
- JQUERIES=git
1615
notifications:
1716
irc:
1817
channels:
19-
- "chat.freenode.net#jquerymobile-dev"
18+
- "chat.freenode.net#jqueryui-dev"

CONTRIBUTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
In the spirit of open source software development, jQuery always encourages community code contribution. To help you get started and before you jump into writing code, be sure to read these important contribution guidelines thoroughly:
44

5-
1. [Getting Involved](http://docs.jquery.com/Getting_Involved)
6-
2. [Code Style Guide](http://docs.jquery.com/JQuery_Core_Style_Guidelines)
5+
1. [Getting Involved](http://contribute.jquery.org/)
6+
2. [Code Style Guide](http://contribute.jquery.org/style-guide/)
77

88
## Issues
99

Gruntfile.js

Lines changed: 92 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ module.exports = function( grunt ) {
3838
grunt.loadNpmTasks( "grunt-css" );
3939
grunt.loadNpmTasks( "grunt-git-authors" );
4040
grunt.loadNpmTasks( "grunt-qunit-junit" );
41+
grunt.loadNpmTasks( "grunt-hash-manifest" );
4142

4243
// load the project's default tasks
4344
grunt.loadTasks( "build/tasks");
@@ -54,6 +55,10 @@ module.exports = function( grunt ) {
5455

5556
headShortHash: "",
5657

58+
files: {
59+
cdn: path.join( dist, name + "-cdn" )
60+
},
61+
5762
jshint: {
5863
js: {
5964
options: {
@@ -319,6 +324,71 @@ module.exports = function( grunt ) {
319324
dest: "<%= uglify.all.options.sourceMap %>"
320325
}
321326
]
327+
},
328+
cdn: {
329+
files: [
330+
{
331+
expand: true,
332+
cwd: dist,
333+
src: [
334+
name + "*<%= versionSuffix %>.*",
335+
"images/*",
336+
"!*.zip"
337+
],
338+
dest: "<%= files.cdn %>"
339+
}
340+
]
341+
},
342+
git: {
343+
files: [
344+
{
345+
src: "dist/jquery.mobile.js",
346+
dest: "dist/git/jquery.mobile-git.js"
347+
},
348+
{
349+
src: "dist/jquery.mobile.min.js",
350+
dest: "dist/git/jquery.mobile-git.min.js"
351+
},
352+
{
353+
src: "dist/jquery.mobile.css",
354+
dest: "dist/git/jquery.mobile-git.css"
355+
},
356+
{
357+
src: "dist/jquery.mobile.min.css",
358+
dest: "dist/git/jquery.mobile-git.min.css"
359+
},
360+
{
361+
src: "dist/jquery.mobile.structure.css",
362+
dest: "dist/git/jquery.mobile.structure-git.css"
363+
},
364+
{
365+
src: "dist/jquery.mobile.structure.min.css",
366+
dest: "dist/git/jquery.mobile.structure-git.min.css"
367+
},
368+
{
369+
src: "dist/jquery.mobile.zip",
370+
dest: "dist/git/jquery.mobile-git.zip"
371+
},
372+
{
373+
expand: true,
374+
cwd: dist,
375+
src: [
376+
"images/*"
377+
],
378+
dest: "dist/git/"
379+
}
380+
]
381+
}
382+
},
383+
384+
"hash-manifest": {
385+
cdn: {
386+
options: {
387+
algo: "md5",
388+
cwd: "<%= files.cdn %>"
389+
},
390+
src: [ "**/*" ],
391+
dest: "MANIFEST"
322392
}
323393
},
324394

@@ -328,7 +398,19 @@ module.exports = function( grunt ) {
328398
archive: path.join( dist, name ) + "<%= versionSuffix %>.zip"
329399
},
330400
files: [
331-
{ expand: true, cwd: dist, src: [ "**", "!" + name + "<%= versionSuffix %>.zip" ] }
401+
{ expand: true, cwd: dist, src: [ "**", "!*.zip" ] }
402+
]
403+
},
404+
cdn: {
405+
options: {
406+
archive: "<%= files.cdn %>.zip"
407+
},
408+
files: [
409+
{
410+
expand: true,
411+
cwd: "<%= files.cdn %>",
412+
src: [ "**/*" ]
413+
}
332414
]
333415
}
334416
},
@@ -384,7 +466,7 @@ module.exports = function( grunt ) {
384466
urls: (function() {
385467
// Find the test files
386468
var suites = _.without( ( grunt.option( "suites" ) || "" ).split( "," ), "" ),
387-
types = _.without( ( grunt.option( "types" ) || "" ).split( "," ), "" ),
469+
types = _.without( ( grunt.option( "types" ) || "" ).split( "," ), "" ).sort().reverse(), // So that unit runs before integration
388470
patterns, paths,
389471
prefixes = ["tests/unit/", "tests/integration/"],
390472
versionedPaths = [],
@@ -421,7 +503,6 @@ module.exports = function( grunt ) {
421503
}
422504

423505
paths = grunt.file.expand( patterns )
424-
.sort()
425506
.map( function( path ) {
426507
// Some of our tests (ie. navigation) don't like having the index.html too much
427508
return path.replace( /\/\index.html$/, "/" );
@@ -494,7 +575,10 @@ module.exports = function( grunt ) {
494575
}
495576
},
496577

497-
clean: [ dist ]
578+
clean: {
579+
dist: [ dist ],
580+
cdn: [ "<%= files.cdn %>" ]
581+
}
498582
});
499583

500584
grunt.registerTask( "lint", [ "jshint" ] );
@@ -507,8 +591,11 @@ module.exports = function( grunt ) {
507591

508592
grunt.registerTask( "demos", [ "concat:demos", "copy:demos.nested-includes", "copy:demos.processed", "copy:demos.unprocessed" ] );
509593

594+
grunt.registerTask( "cdn", [ "release:init", "clean:cdn", "copy:cdn", "hash-manifest:cdn", "compress:cdn", "clean:cdn" ] );
595+
510596
grunt.registerTask( "dist", [ "config:fetchHeadHash", "js:release", "css:release", "copy:images", "demos", "compress:dist" ] );
511-
grunt.registerTask( "dist:release", [ "release:init", "dist" ] );
597+
grunt.registerTask( "dist:release", [ "release:init", "dist", "cdn" ] );
598+
grunt.registerTask( "dist:git", ["dist", "copy:git"] );
512599

513600
grunt.registerTask( "test", [ "jshint", "config:fetchHeadHash", "js:release", "connect", "qunit:http" ] );
514601
grunt.registerTask( "test:ci", [ "qunit_junit", "connect", "qunit:http" ] );
Lines changed: 58 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -1,97 +1,61 @@
1-
.ui-btn { display: block; text-align: center; cursor:pointer; position: relative; margin: .5em 0; padding: 0; }
2-
.ui-mini { margin-top: .25em; margin-bottom: .25em; }
3-
.ui-btn-left, .ui-btn-right, .ui-input-clear, .ui-btn-inline,
4-
.ui-grid-a .ui-btn, .ui-grid-b .ui-btn, .ui-grid-c .ui-btn, .ui-grid-d .ui-btn, .ui-grid-e .ui-btn, .ui-grid-solo .ui-btn { margin-right: 5px; margin-left: 5px; }
5-
.ui-btn-inner { font-size: 16px; padding: .6em 20px; min-width: .75em; display: block; position: relative; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; zoom: 1; }
6-
.ui-btn input, .ui-btn button { z-index: 2; }
7-
.ui-btn-left, .ui-btn-right, .ui-btn-inline { display: inline-block; vertical-align: middle; }
8-
.ui-mobile .ui-btn-left, .ui-mobile .ui-btn-right, .ui-btn-left > .ui-btn, .ui-btn-right > .ui-btn { margin: 0; } /* .ui-mobile to increase specificity level */
9-
.ui-btn-block { display: block; }
10-
11-
.ui-header > .ui-btn,
12-
.ui-footer > .ui-btn { display: inline-block; margin: 0; }
13-
.ui-header .ui-btn-block,
14-
.ui-footer .ui-btn-block { display: block; }
15-
16-
.ui-header .ui-btn-inner,
17-
.ui-footer .ui-btn-inner,
18-
.ui-mini .ui-btn-inner { font-size: 12.5px; padding: .55em 11px .5em; }
19-
20-
.ui-fullsize .ui-btn-inner,
21-
.ui-fullsize .ui-btn-inner { font-size: 16px; padding: .6em 20px; }
22-
23-
.ui-btn-icon-notext { width: 24px; height: 24px; }
24-
.ui-btn-icon-notext .ui-btn-inner { padding: 0; height: 100%; }
25-
.ui-btn-icon-notext .ui-btn-inner .ui-icon { margin: 2px 1px 2px 3px; float: left; }
26-
27-
.ui-btn-text { position: relative; z-index: 1; width: 100%; -moz-user-select: none; -webkit-user-select: none; -ms-user-select: none; }
28-
div.ui-btn-text { width: auto; }
29-
.ui-btn-icon-notext .ui-btn-text { position: absolute; left: -9999px; }
30-
31-
.ui-btn-icon-left .ui-btn-inner { padding-left: 40px; }
32-
.ui-btn-icon-right .ui-btn-inner { padding-right: 40px; }
33-
.ui-btn-icon-top .ui-btn-inner { padding-top: 40px; }
34-
.ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 40px; }
35-
36-
.ui-header .ui-btn-icon-left .ui-btn-inner,
37-
.ui-footer .ui-btn-icon-left .ui-btn-inner,
38-
.ui-mini.ui-btn-icon-left .ui-btn-inner,
39-
.ui-mini .ui-btn-icon-left .ui-btn-inner { padding-left: 30px; }
40-
.ui-header .ui-btn-icon-right .ui-btn-inner,
41-
.ui-footer .ui-btn-icon-right .ui-btn-inner,
42-
.ui-mini.ui-btn-icon-right .ui-btn-inner,
43-
.ui-mini .ui-btn-icon-right .ui-btn-inner { padding-right: 30px; }
44-
.ui-header .ui-btn-icon-top .ui-btn-inner,
45-
.ui-footer .ui-btn-icon-top .ui-btn-inner { padding: 30px 3px .5em 3px; }
46-
.ui-mini.ui-btn-icon-top .ui-btn-inner,
47-
.ui-mini .ui-btn-icon-top .ui-btn-inner { padding-top: 30px; }
48-
.ui-header .ui-btn-icon-bottom .ui-btn-inner,
49-
.ui-footer .ui-btn-icon-bottom .ui-btn-inner { padding: .55em 3px 30px 3px; }
50-
.ui-mini.ui-btn-icon-bottom .ui-btn-inner,
51-
.ui-mini .ui-btn-icon-bottom .ui-btn-inner { padding-bottom: 30px; }
52-
53-
/* Corner styling inheritance */
54-
.ui-btn-inner {
55-
-webkit-border-radius: inherit;
56-
border-radius: inherit;
1+
/* TODO: This file only contains CSS for the button widget and should be renamed to jquery.mobile.forms.button.css */
2+
button.ui-btn {
3+
-webkit-box-sizing: border-box;
4+
-moz-box-sizing: border-box;
5+
box-sizing: border-box;
6+
-webkit-appearance: none;
7+
-moz-appearance: none;
8+
width: 100%;
9+
}
10+
/* Firefox adds a 1px border in a button element. We negate this to make sure they have the same height as other buttons in controlgroups. */
11+
button.ui-btn::-moz-focus-inner {
12+
border: 0;
13+
}
14+
button.ui-btn-inline {
15+
width: auto;
16+
}
17+
button.ui-btn-icon-notext {
18+
-webkit-box-sizing: content-box;
19+
-moz-box-sizing: content-box;
20+
box-sizing: content-box;
21+
width: 1.5em;
22+
}
23+
/* No margin in grids for 100% width button elements until we can use max-width: fill-available; */
24+
[class*="ui-grid-"] button.ui-btn {
25+
margin-right: 0;
26+
margin-left: 0;
27+
}
28+
/* Hide the native input element */
29+
.ui-input-btn input {
30+
position: absolute;
31+
top: 0;
32+
left: 0;
33+
width: 100%;
34+
height: 100%;
35+
padding: 0;
36+
border: 0;
37+
outline: 0;
38+
-webkit-border-radius: inherit;
39+
border-bottom-radius: inherit;
40+
-webkit-appearance: none;
41+
-moz-appearance: none;
42+
cursor: pointer;
43+
background: #fff;
44+
background: rgba(255,255,255,0);
45+
filter: Alpha(Opacity=0);
46+
opacity: .1;
47+
font-size: 1px;
48+
text-indent: -9999px;
49+
z-index: 2;
5750
}
58-
59-
/*btn icon positioning*/
60-
.ui-btn-icon-notext .ui-icon { display: block; z-index: 0;}
61-
.ui-btn-icon-left > .ui-btn-inner > .ui-icon, .ui-btn-icon-right > .ui-btn-inner > .ui-icon { position: absolute; top: 50%; margin-top: -9px; }
62-
.ui-btn-icon-top .ui-btn-inner .ui-icon, .ui-btn-icon-bottom .ui-btn-inner .ui-icon { position: absolute; left: 50%; margin-left: -9px; }
63-
.ui-btn-icon-left .ui-icon { left: 10px; }
64-
.ui-btn-icon-right .ui-icon { right: 10px; }
65-
.ui-btn-icon-top .ui-icon { top: 10px; }
66-
.ui-btn-icon-bottom .ui-icon { top: auto; bottom: 10px; }
67-
68-
.ui-header .ui-btn-icon-left .ui-icon,
69-
.ui-footer .ui-btn-icon-left .ui-icon,
70-
.ui-mini.ui-btn-icon-left .ui-icon,
71-
.ui-mini .ui-btn-icon-left .ui-icon { left: 5px; }
72-
.ui-header .ui-btn-icon-right .ui-icon,
73-
.ui-footer .ui-btn-icon-right .ui-icon,
74-
.ui-mini.ui-btn-icon-right .ui-icon,
75-
.ui-mini .ui-btn-icon-right .ui-icon { right: 5px; }
76-
.ui-header .ui-btn-icon-top .ui-icon,
77-
.ui-footer .ui-btn-icon-top .ui-icon,
78-
.ui-mini.ui-btn-icon-top .ui-icon,
79-
.ui-mini .ui-btn-icon-top .ui-icon { top: 5px; }
80-
.ui-header .ui-btn-icon-bottom .ui-icon,
81-
.ui-footer .ui-btn-icon-bottom .ui-icon,
82-
.ui-mini.ui-btn-icon-bottom .ui-icon,
83-
.ui-mini .ui-btn-icon-bottom .ui-icon { bottom: 5px; }
84-
85-
/*hiding native button,inputs */
86-
.ui-btn-hidden { position: absolute; top: 0; left: 0; width: 100%; height: 100%; -webkit-appearance: none; cursor: pointer; background: #fff; background: rgba(255,255,255,0); filter: Alpha(Opacity=0); opacity: .1; font-size: 1px; border: none; text-indent: -9999px; }
8751
/* Fixes IE/WP filter alpha opacity bugs */
88-
.ui-disabled .ui-btn-hidden { display: none; }
89-
.ui-disabled { z-index: 1; }
90-
91-
.ui-field-contain .ui-btn.ui-submit { margin: 0; }
92-
label.ui-submit { font-size: 16px; line-height: 1.4; font-weight: normal; margin: 0 0 .3em; display: block; }
93-
@media all and (min-width: 28em){
94-
.ui-field-contain label.ui-submit { vertical-align: top; display: inline-block; width: 20%; margin: 0 2% 0 0; }
95-
.ui-field-contain .ui-btn.ui-submit { width: 78%; display: inline-block; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
96-
.ui-hide-label .ui-btn.ui-submit { width: auto; display: block; }
52+
.ui-input-btn.ui-state-disabled input {
53+
position: absolute !important;
54+
top: -9999px;
55+
left: -9999px;
56+
height: 1px;
57+
width: 1px;
58+
overflow: hidden;
59+
clip: rect(1px 1px 1px 1px);
60+
clip: rect(1px,1px,1px,1px);
9761
}

0 commit comments

Comments
 (0)