mirror of
https://github.com/HandBrake/HandBrake-docs.git
synced 2025-12-12 07:44:19 -06:00
templates: Update to Featherlight 1.7.12.
This commit is contained in:
parent
2d058ef44c
commit
61d85446ff
@ -1,8 +0,0 @@
|
||||
/**
|
||||
* Featherlight - ultra slim jQuery lightbox
|
||||
* Version 1.4.0 - http://noelboss.github.io/featherlight/
|
||||
*
|
||||
* Copyright 2016, Noël Raoul Bossart (http://www.noelboss.com)
|
||||
* MIT Licensed.
|
||||
**/
|
||||
@media all{.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle;margin-right:-.25em}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0}.featherlight iframe{border:0}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:10px;margin-right:10px;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}
|
||||
43
templates/mark1/assets/css/vendor/featherlight/featherlight-1.4.0.css → templates/mark1/assets/css/vendor/featherlight/featherlight-1.7.12.css
vendored
Executable file → Normal file
43
templates/mark1/assets/css/vendor/featherlight/featherlight-1.4.0.css → templates/mark1/assets/css/vendor/featherlight/featherlight-1.7.12.css
vendored
Executable file → Normal file
@ -1,11 +1,16 @@
|
||||
/**
|
||||
* Featherlight – ultra slim jQuery lightbox
|
||||
* Version 1.4.0 - http://noelboss.github.io/featherlight/
|
||||
* Version 1.7.12 - http://noelboss.github.io/featherlight/
|
||||
*
|
||||
* Copyright 2016, Noël Raoul Bossart (http://www.noelboss.com)
|
||||
* Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com)
|
||||
* MIT Licensed.
|
||||
**/
|
||||
@media all {
|
||||
html.with-featherlight {
|
||||
/* disable global scrolling when featherlights are visible */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.featherlight {
|
||||
display: none;
|
||||
|
||||
@ -38,7 +43,6 @@
|
||||
display: inline-block;
|
||||
height: 100%;
|
||||
vertical-align: middle;
|
||||
margin-right: -0.25em;
|
||||
}
|
||||
|
||||
.featherlight .featherlight-content {
|
||||
@ -74,6 +78,13 @@
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* don't show these though */
|
||||
.featherlight script.featherlight-inner,
|
||||
.featherlight link.featherlight-inner,
|
||||
.featherlight style.featherlight-inner {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.featherlight .featherlight-close-icon {
|
||||
/* position: centering vertical and horizontal */
|
||||
position: absolute;
|
||||
@ -92,8 +103,15 @@
|
||||
background: #fff; /* Set the background in case it overlaps the content */
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
color: #000;
|
||||
border: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* See http://stackoverflow.com/questions/16077341/how-to-reset-all-default-styles-of-the-html5-button-element */
|
||||
.featherlight .featherlight-close-icon::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.featherlight .featherlight-image {
|
||||
/* styling */
|
||||
@ -105,23 +123,38 @@
|
||||
/* removed the border for image croping since iframe is edge to edge */
|
||||
border-bottom: 0;
|
||||
padding: 0;
|
||||
-webkit-overflow-scrolling: touch;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
|
||||
.featherlight iframe {
|
||||
/* styling */
|
||||
border: none;
|
||||
}
|
||||
|
||||
.featherlight * { /* See https://github.com/noelboss/featherlight/issues/42 */
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
}
|
||||
|
||||
/* handling phones and small screens */
|
||||
@media only screen and (max-width: 1024px) {
|
||||
.featherlight .featherlight-content {
|
||||
/* dimensions: maximize lightbox with for small screens */
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
max-height: 98%;
|
||||
|
||||
padding: 10px 10px 0;
|
||||
border-bottom: 10px solid transparent;
|
||||
}
|
||||
}
|
||||
|
||||
/* hide non featherlight items when printing */
|
||||
@media print {
|
||||
html.with-featherlight > * > :not(.featherlight) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
8
templates/mark1/assets/css/vendor/featherlight/featherlight-1.7.12.min.css
vendored
Normal file
8
templates/mark1/assets/css/vendor/featherlight/featherlight-1.7.12.min.css
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/**
|
||||
* Featherlight - ultra slim jQuery lightbox
|
||||
* Version 1.7.12 - http://noelboss.github.io/featherlight/
|
||||
*
|
||||
* Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com)
|
||||
* MIT Licensed.
|
||||
**/
|
||||
@media all{html.with-featherlight{overflow:hidden}.featherlight{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;text-align:center;white-space:nowrap;cursor:pointer;background:#333;background:rgba(0,0,0,0)}.featherlight:last-of-type{background:rgba(0,0,0,.8)}.featherlight:before{content:'';display:inline-block;height:100%;vertical-align:middle}.featherlight .featherlight-content{position:relative;text-align:left;vertical-align:middle;display:inline-block;overflow:auto;padding:25px 25px 0;border-bottom:25px solid transparent;margin-left:5%;margin-right:5%;max-height:95%;background:#fff;cursor:auto;white-space:normal}.featherlight .featherlight-inner{display:block}.featherlight link.featherlight-inner,.featherlight script.featherlight-inner,.featherlight style.featherlight-inner{display:none}.featherlight .featherlight-close-icon{position:absolute;z-index:9999;top:0;right:0;line-height:25px;width:25px;cursor:pointer;text-align:center;font-family:Arial,sans-serif;background:#fff;background:rgba(255,255,255,.3);color:#000;border:0;padding:0}.featherlight .featherlight-close-icon::-moz-focus-inner{border:0;padding:0}.featherlight .featherlight-image{width:100%}.featherlight-iframe .featherlight-content{border-bottom:0;padding:0;-webkit-overflow-scrolling:touch;overflow-y:scroll}.featherlight iframe{border:0}.featherlight *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}}@media only screen and (max-width:1024px){.featherlight .featherlight-content{margin-left:0;margin-right:0;max-height:98%;padding:10px 10px 0;border-bottom:10px solid transparent}}@media print{html.with-featherlight>*>:not(.featherlight){display:none}}
|
||||
File diff suppressed because one or more lines are too long
172
templates/mark1/assets/js/vendor/featherlight/featherlight-1.4.0.js → templates/mark1/assets/js/vendor/featherlight/featherlight-1.7.12.js
vendored
Executable file → Normal file
172
templates/mark1/assets/js/vendor/featherlight/featherlight-1.4.0.js → templates/mark1/assets/js/vendor/featherlight/featherlight-1.7.12.js
vendored
Executable file → Normal file
@ -1,8 +1,8 @@
|
||||
/**
|
||||
* Featherlight - ultra slim jQuery lightbox
|
||||
* Version 1.4.0 - http://noelboss.github.io/featherlight/
|
||||
* Version 1.7.12 - http://noelboss.github.io/featherlight/
|
||||
*
|
||||
* Copyright 2016, Noël Raoul Bossart (http://www.noelboss.com)
|
||||
* Copyright 2017, Noël Raoul Bossart (http://www.noelboss.com)
|
||||
* MIT Licensed.
|
||||
**/
|
||||
(function($) {
|
||||
@ -12,7 +12,10 @@
|
||||
if('console' in window){ window.console.info('Too much lightness, Featherlight needs jQuery.'); }
|
||||
return;
|
||||
}
|
||||
|
||||
if($.fn.jquery.match(/-ajax/)) {
|
||||
if('console' in window){ window.console.info('Featherlight needs regular jQuery, not the slim version.'); }
|
||||
return;
|
||||
}
|
||||
/* Featherlight is exported as $.featherlight.
|
||||
It is a function used to open a featherlight lightbox.
|
||||
|
||||
@ -54,20 +57,38 @@
|
||||
return opened;
|
||||
};
|
||||
|
||||
// structure({iframeMinHeight: 44, foo: 0}, 'iframe')
|
||||
// #=> {min-height: 44}
|
||||
var structure = function(obj, prefix) {
|
||||
var result = {},
|
||||
// Removes keys of `set` from `obj` and returns the removed key/values.
|
||||
function slice(obj, set) {
|
||||
var r = {};
|
||||
for (var key in obj) {
|
||||
if (key in set) {
|
||||
r[key] = obj[key];
|
||||
delete obj[key];
|
||||
}
|
||||
}
|
||||
return r;
|
||||
}
|
||||
|
||||
// NOTE: List of available [iframe attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe).
|
||||
var iFrameAttributeSet = {
|
||||
allowfullscreen: 1, frameborder: 1, height: 1, longdesc: 1, marginheight: 1, marginwidth: 1,
|
||||
name: 1, referrerpolicy: 1, scrolling: 1, sandbox: 1, src: 1, srcdoc: 1, width: 1
|
||||
};
|
||||
|
||||
// Converts camelCased attributes to dasherized versions for given prefix:
|
||||
// parseAttrs({hello: 1, hellFrozeOver: 2}, 'hell') => {froze-over: 2}
|
||||
function parseAttrs(obj, prefix) {
|
||||
var attrs = {},
|
||||
regex = new RegExp('^' + prefix + '([A-Z])(.*)');
|
||||
for (var key in obj) {
|
||||
var match = key.match(regex);
|
||||
if (match) {
|
||||
var dasherized = (match[1] + match[2].replace(/([A-Z])/g, '-$1')).toLowerCase();
|
||||
result[dasherized] = obj[key];
|
||||
attrs[dasherized] = obj[key];
|
||||
}
|
||||
}
|
||||
return result;
|
||||
};
|
||||
return attrs;
|
||||
}
|
||||
|
||||
/* document wide key handler */
|
||||
var eventMap = { keyup: 'onKeyUp', resize: 'onResize' };
|
||||
@ -136,9 +157,9 @@
|
||||
$background = $(self.background || [
|
||||
'<div class="'+css+'-loading '+css+'">',
|
||||
'<div class="'+css+'-content">',
|
||||
'<span class="'+css+'-close-icon '+ self.namespace + '-close">',
|
||||
'<button class="'+css+'-close-icon '+ self.namespace + '-close" aria-label="Close">',
|
||||
self.closeIcon,
|
||||
'</span>',
|
||||
'</button>',
|
||||
'<div class="'+self.namespace+'-inner">' + self.loading + '</div>',
|
||||
'</div>',
|
||||
'</div>'].join('')),
|
||||
@ -148,6 +169,9 @@
|
||||
|
||||
/* close when click on background/anywhere/null or closebox */
|
||||
self.$instance.on(self.closeTrigger+'.'+self.namespace, function(event) {
|
||||
if(event.isDefaultPrevented()) {
|
||||
return;
|
||||
}
|
||||
var $target = $(event.target);
|
||||
if( ('background' === self.closeOnClick && $target.is('.'+self.namespace))
|
||||
|| 'anywhere' === self.closeOnClick
|
||||
@ -216,25 +240,22 @@
|
||||
|
||||
/* sets the content of $instance to $content */
|
||||
setContent: function($content){
|
||||
var self = this;
|
||||
/* we need a special class for the iframe */
|
||||
if($content.is('iframe') || $('iframe', $content).length > 0){
|
||||
self.$instance.addClass(self.namespace+'-iframe');
|
||||
}
|
||||
this.$instance.removeClass(this.namespace+'-loading');
|
||||
|
||||
self.$instance.removeClass(self.namespace+'-loading');
|
||||
/* we need a special class for the iframe */
|
||||
this.$instance.toggleClass(this.namespace+'-iframe', $content.is('iframe'));
|
||||
|
||||
/* replace content by appending to existing one before it is removed
|
||||
this insures that featherlight-inner remain at the same relative
|
||||
position to any other items added to featherlight-content */
|
||||
self.$instance.find('.'+self.namespace+'-inner')
|
||||
.not($content) /* excluded new content, important if persisted */
|
||||
.slice(1).remove().end() /* In the unexpected event where there are many inner elements, remove all but the first one */
|
||||
.replaceWith($.contains(self.$instance[0], $content[0]) ? '' : $content);
|
||||
/* replace content by appending to existing one before it is removed
|
||||
this insures that featherlight-inner remain at the same relative
|
||||
position to any other items added to featherlight-content */
|
||||
this.$instance.find('.'+this.namespace+'-inner')
|
||||
.not($content) /* excluded new content, important if persisted */
|
||||
.slice(1).remove().end() /* In the unexpected event where there are many inner elements, remove all but the first one */
|
||||
.replaceWith($.contains(this.$instance[0], $content[0]) ? '' : $content);
|
||||
|
||||
self.$content = $content.addClass(self.namespace+'-inner');
|
||||
this.$content = $content.addClass(this.namespace+'-inner');
|
||||
|
||||
return self;
|
||||
return this;
|
||||
},
|
||||
|
||||
/* opens the lightbox. "this" contains $instance with the lightbox, and with the config.
|
||||
@ -305,11 +326,13 @@
|
||||
/* Reset apparent image size first so container grows */
|
||||
this.$content.css('width', '').css('height', '');
|
||||
/* Calculate the worst ratio so that dimensions fit */
|
||||
/* Note: -1 to avoid rounding errors */
|
||||
var ratio = Math.max(
|
||||
w / parseInt(this.$content.parent().css('width'),10),
|
||||
h / parseInt(this.$content.parent().css('height'),10));
|
||||
w / (this.$content.parent().width()-1),
|
||||
h / (this.$content.parent().height()-1));
|
||||
/* Resize content */
|
||||
if (ratio > 1) {
|
||||
ratio = h / Math.floor(h / ratio); /* Round ratio down so height calc works */
|
||||
this.$content.css('width', '' + w / ratio + 'px').css('height', '' + h / ratio + 'px');
|
||||
}
|
||||
}
|
||||
@ -341,7 +364,7 @@
|
||||
process: function(elem) { return this.persist !== false ? $(elem) : $(elem).clone(true); }
|
||||
},
|
||||
image: {
|
||||
regex: /\.(png|jpg|jpeg|gif|tiff|bmp|svg)(\?\S*)?$/i,
|
||||
regex: /\.(png|jpg|jpeg|gif|tiff?|bmp|svg)(\?\S*)?$/i,
|
||||
process: function(url) {
|
||||
var self = this,
|
||||
deferred = $.Deferred(),
|
||||
@ -379,10 +402,13 @@
|
||||
iframe: {
|
||||
process: function(url) {
|
||||
var deferred = new $.Deferred();
|
||||
var $content = $('<iframe/>')
|
||||
.hide()
|
||||
var $content = $('<iframe/>');
|
||||
var css = parseAttrs(this, 'iframe');
|
||||
var attrs = slice(css, iFrameAttributeSet);
|
||||
$content.hide()
|
||||
.attr('src', url)
|
||||
.css(structure(this, 'iframe'))
|
||||
.attr(attrs)
|
||||
.css(css)
|
||||
.on('load', function() { deferred.resolve($content.show()); })
|
||||
// We can't move an <iframe> and avoid reloading it,
|
||||
// so let's put it in place ourselves right now:
|
||||
@ -412,7 +438,7 @@
|
||||
if ($.inArray(name, Klass.functionAttributes) >= 0) { /* jshint -W054 */
|
||||
val = new Function(val); /* jshint +W054 */
|
||||
} else {
|
||||
try { val = $.parseJSON(val); }
|
||||
try { val = JSON.parse(val); }
|
||||
catch(e) {}
|
||||
}
|
||||
config[name] = val;
|
||||
@ -457,24 +483,29 @@
|
||||
var namespace = config.namespace || Klass.defaults.namespace,
|
||||
tempConfig = $.extend({}, Klass.defaults, Klass.readElementConfig($source[0], namespace), config),
|
||||
sharedPersist;
|
||||
|
||||
$source.on(tempConfig.openTrigger+'.'+tempConfig.namespace, tempConfig.filter, function(event) {
|
||||
var handler = function(event) {
|
||||
var $target = $(event.currentTarget);
|
||||
/* ... since we might as well compute the config on the actual target */
|
||||
var elemConfig = $.extend(
|
||||
{$source: $source, $currentTarget: $(this)},
|
||||
{$source: $source, $currentTarget: $target},
|
||||
Klass.readElementConfig($source[0], tempConfig.namespace),
|
||||
Klass.readElementConfig(this, tempConfig.namespace),
|
||||
Klass.readElementConfig(event.currentTarget, tempConfig.namespace),
|
||||
config);
|
||||
var fl = sharedPersist || $(this).data('featherlight-persisted') || new Klass($content, elemConfig);
|
||||
var fl = sharedPersist || $target.data('featherlight-persisted') || new Klass($content, elemConfig);
|
||||
if(fl.persist === 'shared') {
|
||||
sharedPersist = fl;
|
||||
} else if(fl.persist !== false) {
|
||||
$(this).data('featherlight-persisted', fl);
|
||||
$target.data('featherlight-persisted', fl);
|
||||
}
|
||||
if (elemConfig.$currentTarget.blur) {
|
||||
elemConfig.$currentTarget.blur(); // Otherwise 'enter' key might trigger the dialog again
|
||||
}
|
||||
elemConfig.$currentTarget.blur(); // Otherwise 'enter' key might trigger the dialog again
|
||||
fl.open(event);
|
||||
});
|
||||
return $source;
|
||||
};
|
||||
|
||||
$source.on(tempConfig.openTrigger+'.'+tempConfig.namespace, tempConfig.filter, handler);
|
||||
|
||||
return handler;
|
||||
},
|
||||
|
||||
current: function() {
|
||||
@ -505,14 +536,13 @@
|
||||
});
|
||||
/* If a click propagates to the document level, then we have an item that was added later on */
|
||||
$(document).on('click', Klass.autoBind, function(evt) {
|
||||
if (evt.isDefaultPrevented() || evt.namespace === 'featherlight') {
|
||||
if (evt.isDefaultPrevented()) {
|
||||
return;
|
||||
}
|
||||
evt.preventDefault();
|
||||
/* Bind featherlight */
|
||||
Klass.attach($(evt.currentTarget));
|
||||
/* Click again; this time our binding will catch it */
|
||||
$(evt.target).trigger('click.featherlight');
|
||||
var handler = Klass.attach($(evt.currentTarget));
|
||||
/* Dispatch event directly */
|
||||
handler(evt);
|
||||
});
|
||||
}
|
||||
},
|
||||
@ -532,6 +562,48 @@
|
||||
}
|
||||
},
|
||||
|
||||
beforeOpen: function(_super, event) {
|
||||
// Used to disable scrolling
|
||||
$(document.documentElement).addClass('with-featherlight');
|
||||
|
||||
// Remember focus:
|
||||
this._previouslyActive = document.activeElement;
|
||||
|
||||
// Disable tabbing:
|
||||
// See http://stackoverflow.com/questions/1599660/which-html-elements-can-receive-focus
|
||||
this._$previouslyTabbable = $("a, input, select, textarea, iframe, button, iframe, [contentEditable=true]")
|
||||
.not('[tabindex]')
|
||||
.not(this.$instance.find('button'));
|
||||
|
||||
this._$previouslyWithTabIndex = $('[tabindex]').not('[tabindex="-1"]');
|
||||
this._previousWithTabIndices = this._$previouslyWithTabIndex.map(function(_i, elem) {
|
||||
return $(elem).attr('tabindex');
|
||||
});
|
||||
|
||||
this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr('tabindex', -1);
|
||||
|
||||
if (document.activeElement.blur) {
|
||||
document.activeElement.blur();
|
||||
}
|
||||
return _super(event);
|
||||
},
|
||||
|
||||
afterClose: function(_super, event) {
|
||||
var r = _super(event);
|
||||
// Restore focus
|
||||
var self = this;
|
||||
this._$previouslyTabbable.removeAttr('tabindex');
|
||||
this._$previouslyWithTabIndex.each(function(i, elem) {
|
||||
$(elem).attr('tabindex', self._previousWithTabIndices[i]);
|
||||
});
|
||||
this._previouslyActive.focus();
|
||||
// Restore scroll
|
||||
if(Featherlight.opened().length === 0) {
|
||||
$(document.documentElement).removeClass('with-featherlight');
|
||||
}
|
||||
return r;
|
||||
},
|
||||
|
||||
onResize: function(_super, event){
|
||||
this.resize(this.$content.naturalWidth, this.$content.naturalHeight);
|
||||
return _super(event);
|
||||
@ -539,6 +611,7 @@
|
||||
|
||||
afterContent: function(_super, event){
|
||||
var r = _super(event);
|
||||
this.$instance.find('[autofocus]:not([disabled])').focus();
|
||||
this.onResize(event);
|
||||
return r;
|
||||
}
|
||||
@ -549,7 +622,8 @@
|
||||
|
||||
/* bind jQuery elements to trigger featherlight */
|
||||
$.fn.featherlight = function($content, config) {
|
||||
return Featherlight.attach(this, $content, config);
|
||||
Featherlight.attach(this, $content, config);
|
||||
return this;
|
||||
};
|
||||
|
||||
/* bind featherlight on ready if config autoBind is set */
|
||||
8
templates/mark1/assets/js/vendor/featherlight/featherlight-1.7.12.min.js
vendored
Normal file
8
templates/mark1/assets/js/vendor/featherlight/featherlight-1.7.12.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -27,11 +27,11 @@ Template:
|
||||
Styles:
|
||||
- assets/css/opensans.css?2016100501
|
||||
- assets/css/ropasans.css?2016100501
|
||||
- assets/css/vendor/featherlight/featherlight-1.4.0.min.css
|
||||
- assets/css/vendor/featherlight/featherlight-1.7.12.min.css
|
||||
- assets/css/style.css?2016121201
|
||||
Scripts:
|
||||
- assets/js/vendor/jquery/jquery-2.2.3.min.js
|
||||
- assets/js/vendor/js-cookie/js-cookie-2.1.1.min.js
|
||||
- assets/js/vendor/featherlight/featherlight-1.4.0.min.js
|
||||
- assets/js/vendor/featherlight/featherlight-1.7.12.min.js
|
||||
- assets/js/scripts.js?2016111901
|
||||
...
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user