Commit 1e3b9380 authored by Mark Otto's avatar Mark Otto
Browse files

grunt

parent 3ee5542c
Showing with 46 additions and 34 deletions
+46 -34
...@@ -3822,6 +3822,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn { ...@@ -3822,6 +3822,9 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
right: 0; right: 0;
left: 0; left: 0;
z-index: 1030; z-index: 1030;
-webkit-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
} }
@media (min-width: 768px) { @media (min-width: 768px) {
.navbar-fixed-top, .navbar-fixed-top,
...@@ -5315,16 +5318,14 @@ button.close { ...@@ -5315,16 +5318,14 @@ button.close {
-webkit-transition: -webkit-transform .3s ease-out; -webkit-transition: -webkit-transform .3s ease-out;
-o-transition: -o-transform .3s ease-out; -o-transition: -o-transform .3s ease-out;
transition: transform .3s ease-out; transition: transform .3s ease-out;
-webkit-transform: translate(0, -25%); -webkit-transform: translate3d(0, -25%, 0);
-ms-transform: translate(0, -25%); -o-transform: translate3d(0, -25%, 0);
-o-transform: translate(0, -25%); transform: translate3d(0, -25%, 0);
transform: translate(0, -25%);
} }
.modal.in .modal-dialog { .modal.in .modal-dialog {
-webkit-transform: translate(0, 0); -webkit-transform: translate3d(0, 0, 0);
-ms-transform: translate(0, 0); -o-transform: translate3d(0, 0, 0);
-o-transform: translate(0, 0); transform: translate3d(0, 0, 0);
transform: translate(0, 0);
} }
.modal-dialog { .modal-dialog {
position: relative; position: relative;
...@@ -5910,6 +5911,9 @@ button.close { ...@@ -5910,6 +5911,9 @@ button.close {
} }
.affix { .affix {
position: fixed; position: fixed;
-webkit-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
} }
@-ms-viewport { @-ms-viewport {
width: device-width; width: device-width;
......
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -1081,10 +1081,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1081,10 +1081,13 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if ($this.is('a')) e.preventDefault() if ($this.is('a')) e.preventDefault()
Plugin.call($target, option, this) $target.one('show.bs.modal', function (showEvent) {
$target.one('hide.bs.modal', function () { if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
$this.is(':visible') && $this.trigger('focus') $target.one('hidden.bs.modal', function () {
$this.is(':visible') && $this.trigger('focus')
})
}) })
Plugin.call($target, option, this)
}) })
}(jQuery); }(jQuery);
...@@ -1236,8 +1239,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1236,8 +1239,9 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
if (this.hasContent() && this.enabled) { if (this.hasContent() && this.enabled) {
this.$element.trigger(e) this.$element.trigger(e)
if (e.isDefaultPrevented()) return var inDom = $.contains(document.documentElement, this.$element[0])
var that = this; if (e.isDefaultPrevented() || !inDom) return
var that = this
var $tip = this.tip() var $tip = this.tip()
...@@ -1676,20 +1680,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1676,20 +1680,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
// ========================== // ==========================
function ScrollSpy(element, options) { function ScrollSpy(element, options) {
var href
var process = $.proxy(this.process, this) var process = $.proxy(this.process, this)
this.$element = $(element).is('body') ? $(window) : $(element)
this.$body = $('body') this.$body = $('body')
this.$scrollElement = this.$element.on('scroll.bs.scrollspy', process) this.$scrollElement = $(element).is('body') ? $(window) : $(element)
this.options = $.extend({}, ScrollSpy.DEFAULTS, options) this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
this.selector = (this.options.target this.selector = (this.options.target || '') + ' .nav li > a'
|| ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 this.offsets = []
|| '') + ' .nav li > a' this.targets = []
this.offsets = $([])
this.targets = $([])
this.activeTarget = null this.activeTarget = null
this.$scrollElement.on('scroll.bs.scrollspy', process)
this.refresh() this.refresh()
this.process() this.process()
} }
...@@ -1701,10 +1702,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1701,10 +1702,17 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
} }
ScrollSpy.prototype.refresh = function () { ScrollSpy.prototype.refresh = function () {
var offsetMethod = this.$element[0] == window ? 'offset' : 'position' var offsetMethod = 'offset'
var offsetBase = 0
if (!$.isWindow(this.$scrollElement[0])) {
offsetMethod = 'position'
offsetBase = this.$scrollElement.scrollTop()
}
this.offsets = []
this.targets = []
this.offsets = $([])
this.targets = $([])
var self = this var self = this
this.$body this.$body
...@@ -1718,7 +1726,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1718,7 +1726,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
return ($href return ($href
&& $href.length && $href.length
&& $href.is(':visible') && $href.is(':visible')
&& [[$href[offsetMethod]().top + (!$.isWindow(self.$scrollElement.get(0)) && self.$scrollElement.scrollTop()), href]]) || null && [[$href[offsetMethod]().top + offsetBase, href]]) || null
}) })
.sort(function (a, b) { return a[0] - b[0] }) .sort(function (a, b) { return a[0] - b[0] })
.each(function () { .each(function () {
...@@ -1737,7 +1745,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re ...@@ -1737,7 +1745,7 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
var i var i
if (scrollTop >= maxScroll) { if (scrollTop >= maxScroll) {
return activeTarget != (i = targets.last()[0]) && this.activate(i) return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
} }
if (activeTarget && scrollTop <= offsets[0]) { if (activeTarget && scrollTop <= offsets[0]) {
......
This diff is collapsed.
...@@ -42,4 +42,4 @@ var __js={"affix.js":"/* ======================================================= ...@@ -42,4 +42,4 @@ var __js={"affix.js":"/* =======================================================
* Licensed under the Creative Commons Attribution 3.0 Unported License. For * Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/. * details, see http://creativecommons.org/licenses/by/3.0/.
*/ */
window.onload=function(){"use strict";function a(a,b){throw $('<div id="bsCustomizerAlert" class="bs-customizer-alert"><div class="container"><a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right">&times;</a><p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign"></span>'+a+"</p>"+(b.extract?'<pre class="bs-customizer-alert-extract">'+b.extract.join("\n")+"</pre>":"")+"</div></div>").appendTo("body").alert(),b}function b(a,b){var c=$('<div class="bs-callout bs-callout-danger"><h4>Attention!</h4><p>'+a+"</p></div>");b?c.appendTo(".bs-docs-container"):c.insertAfter(".bs-customize-download")}function c(a){a=a.replace(/[*+?^$.\[\]{}()|\\\/]/g,"\\$&");var b=location.search.match(new RegExp("[?&]"+a+"=([^&]+)(&|$)"));return b&&decodeURIComponent(b[1].replace(/\+/g," "))}function d(b,c){var d={description:"Bootstrap Customizer Config","public":!0,files:{"config.json":{content:b}}};$.ajax({url:"https://api.github.com/gists",type:"POST",dataType:"json",data:JSON.stringify(d)}).success(function(a){var b=window.location.protocol+"//"+window.location.host,d=b+window.location.pathname+"?id="+a.id;history.replaceState(!1,document.title,d),c(a.html_url,d)}).error(function(b){try{a("<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.",b)}catch(d){}c("<none>","<none>")})}function e(){var a={};$("#less-variables-section input").each(function(){$(this).val()&&(a[$(this).prev().text()]=$(this).val())});var b={vars:a,css:$("#less-section input:checked").map(function(){return this.value}).toArray(),js:$("#plugin-section input:checked").map(function(){return this.value}).toArray()};if(!$.isEmptyObject(b.vars)||b.css.length||b.js.length)return b}function f(){var b=c("id");b&&$.ajax({url:"https://api.github.com/gists/"+b,type:"GET",dataType:"json"}).success(function(a){var b=JSON.parse(a.files["config.json"].content);if(b.js&&$("#plugin-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.js))}),b.css&&$("#less-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.css))}),b.vars)for(var c in b.vars)$('input[data-var="'+c+'"]').val(b.vars[c])}).error(function(b){a("Error fetching bootstrap config file",b)})}function g(b,c,d,e,f){if(!b&&!c)return a("<strong>Ruh roh!</strong> No Bootstrap files selected.",new Error("no Bootstrap"));var g=new JSZip;if(b){var h=g.folder("css");for(var i in b)h.file(i,b[i])}if(c){var j=g.folder("js");for(var k in c)j.file(k,c[k])}if(d){var l=g.folder("fonts");for(var m in d)l.file(m,d[m],{base64:!0})}e&&g.file("config.json",e);var n=g.generate({type:"blob"});f(n)}function h(a){var b="";for(var c in a)b+=c+": "+a[c]+";\n";return b+"\n\n"}function i(){var a=$('#less-section [value="glyphicons.less"]:checked');return a.length?__fonts:void 0}function j(a){var b=/^@import \"(.*?)\";$/,c=__less[a].split("\n"),d=[];return $.each(c,function(a,c){var e=b.exec(c);if(e){var f=e[1],g=j(f);$.each(g,function(a,b){-1===$.inArray(b,d)&&d.push(b)}),d.push(f)}}),d}function k(a,b,c){var d=__less[a],e=j(a);return $.each(e,function(a,e){var f=b[e];(f||null==f)&&(d+=__less[e]),"variables.less"===e&&c&&(d+=h(c))}),d=d.replace(/@import[^\n]*/gi,"")}function l(b,c,d){var e=new less.Parser({paths:["variables.less","mixins.less"],optimization:0,filename:c+".css"});e.parse(b,function(b,e){return b?a("<strong>Ruh roh!</strong> Could not parse less files.",b):(d[c+".css"]=p+e.toCSS(),void(d[c+".min.css"]=p+e.toCSS({compress:!0})))})}function m(b){var c=!1,d={};if($("#less-section input").each(function(){var a=$(this),b=a.is(":checked");d[a.val()]=b,c=c||b}),!c)return!1;var e={},f={};$("#less-variables-section input").each(function(){$(this).val()&&(f[$(this).prev().text()]=$(this).val())});var g=b+k("bootstrap.less",d,f),h=b+k("theme.less",d,f);try{l(g,"bootstrap",e),l(h,"bootstrap-theme",e)}catch(i){return a("<strong>Ruh roh!</strong> Could not parse less files.",i)}return e}function n(a){var b=UglifyJS.parse(a);b.figure_out_scope();var c=UglifyJS.Compressor(),d=b.transform(c);d.figure_out_scope(),d.compute_char_frequency(),d.mangle_names();var e=UglifyJS.OutputStream();return d.print(e),e.toString()}function o(a){var b=$("#plugin-section input:checked"),c='if (typeof jQuery === "undefined") { throw new Error("Bootstrap\'s JavaScript requires jQuery") }\n\n';if(!b.length)return!1;var d=b.map(function(){return __js[this.value]}).toArray().join("\n");return a=p+a,d=c+d,{"bootstrap.js":a+d,"bootstrap.min.js":a+n(d)}}var p="/*!\n * Bootstrap v3.1.1 (http://getbootstrap.com)\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n",q=$("#less-section input"),r=$("#plugin-section input"),s=$("#less-variables-section input");$("#less-section .toggle").on("click",function(a){a.preventDefault(),q.prop("checked",!q.is(":checked"))}),$("#plugin-section .toggle").on("click",function(a){a.preventDefault(),r.prop("checked",!r.is(":checked"))}),$("#less-variables-section .toggle").on("click",function(a){a.preventDefault(),s.val("")}),$("[data-dependencies]").on("click",function(){if($(this).is(":checked")){var a=this.getAttribute("data-dependencies");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!0)}}}}),$("[data-dependents]").on("click",function(){if(!$(this).is(":checked")){var a=this.getAttribute("data-dependents");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!1)}}}});var t=$("#btn-compile");t.on("click",function(a){var b=e(),c=JSON.stringify(b,null,2);a.preventDefault(),t.attr("disabled","disabled"),d(c,function(a,d){b.customizerUrl=d,c=JSON.stringify(b,null,2);var e="/*!\n * Generated using the Bootstrap Customizer ("+d+")\n * Config saved to config.json and "+a+"\n */\n";g(m(e),o(e),i(),c,function(a){t.removeAttr("disabled"),saveAs(a,"bootstrap.zip")})})}),function(){function a(){$(".bs-docs-section, .bs-docs-sidebar").css("display","none"),b('Looks like your current browser doesn\'t support the Bootstrap Customizer. Please take a second to <a href="http://browsehappy.com/">upgrade to a more modern browser</a> (other than Safari).',!0)}var c=window.webkitURL||window.URL,d=new Blob(["<svg xmlns='http://www.w3.org/2000/svg'></svg>"],{type:"image/svg+xml;charset=utf-8"}),e=c.createObjectURL(d);null===/^blob:/.exec(e)?a():$("<img>").on("load",function(){t.prop("disabled",!1)}).on("error",a).attr("src",e)}(),f()}; window.onload=function(){"use strict";function a(a,b){throw $('<div id="bsCustomizerAlert" class="bs-customizer-alert"><div class="container"><a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right">&times;</a><p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign"></span>'+a+"</p>"+(b.extract?'<pre class="bs-customizer-alert-extract">'+b.extract.join("\n")+"</pre>":"")+"</div></div>").appendTo("body").alert(),b}function b(a){$('<div class="bs-callout bs-callout-info"><button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>'+a+"</div>").insertAfter(".bs-customize-download")}function c(a,b){var c=$('<div class="bs-callout bs-callout-danger"><h4>Attention!</h4><p>'+a+"</p></div>");b?c.appendTo(".bs-docs-container"):c.insertAfter(".bs-customize-download")}function d(a){a=a.replace(/[*+?^$.\[\]{}()|\\\/]/g,"\\$&");var b=location.search.match(new RegExp("[?&]"+a+"=([^&]+)(&|$)"));return b&&decodeURIComponent(b[1].replace(/\+/g," "))}function e(c,d){var e={description:"Bootstrap Customizer Config","public":!0,files:{"config.json":{content:c}}};$.ajax({url:"https://api.github.com/gists",type:"POST",dataType:"json",data:JSON.stringify(e)}).success(function(a){var c=a.html_url,e=window.location.protocol+"//"+window.location.host,f=e+window.location.pathname+"?id="+a.id;b('<strong>Success!</strong> Your configuration has been saved to <a href="'+c+'">'+c+'</a> and can be revisited here at <a href="'+f+'">'+f+"</a> for further customization."),history.replaceState(!1,document.title,f),d(c,f)}).error(function(b){try{a("<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.",b)}catch(c){}d("<none>","<none>")})}function f(){var a={};$("#less-variables-section input").each(function(){$(this).val()&&(a[$(this).prev().text()]=$(this).val())});var b={vars:a,css:$("#less-section input:checked").map(function(){return this.value}).toArray(),js:$("#plugin-section input:checked").map(function(){return this.value}).toArray()};if(!$.isEmptyObject(b.vars)||b.css.length||b.js.length)return b}function g(){var b=d("id");b&&$.ajax({url:"https://api.github.com/gists/"+b,type:"GET",dataType:"json"}).success(function(a){var b=JSON.parse(a.files["config.json"].content);if(b.js&&$("#plugin-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.js))}),b.css&&$("#less-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.css))}),b.vars)for(var c in b.vars)$('input[data-var="'+c+'"]').val(b.vars[c])}).error(function(b){a("Error fetching bootstrap config file",b)})}function h(b,c,d,e,f){if(!b&&!c)return a("<strong>Ruh roh!</strong> No Bootstrap files selected.",new Error("no Bootstrap"));var g=new JSZip;if(b){var h=g.folder("css");for(var i in b)h.file(i,b[i])}if(c){var j=g.folder("js");for(var k in c)j.file(k,c[k])}if(d){var l=g.folder("fonts");for(var m in d)l.file(m,d[m],{base64:!0})}e&&g.file("config.json",e);var n=g.generate({type:"blob"});f(n)}function i(a){var b="";for(var c in a)b+=c+": "+a[c]+";\n";return b+"\n\n"}function j(){var a=$('#less-section [value="glyphicons.less"]:checked');return a.length?__fonts:void 0}function k(a){var b=/^@import \"(.*?)\";$/,c=__less[a].split("\n"),d=[];return $.each(c,function(a,c){var e=b.exec(c);if(e){var f=e[1],g=k(f);$.each(g,function(a,b){-1===$.inArray(b,d)&&d.push(b)}),d.push(f)}}),d}function l(a,b,c){var d=__less[a],e=k(a);return $.each(e,function(a,e){var f=b[e];(f||null==f)&&(d+=__less[e]),"variables.less"===e&&c&&(d+=i(c))}),d=d.replace(/@import[^\n]*/gi,"")}function m(b,c,d){var e=new less.Parser({paths:["variables.less","mixins.less"],optimization:0,filename:c+".css"});e.parse(b,function(b,e){return b?a("<strong>Ruh roh!</strong> Could not parse less files.",b):(d[c+".css"]=q+e.toCSS(),void(d[c+".min.css"]=q+e.toCSS({compress:!0})))})}function n(b){var c=!1,d={};if($("#less-section input").each(function(){var a=$(this),b=a.is(":checked");d[a.val()]=b,c=c||b}),!c)return!1;var e={},f={};$("#less-variables-section input").each(function(){$(this).val()&&(f[$(this).prev().text()]=$(this).val())});var g=b+l("bootstrap.less",d,f),h=b+l("theme.less",d,f);try{m(g,"bootstrap",e),m(h,"bootstrap-theme",e)}catch(i){return a("<strong>Ruh roh!</strong> Could not parse less files.",i)}return e}function o(a){var b=UglifyJS.parse(a);b.figure_out_scope();var c=UglifyJS.Compressor(),d=b.transform(c);d.figure_out_scope(),d.compute_char_frequency(),d.mangle_names();var e=UglifyJS.OutputStream();return d.print(e),e.toString()}function p(a){var b=$("#plugin-section input:checked"),c='if (typeof jQuery === "undefined") { throw new Error("Bootstrap\'s JavaScript requires jQuery") }\n\n';if(!b.length)return!1;var d=b.map(function(){return __js[this.value]}).toArray().join("\n");return a=q+a,d=c+d,{"bootstrap.js":a+d,"bootstrap.min.js":a+o(d)}}var q="/*!\n * Bootstrap v3.1.1 (http://getbootstrap.com)\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n",r=$("#less-section input"),s=$("#plugin-section input"),t=$("#less-variables-section input");$("#less-section .toggle").on("click",function(a){a.preventDefault(),r.prop("checked",!r.is(":checked"))}),$("#plugin-section .toggle").on("click",function(a){a.preventDefault(),s.prop("checked",!s.is(":checked"))}),$("#less-variables-section .toggle").on("click",function(a){a.preventDefault(),t.val("")}),$("[data-dependencies]").on("click",function(){if($(this).is(":checked")){var a=this.getAttribute("data-dependencies");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!0)}}}}),$("[data-dependents]").on("click",function(){if(!$(this).is(":checked")){var a=this.getAttribute("data-dependents");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!1)}}}});var u=$("#btn-compile");u.on("click",function(a){var b=f(),c=JSON.stringify(b,null,2);a.preventDefault(),u.attr("disabled","disabled"),e(c,function(a,d){b.customizerUrl=d,c=JSON.stringify(b,null,2);var e="/*!\n * Generated using the Bootstrap Customizer ("+d+")\n * Config saved to config.json and "+a+"\n */\n";h(n(e),p(e),j(),c,function(a){u.removeAttr("disabled"),saveAs(a,"bootstrap.zip")})})}),function(){function a(){$(".bs-docs-section, .bs-docs-sidebar").css("display","none"),c('Looks like your current browser doesn\'t support the Bootstrap Customizer. Please take a second to <a href="http://browsehappy.com/">upgrade to a more modern browser</a> (other than Safari).',!0)}var b=window.webkitURL||window.URL,d=new Blob(["<svg xmlns='http://www.w3.org/2000/svg'></svg>"],{type:"image/svg+xml;charset=utf-8"}),e=b.createObjectURL(d);null===/^blob:/.exec(e)?a():$("<img>").on("load",function(){u.prop("disabled",!1)}).on("error",a).attr("src",e)}(),g()};
\ No newline at end of file \ No newline at end of file
This diff is collapsed.
File suppressed by a .gitattributes entry or the file's encoding is unsupported.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
...@@ -14,8 +14,8 @@ body { ...@@ -14,8 +14,8 @@ body {
.container-viewport { .container-viewport {
position: absolute; position: absolute;
top: 100px; top: 100px;
left: 250px;
right: 250px; right: 250px;
left: 250px;
height: 300px; height: 300px;
background-color: #eee; background-color: #eee;
} }
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment