Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,540 @@
+/*!
+ * jQuery Migrate - v3.0.0 - 2016-06-09
+ * Copyright jQuery Foundation and other contributors
+ */
+(function( jQuery, window ) {
+"use strict";
+
+
+jQuery.migrateVersion = "3.0.0";
+
+
+( function() {
+
+       // Support: IE9 only
+       // IE9 only creates console object when dev tools are first opened
+       // Also, avoid Function#bind here to simplify PhantomJS usage
+       var log = window.console && window.console.log &&
+                       function() { window.console.log.apply( window.console, 
arguments ); },
+               rbadVersions = /^[12]\./;
+
+       if ( !log ) {
+               return;
+       }
+
+       // Need jQuery 3.0.0+ and no older Migrate loaded
+       if ( !jQuery || rbadVersions.test( jQuery.fn.jquery ) ) {
+               log( "JQMIGRATE: jQuery 3.0.0+ REQUIRED" );
+       }
+       if ( jQuery.migrateWarnings ) {
+               log( "JQMIGRATE: Migrate plugin loaded multiple times" );
+       }
+
+       // Show a message on the console so devs know we're active
+       log( "JQMIGRATE: Migrate is installed" +
+               ( jQuery.migrateMute ? "" : " with logging active" ) +
+               ", version " + jQuery.migrateVersion );
+
+} )();
+
+var warnedAbout = {};
+
+// List of warnings already given; public read only
+jQuery.migrateWarnings = [];
+
+// Set to false to disable traces that appear with warnings
+if ( jQuery.migrateTrace === undefined ) {
+       jQuery.migrateTrace = true;
+}
+
+// Forget any warnings we've already given; public
+jQuery.migrateReset = function() {
+       warnedAbout = {};
+       jQuery.migrateWarnings.length = 0;
+};
+
+function migrateWarn( msg ) {
+       var console = window.console;
+       if ( !warnedAbout[ msg ] ) {
+               warnedAbout[ msg ] = true;
+               jQuery.migrateWarnings.push( msg );
+               if ( console && console.warn && !jQuery.migrateMute ) {
+                       console.warn( "JQMIGRATE: " + msg );
+                       if ( jQuery.migrateTrace && console.trace ) {
+                               console.trace();
+                       }
+               }
+       }
+}
+
+function migrateWarnProp( obj, prop, value, msg ) {
+       Object.defineProperty( obj, prop, {
+               configurable: true,
+               enumerable: true,
+               get: function() {
+                       migrateWarn( msg );
+                       return value;
+               }
+       } );
+}
+
+if ( document.compatMode === "BackCompat" ) {
+
+       // JQuery has never supported or tested Quirks Mode
+       migrateWarn( "jQuery is not compatible with Quirks Mode" );
+}
+
+
+var oldInit = jQuery.fn.init,
+       oldIsNumeric = jQuery.isNumeric,
+       oldFind = jQuery.find,
+       rattrHashTest = /\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,
+       rattrHashGlob = 
/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;
+
+jQuery.fn.init = function( arg1 ) {
+       var args = Array.prototype.slice.call( arguments );
+
+       if ( typeof arg1 === "string" && arg1 === "#" ) {
+
+               // JQuery( "#" ) is a bogus ID selector, but it returned an 
empty set before jQuery 3.0
+               migrateWarn( "jQuery( '#' ) is not a valid selector" );
+               args[ 0 ] = [];
+       }
+
+       return oldInit.apply( this, args );
+};
+jQuery.fn.init.prototype = jQuery.fn;
+
+jQuery.find = function( selector ) {
+       var args = Array.prototype.slice.call( arguments );
+
+       // Support: PhantomJS 1.x
+       // String#match fails to match when used with a //g RegExp, only on 
some strings
+       if ( typeof selector === "string" && rattrHashTest.test( selector ) ) {
+
+               // The nonstandard and undocumented unquoted-hash was removed 
in jQuery 1.12.0
+               // First see if qS thinks it's a valid selector, if so avoid a 
false positive
+               try {
+                       document.querySelector( selector );
+               } catch ( err1 ) {
+
+                       // Didn't *look* valid to qSA, warn and try quoting 
what we think is the value
+                       selector = selector.replace( rattrHashGlob, function( 
_, attr, op, value ) {
+                               return "[" + attr + op + "\"" + value + "\"]";
+                       } );
+
+                       // If the regexp *may* have created an invalid 
selector, don't update it
+                       // Note that there may be false alarms if selector uses 
jQuery extensions
+                       try {
+                               document.querySelector( selector );
+                               migrateWarn( "Attribute selector with '#' must 
be quoted: " + args[ 0 ] );
+                               args[ 0 ] = selector;
+                       } catch ( err2 ) {
+                               migrateWarn( "Attribute selector with '#' was 
not fixed: " + args[ 0 ] );
+                       }
+               }
+       }
+
+       return oldFind.apply( this, args );
+};
+
+// Copy properties attached to original jQuery.find method (e.g. .attr, .isXML)
+var findProp;
+for ( findProp in oldFind ) {
+       if ( Object.prototype.hasOwnProperty.call( oldFind, findProp ) ) {
+               jQuery.find[ findProp ] = oldFind[ findProp ];
+       }
+}
+
+// The number of elements contained in the matched element set
+jQuery.fn.size = function() {
+       migrateWarn( "jQuery.fn.size() is deprecated; use the .length property" 
);
+       return this.length;
+};
+
+jQuery.parseJSON = function() {
+       migrateWarn( "jQuery.parseJSON is deprecated; use JSON.parse" );
+       return JSON.parse.apply( null, arguments );
+};
+
+jQuery.isNumeric = function( val ) {
+
+       // The jQuery 2.2.3 implementation of isNumeric
+       function isNumeric2( obj ) {
+               var realStringObj = obj && obj.toString();
+               return !jQuery.isArray( obj ) && ( realStringObj - parseFloat( 
realStringObj ) + 1 ) >= 0;
+       }
+
+       var newValue = oldIsNumeric( val ),
+               oldValue = isNumeric2( val );
+
+       if ( newValue !== oldValue ) {
+               migrateWarn( "jQuery.isNumeric() should not be called on 
constructed objects" );
+       }
+
+       return oldValue;
+};
+
+migrateWarnProp( jQuery, "unique", jQuery.uniqueSort,
+       "jQuery.unique is deprecated, use jQuery.uniqueSort" );
+
+// Now jQuery.expr.pseudos is the standard incantation
+migrateWarnProp( jQuery.expr, "filters", jQuery.expr.pseudos,
+       "jQuery.expr.filters is now jQuery.expr.pseudos" );
+migrateWarnProp( jQuery.expr, ":", jQuery.expr.pseudos,
+       "jQuery.expr[\":\"] is now jQuery.expr.pseudos" );
+
+
+var oldAjax = jQuery.ajax;
+
+jQuery.ajax = function( ) {
+       var jQXHR = oldAjax.apply( this, arguments );
+
+       // Be sure we got a jQXHR (e.g., not sync)
+       if ( jQXHR.promise ) {
+               migrateWarnProp( jQXHR, "success", jQXHR.done,
+                       "jQXHR.success is deprecated and removed" );
+               migrateWarnProp( jQXHR, "error", jQXHR.fail,
+                       "jQXHR.error is deprecated and removed" );
+               migrateWarnProp( jQXHR, "complete", jQXHR.always,
+                       "jQXHR.complete is deprecated and removed" );
+       }
+
+       return jQXHR;
+};
+
+
+var oldRemoveAttr = jQuery.fn.removeAttr,
+       oldToggleClass = jQuery.fn.toggleClass,
+       rmatchNonSpace = /\S+/g;
+
+jQuery.fn.removeAttr = function( name ) {
+       var self = this;
+
+       jQuery.each( name.match( rmatchNonSpace ), function( i, attr ) {
+               if ( jQuery.expr.match.bool.test( attr ) ) {
+                       migrateWarn( "jQuery.fn.removeAttr no longer sets 
boolean properties: " + attr );
+                       self.prop( attr, false );
+               }
+       } );
+
+       return oldRemoveAttr.apply( this, arguments );
+};
+
+jQuery.fn.toggleClass = function( state ) {
+
+       // Only deprecating no-args or single boolean arg
+       if ( state !== undefined && typeof state !== "boolean" ) {
+               return oldToggleClass.apply( this, arguments );
+       }
+
+       migrateWarn( "jQuery.fn.toggleClass( boolean ) is deprecated" );
+
+       // Toggle entire class name of each element
+       return this.each( function() {
+               var className = this.getAttribute && this.getAttribute( "class" 
) || "";
+
+               if ( className ) {
+                       jQuery.data( this, "__className__", className );
+               }
+
+               // If the element has a class name or if we're passed `false`,
+               // then remove the whole classname (if there was one, the above 
saved it).
+               // Otherwise bring back whatever was previously saved (if 
anything),
+               // falling back to the empty string if nothing was stored.
+               if ( this.setAttribute ) {
+                       this.setAttribute( "class",
+                               className || state === false ?
+                               "" :
+                               jQuery.data( this, "__className__" ) || ""
+                       );
+               }
+       } );
+};
+
+
+var internalSwapCall = false;
+
+// If this version of jQuery has .swap(), don't false-alarm on internal uses
+if ( jQuery.swap ) {
+       jQuery.each( [ "height", "width", "reliableMarginRight" ], function( _, 
name ) {
+               var oldHook = jQuery.cssHooks[ name ] && jQuery.cssHooks[ name 
].get;
+
+               if ( oldHook ) {
+                       jQuery.cssHooks[ name ].get = function() {
+                               var ret;
+
+                               internalSwapCall = true;
+                               ret = oldHook.apply( this, arguments );
+                               internalSwapCall = false;
+                               return ret;
+                       };
+               }
+       } );
+}
+
+jQuery.swap = function( elem, options, callback, args ) {
+       var ret, name,
+               old = {};
+
+       if ( !internalSwapCall ) {
+               migrateWarn( "jQuery.swap() is undocumented and deprecated" );
+       }
+
+       // Remember the old values, and insert the new ones
+       for ( name in options ) {
+               old[ name ] = elem.style[ name ];
+               elem.style[ name ] = options[ name ];
+       }
+
+       ret = callback.apply( elem, args || [] );
+
+       // Revert the old values
+       for ( name in options ) {
+               elem.style[ name ] = old[ name ];
+       }
+
+       return ret;
+};
+
+var oldData = jQuery.data;
+
+jQuery.data = function( elem, name, value ) {
+       var curData;
+
+       // If the name is transformed, look for the un-transformed name in the 
data object
+       if ( name && name !== jQuery.camelCase( name ) ) {
+               curData = jQuery.hasData( elem ) && oldData.call( this, elem );
+               if ( curData && name in curData ) {
+                       migrateWarn( "jQuery.data() always sets/gets camelCased 
names: " + name );
+                       if ( arguments.length > 2 ) {
+                               curData[ name ] = value;
+                       }
+                       return curData[ name ];
+               }
+       }
+
+       return oldData.apply( this, arguments );
+};
+
+var oldTweenRun = jQuery.Tween.prototype.run;
+
+jQuery.Tween.prototype.run = function( percent ) {
+       if ( jQuery.easing[ this.easing ].length > 1 ) {
+               migrateWarn(
+                       "easing function " +
+                       "\"jQuery.easing." + this.easing.toString() +
+                       "\" should use only first argument"
+               );
+
+               jQuery.easing[ this.easing ] = jQuery.easing[ this.easing 
].bind(
+                       jQuery.easing,
+                       percent, this.options.duration * percent, 0, 1, 
this.options.duration
+               );
+       }
+
+       oldTweenRun.apply( this, arguments );
+};
+
+var oldLoad = jQuery.fn.load,
+       originalFix = jQuery.event.fix;
+
+jQuery.event.props = [];
+jQuery.event.fixHooks = {};
+
+jQuery.event.fix = function( originalEvent ) {
+       var event,
+               type = originalEvent.type,
+               fixHook = this.fixHooks[ type ],
+               props = jQuery.event.props;
+
+       if ( props.length ) {
+               migrateWarn( "jQuery.event.props are deprecated and removed: " 
+ props.join() );
+               while ( props.length ) {
+                       jQuery.event.addProp( props.pop() );
+               }
+       }
+
+       if ( fixHook && !fixHook._migrated_ ) {
+               fixHook._migrated_ = true;
+               migrateWarn( "jQuery.event.fixHooks are deprecated and removed: 
" + type );
+               if ( ( props = fixHook.props ) && props.length ) {
+                       while ( props.length ) {
+                          jQuery.event.addProp( props.pop() );
+                       }
+               }
+       }
+
+       event = originalFix.call( this, originalEvent );
+
+       return fixHook && fixHook.filter ? fixHook.filter( event, originalEvent 
) : event;
+};
+
+jQuery.each( [ "load", "unload", "error" ], function( _, name ) {
+
+       jQuery.fn[ name ] = function() {
+               var args = Array.prototype.slice.call( arguments, 0 );
+
+               // If this is an ajax load() the first arg should be the string 
URL;
+               // technically this could also be the "Anything" arg of the 
event .load()
+               // which just goes to show why this dumb signature has been 
deprecated!
+               // jQuery custom builds that exclude the Ajax module 
justifiably die here.
+               if ( name === "load" && typeof args[ 0 ] === "string" ) {
+                       return oldLoad.apply( this, args );
+               }
+
+               migrateWarn( "jQuery.fn." + name + "() is deprecated" );
+
+               args.splice( 0, 0, name );
+               if ( arguments.length ) {
+                       return this.on.apply( this, args );
+               }
+
+               // Use .triggerHandler here because:
+               // - load and unload events don't need to bubble, only applied 
to window or image
+               // - error event should not bubble to window, although it does 
pre-1.7
+               // See http://bugs.jquery.com/ticket/11820
+               this.triggerHandler.apply( this, args );
+               return this;
+       };
+
+} );
+
+// Trigger "ready" event only once, on document ready
+jQuery( function() {
+       jQuery( document ).triggerHandler( "ready" );
+} );
+
+jQuery.event.special.ready = {
+       setup: function() {
+               if ( this === document ) {
+                       migrateWarn( "'ready' event is deprecated" );
+               }
+       }
+};
+
+jQuery.fn.extend( {
+
+       bind: function( types, data, fn ) {
+               migrateWarn( "jQuery.fn.bind() is deprecated" );
+               return this.on( types, null, data, fn );
+       },
+       unbind: function( types, fn ) {
+               migrateWarn( "jQuery.fn.unbind() is deprecated" );
+               return this.off( types, null, fn );
+       },
+       delegate: function( selector, types, data, fn ) {
+               migrateWarn( "jQuery.fn.delegate() is deprecated" );
+               return this.on( types, selector, data, fn );
+       },
+       undelegate: function( selector, types, fn ) {
+               migrateWarn( "jQuery.fn.undelegate() is deprecated" );
+               return arguments.length === 1 ?
+                       this.off( selector, "**" ) :
+                       this.off( types, selector || "**", fn );
+       }
+} );
+
+
+var oldOffset = jQuery.fn.offset;
+
+jQuery.fn.offset = function() {
+       var docElem,
+               elem = this[ 0 ],
+               origin = { top: 0, left: 0 };
+
+       if ( !elem || !elem.nodeType ) {
+               migrateWarn( "jQuery.fn.offset() requires a valid DOM element" 
);
+               return origin;
+       }
+
+       docElem = ( elem.ownerDocument || document ).documentElement;
+       if ( !jQuery.contains( docElem, elem ) ) {
+               migrateWarn( "jQuery.fn.offset() requires an element connected 
to a document" );
+               return origin;
+       }
+
+       return oldOffset.apply( this, arguments );
+};
+
+
+var oldParam = jQuery.param;
+
+jQuery.param = function( data, traditional ) {
+       var ajaxTraditional = jQuery.ajaxSettings && 
jQuery.ajaxSettings.traditional;
+
+       if ( traditional === undefined && ajaxTraditional ) {
+
+               migrateWarn( "jQuery.param() no longer uses 
jQuery.ajaxSettings.traditional" );
+               traditional = ajaxTraditional;
+       }
+
+       return oldParam.call( this, data, traditional );
+};
+
+var oldSelf = jQuery.fn.andSelf || jQuery.fn.addBack;
+
+jQuery.fn.andSelf = function() {
+       migrateWarn( "jQuery.fn.andSelf() replaced by jQuery.fn.addBack()" );
+       return oldSelf.apply( this, arguments );
+};
+
+
+var oldDeferred = jQuery.Deferred,
+       tuples = [
+
+               // Action, add listener, callbacks, .then handlers, final state
+               [ "resolve", "done", jQuery.Callbacks( "once memory" ),
+                       jQuery.Callbacks( "once memory" ), "resolved" ],
+               [ "reject", "fail", jQuery.Callbacks( "once memory" ),
+                       jQuery.Callbacks( "once memory" ), "rejected" ],
+               [ "notify", "progress", jQuery.Callbacks( "memory" ),
+                       jQuery.Callbacks( "memory" ) ]
+       ];
+
+jQuery.Deferred = function( func ) {
+       var deferred = oldDeferred(),
+               promise = deferred.promise();
+
+       deferred.pipe = promise.pipe = function( /* fnDone, fnFail, fnProgress 
*/ ) {
+               var fns = arguments;
+
+               migrateWarn( "deferred.pipe() is deprecated" );
+
+               return jQuery.Deferred( function( newDefer ) {
+                       jQuery.each( tuples, function( i, tuple ) {
+                               var fn = jQuery.isFunction( fns[ i ] ) && fns[ 
i ];
+
+                               // Deferred.done(function() { bind to newDefer 
or newDefer.resolve })
+                               // deferred.fail(function() { bind to newDefer 
or newDefer.reject })
+                               // deferred.progress(function() { bind to 
newDefer or newDefer.notify })
+                               deferred[ tuple[ 1 ] ]( function() {
+                                       var returned = fn && fn.apply( this, 
arguments );
+                                       if ( returned && jQuery.isFunction( 
returned.promise ) ) {
+                                               returned.promise()
+                                                       .done( newDefer.resolve 
)
+                                                       .fail( newDefer.reject )
+                                                       .progress( 
newDefer.notify );
+                                       } else {
+                                               newDefer[ tuple[ 0 ] + "With" ](
+                                                       this === promise ? 
newDefer.promise() : this,
+                                                       fn ? [ returned ] : 
arguments
+                                               );
+                                       }
+                               } );
+                       } );
+                       fns = null;
+               } ).promise();
+
+       };
+
+       if ( func ) {
+               func.call( deferred, deferred );
+       }
+
+       return deferred;
+};
+
+
+
+})( jQuery, window );

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,2 @@
+/*! jQuery Migrate v3.0.0 | (c) jQuery Foundation and other contributors | 
jquery.org/license */
+"undefined"==typeof 
jQuery.migrateMute&&(jQuery.migrateMute=!0),function(a,b){"use strict";function 
c(c){var 
d=b.console;e[c]||(e[c]=!0,a.migrateWarnings.push(c),d&&d.warn&&!a.migrateMute&&(d.warn("JQMIGRATE:
 "+c),a.migrateTrace&&d.trace&&d.trace()))}function 
d(a,b,d,e){Object.defineProperty(a,b,{configurable:!0,enumerable:!0,get:function(){return
 c(e),d}})}a.migrateVersion="3.0.0",function(){var 
c=b.console&&b.console.log&&function(){b.console.log.apply(b.console,arguments)},d=/^[12]\./;c&&(a&&!d.test(a.fn.jquery)||c("JQMIGRATE:
 jQuery 3.0.0+ REQUIRED"),a.migrateWarnings&&c("JQMIGRATE: Migrate plugin 
loaded multiple times"),c("JQMIGRATE: Migrate is installed"+(a.migrateMute?"":" 
with logging active")+", version "+a.migrateVersion))}();var 
e={};a.migrateWarnings=[],void 
0===a.migrateTrace&&(a.migrateTrace=!0),a.migrateReset=function(){e={},a.migrateWarnings.length=0},"BackCompat"===document.compatMode&&c("jQuery
 is not compatible with Quirks Mode");var f=a.fn.init,g=a.isNumeric,h=a.
 
find,i=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/,j=/\[(\s*[-\w]+\s*)([~|^$*]?=)\s*([-\w#]*?#[-\w#]*)\s*\]/g;a.fn.init=function(a){var
 b=Array.prototype.slice.call(arguments);return"string"==typeof 
a&&"#"===a&&(c("jQuery( '#' ) is not a valid 
selector"),b[0]=[]),f.apply(this,b)},a.fn.init.prototype=a.fn,a.find=function(a){var
 b=Array.prototype.slice.call(arguments);if("string"==typeof 
a&&i.test(a))try{document.querySelector(a)}catch(d){a=a.replace(j,function(a,b,c,d){return"["+b+c+'"'+d+'"]'});try{document.querySelector(a),c("Attribute
 selector with '#' must be quoted: "+b[0]),b[0]=a}catch(e){c("Attribute 
selector with '#' was not fixed: "+b[0])}}return h.apply(this,b)};var k;for(k 
in 
h)Object.prototype.hasOwnProperty.call(h,k)&&(a.find[k]=h[k]);a.fn.size=function(){return
 c("jQuery.fn.size() is deprecated; use the .length 
property"),this.length},a.parseJSON=function(){return c("jQuery.parseJSON is 
deprecated; use JSON.parse"),JSON.parse.apply(null,arguments)},a.isNumer
 ic=function(b){function d(b){var 
c=b&&b.toString();return!a.isArray(b)&&c-parseFloat(c)+1>=0}var 
e=g(b),f=d(b);return e!==f&&c("jQuery.isNumeric() should not be called on 
constructed objects"),f},d(a,"unique",a.uniqueSort,"jQuery.unique is 
deprecated, use 
jQuery.uniqueSort"),d(a.expr,"filters",a.expr.pseudos,"jQuery.expr.filters is 
now jQuery.expr.pseudos"),d(a.expr,":",a.expr.pseudos,'jQuery.expr[":"] is now 
jQuery.expr.pseudos');var l=a.ajax;a.ajax=function(){var 
a=l.apply(this,arguments);return 
a.promise&&(d(a,"success",a.done,"jQXHR.success is deprecated and 
removed"),d(a,"error",a.fail,"jQXHR.error is deprecated and 
removed"),d(a,"complete",a.always,"jQXHR.complete is deprecated and 
removed")),a};var 
m=a.fn.removeAttr,n=a.fn.toggleClass,o=/\S+/g;a.fn.removeAttr=function(b){var 
d=this;return 
a.each(b.match(o),function(b,e){a.expr.match.bool.test(e)&&(c("jQuery.fn.removeAttr
 no longer sets boolean properties: 
"+e),d.prop(e,!1))}),m.apply(this,arguments)},a.fn.toggleClass=function
 (b){return void 0!==b&&"boolean"!=typeof 
b?n.apply(this,arguments):(c("jQuery.fn.toggleClass( boolean ) is 
deprecated"),this.each(function(){var 
c=this.getAttribute&&this.getAttribute("class")||"";c&&a.data(this,"__className__",c),this.setAttribute&&this.setAttribute("class",c||b===!1?"":a.data(this,"__className__")||"")}))};var
 p=!1;a.swap&&a.each(["height","width","reliableMarginRight"],function(b,c){var 
d=a.cssHooks[c]&&a.cssHooks[c].get;d&&(a.cssHooks[c].get=function(){var 
a;return p=!0,a=d.apply(this,arguments),p=!1,a})}),a.swap=function(a,b,d,e){var 
f,g,h={};p||c("jQuery.swap() is undocumented and deprecated");for(g in 
b)h[g]=a.style[g],a.style[g]=b[g];f=d.apply(a,e||[]);for(g in 
b)a.style[g]=h[g];return f};var q=a.data;a.data=function(b,d,e){var f;return 
d&&d!==a.camelCase(d)&&(f=a.hasData(b)&&q.call(this,b),f&&d in 
f)?(c("jQuery.data() always sets/gets camelCased names: 
"+d),arguments.length>2&&(f[d]=e),f[d]):q.apply(this,arguments)};var 
r=a.Tween.prototype.run;a.Tween.proto
 type.run=function(b){a.easing[this.easing].length>1&&(c('easing function 
"jQuery.easing.'+this.easing.toString()+'" should use only first 
argument'),a.easing[this.easing]=a.easing[this.easing].bind(a.easing,b,this.options.duration*b,0,1,this.options.duration)),r.apply(this,arguments)};var
 
s=a.fn.load,t=a.event.fix;a.event.props=[],a.event.fixHooks={},a.event.fix=function(b){var
 
d,e=b.type,f=this.fixHooks[e],g=a.event.props;if(g.length)for(c("jQuery.event.props
 are deprecated and removed: 
"+g.join());g.length;)a.event.addProp(g.pop());if(f&&!f._migrated_&&(f._migrated_=!0,c("jQuery.event.fixHooks
 are deprecated and removed: 
"+e),(g=f.props)&&g.length))for(;g.length;)a.event.addProp(g.pop());return 
d=t.call(this,b),f&&f.filter?f.filter(d,b):d},a.each(["load","unload","error"],function(b,d){a.fn[d]=function(){var
 a=Array.prototype.slice.call(arguments,0);return"load"===d&&"string"==typeof 
a[0]?s.apply(this,a):(c("jQuery.fn."+d+"() is 
deprecated"),a.splice(0,0,d),arguments.length?this.o
 
n.apply(this,a):(this.triggerHandler.apply(this,a),this))}}),a(function(){a(document).triggerHandler("ready")}),a.event.special.ready={setup:function(){this===document&&c("'ready'
 event is deprecated")}},a.fn.extend({bind:function(a,b,d){return 
c("jQuery.fn.bind() is 
deprecated"),this.on(a,null,b,d)},unbind:function(a,b){return 
c("jQuery.fn.unbind() is 
deprecated"),this.off(a,null,b)},delegate:function(a,b,d,e){return 
c("jQuery.fn.delegate() is 
deprecated"),this.on(b,a,d,e)},undelegate:function(a,b,d){return 
c("jQuery.fn.undelegate() is 
deprecated"),1===arguments.length?this.off(a,"**"):this.off(b,a||"**",d)}});var 
u=a.fn.offset;a.fn.offset=function(){var b,d=this[0],e={top:0,left:0};return 
d&&d.nodeType?(b=(d.ownerDocument||document).documentElement,a.contains(b,d)?u.apply(this,arguments):(c("jQuery.fn.offset()
 requires an element connected to a document"),e)):(c("jQuery.fn.offset() 
requires a valid DOM element"),e)};var v=a.param;a.param=function(b,d){var 
e=a.ajaxSettings&&a.ajaxS
 ettings.traditional;return void 0===d&&e&&(c("jQuery.param() no longer uses 
jQuery.ajaxSettings.traditional"),d=e),v.call(this,b,d)};var 
w=a.fn.andSelf||a.fn.addBack;a.fn.andSelf=function(){return 
c("jQuery.fn.andSelf() replaced by 
jQuery.fn.addBack()"),w.apply(this,arguments)};var 
x=a.Deferred,y=[["resolve","done",a.Callbacks("once memory"),a.Callbacks("once 
memory"),"resolved"],["reject","fail",a.Callbacks("once 
memory"),a.Callbacks("once 
memory"),"rejected"],["notify","progress",a.Callbacks("memory"),a.Callbacks("memory")]];a.Deferred=function(b){var
 d=x(),e=d.promise();return d.pipe=e.pipe=function(){var b=arguments;return 
c("deferred.pipe() is 
deprecated"),a.Deferred(function(c){a.each(y,function(f,g){var 
h=a.isFunction(b[f])&&b[f];d[g[1]](function(){var 
b=h&&h.apply(this,arguments);b&&a.isFunction(b.promise)?b.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[g[0]+"With"](this===e?c.promise():this,h?[b]:arguments)})}),b=null}).promise()},b&&b.call(d,d),d}}(jQuery,w
 indow);
\ No newline at end of file

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/jquery-migrate-3.0.0.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,193 @@
+/*!
+ * jQuery Browser Plugin 0.1.0
+ * https://github.com/gabceb/jquery-browser-plugin
+ *
+ * Original jquery-browser code Copyright 2005, 2015 jQuery Foundation, Inc. 
and other contributors
+ * http://jquery.org/license
+ *
+ * Modifications Copyright 2015 Gabriel Cebrian
+ * https://github.com/gabceb
+ *
+ * Released under the MIT license
+ *
+ * Date: 05-07-2015
+ */
+/*global window: false */
+
+(function (factory) {
+  if (typeof define === 'function' && define.amd) {
+    // AMD. Register as an anonymous module.
+    define(['jquery'], function ($) {
+      return factory($);
+    });
+  } else if (typeof module === 'object' && typeof module.exports === 'object') 
{
+    // Node-like environment
+    module.exports = factory(require('jquery'));
+  } else {
+    // Browser globals
+    factory(window.jQuery);
+  }
+}(function(jQuery) {
+  "use strict";
+
+  function uaMatch( ua ) {
+    // If an UA is not provided, default to the current browser UA.
+    if ( ua === undefined ) {
+      ua = window.navigator.userAgent;
+    }
+    ua = ua.toLowerCase();
+
+    var match = /(edge)\/([\w.]+)/.exec( ua ) ||
+        /(opr)[\/]([\w.]+)/.exec( ua ) ||
+        /(chrome)[ \/]([\w.]+)/.exec( ua ) ||
+        /(iemobile)[\/]([\w.]+)/.exec( ua ) ||
+        /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua 
) ||
+        /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ 
\/]([\w.]+)/.exec( ua ) ||
+        /(webkit)[ \/]([\w.]+)/.exec( ua ) ||
+        /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) ||
+        /(msie) ([\w.]+)/.exec( ua ) ||
+        ua.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec( ua ) ||
+        ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( 
ua ) ||
+        [];
+
+    var platform_match = /(ipad)/.exec( ua ) ||
+        /(ipod)/.exec( ua ) ||
+        /(windows phone)/.exec( ua ) ||
+        /(iphone)/.exec( ua ) ||
+        /(kindle)/.exec( ua ) ||
+        /(silk)/.exec( ua ) ||
+        /(android)/.exec( ua ) ||
+        /(win)/.exec( ua ) ||
+        /(mac)/.exec( ua ) ||
+        /(linux)/.exec( ua ) ||
+        /(cros)/.exec( ua ) ||
+        /(playbook)/.exec( ua ) ||
+        /(bb)/.exec( ua ) ||
+        /(blackberry)/.exec( ua ) ||
+        [];
+
+    var browser = {},
+        matched = {
+          browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || "",
+          version: match[ 2 ] || match[ 4 ] || "0",
+          versionNumber: match[ 4 ] || match[ 2 ] || "0",
+          platform: platform_match[ 0 ] || ""
+        };
+
+    if ( matched.browser ) {
+      browser[ matched.browser ] = true;
+      browser.version = matched.version;
+      browser.versionNumber = parseInt(matched.versionNumber, 10);
+    }
+
+    if ( matched.platform ) {
+      browser[ matched.platform ] = true;
+    }
+
+    // These are all considered mobile platforms, meaning they run a mobile 
browser
+    if ( browser.android || browser.bb || browser.blackberry || browser.ipad 
|| browser.iphone ||
+      browser.ipod || browser.kindle || browser.playbook || browser.silk || 
browser[ "windows phone" ]) {
+      browser.mobile = true;
+    }
+
+    // These are all considered desktop platforms, meaning they run a desktop 
browser
+    if ( browser.cros || browser.mac || browser.linux || browser.win ) {
+      browser.desktop = true;
+    }
+
+    // Chrome, Opera 15+ and Safari are webkit based browsers
+    if ( browser.chrome || browser.opr || browser.safari ) {
+      browser.webkit = true;
+    }
+
+    // IE11 has a new token so we will assign it msie to avoid breaking changes
+    if ( browser.rv || browser.iemobile) {
+      var ie = "msie";
+
+      matched.browser = ie;
+      browser[ie] = true;
+    }
+
+    // Edge is officially known as Microsoft Edge, so rewrite the key to match
+    if ( browser.edge ) {
+      delete browser.edge;
+      var msedge = "msedge";
+
+      matched.browser = msedge;
+      browser[msedge] = true;
+    }
+
+    // Blackberry browsers are marked as Safari on BlackBerry
+    if ( browser.safari && browser.blackberry ) {
+      var blackberry = "blackberry";
+
+      matched.browser = blackberry;
+      browser[blackberry] = true;
+    }
+
+    // Playbook browsers are marked as Safari on Playbook
+    if ( browser.safari && browser.playbook ) {
+      var playbook = "playbook";
+
+      matched.browser = playbook;
+      browser[playbook] = true;
+    }
+
+    // BB10 is a newer OS version of BlackBerry
+    if ( browser.bb ) {
+      var bb = "blackberry";
+
+      matched.browser = bb;
+      browser[bb] = true;
+    }
+
+    // Opera 15+ are identified as opr
+    if ( browser.opr ) {
+      var opera = "opera";
+
+      matched.browser = opera;
+      browser[opera] = true;
+    }
+
+    // Stock Android browsers are marked as Safari on Android.
+    if ( browser.safari && browser.android ) {
+      var android = "android";
+
+      matched.browser = android;
+      browser[android] = true;
+    }
+
+    // Kindle browsers are marked as Safari on Kindle
+    if ( browser.safari && browser.kindle ) {
+      var kindle = "kindle";
+
+      matched.browser = kindle;
+      browser[kindle] = true;
+    }
+
+     // Kindle Silk browsers are marked as Safari on Kindle
+    if ( browser.safari && browser.silk ) {
+      var silk = "silk";
+
+      matched.browser = silk;
+      browser[silk] = true;
+    }
+
+    // Assign the name and platform variable
+    browser.name = matched.browser;
+    browser.platform = matched.platform;
+    return browser;
+  }
+
+  // Run the matching process, also assign the function to the returned object
+  // for manual, jQuery-free use if desired
+  window.jQBrowser = uaMatch( window.navigator.userAgent );
+  window.jQBrowser.uaMatch = uaMatch;
+
+  // Only assign to jQuery.browser if jQuery is loaded
+  if ( jQuery ) {
+    jQuery.browser = window.jQBrowser;
+  }
+
+  return window.jQBrowser;
+}));

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,14 @@
+/*!
+ * jQuery Browser Plugin 0.1.0
+ * https://github.com/gabceb/jquery-browser-plugin
+ *
+ * Original jquery-browser code Copyright 2005, 2015 jQuery Foundation, Inc. 
and other contributors
+ * http://jquery.org/license
+ *
+ * Modifications Copyright 2015 Gabriel Cebrian
+ * https://github.com/gabceb
+ *
+ * Released under the MIT license
+ *
+ * Date: 23-11-2015
+ */!function(a){"function"==typeof 
define&&define.amd?define(["jquery"],function(b){return a(b)}):"object"==typeof 
module&&"object"==typeof 
module.exports?module.exports=a(require("jquery")):a(window.jQuery)}(function(a){"use
 strict";function b(a){void 
0===a&&(a=window.navigator.userAgent),a=a.toLowerCase();var 
b=/(edge)\/([\w.]+)/.exec(a)||/(opr)[\/]([\w.]+)/.exec(a)||/(chrome)[ 
\/]([\w.]+)/.exec(a)||/(iemobile)[\/]([\w.]+)/.exec(a)||/(version)(applewebkit)[
 \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ 
\/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec(a)||/(webkit)[ 
\/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) 
([\w.]+)/.exec(a)||a.indexOf("trident")>=0&&/(rv)(?::| 
)([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? 
rv:([\w.]+)|)/.exec(a)||[],c=/(ipad)/.exec(a)||/(ipod)/.exec(a)||/(windows 
phone)/.exec(a)||/(iphone)/.exec(a)||/(kindle)/.exec(a)||/(silk)/.exec(a)||/(android)/.exec(a)||/(win)/.exec(a)||/(mac)/.exec(a
 
)||/(linux)/.exec(a)||/(cros)/.exec(a)||/(playbook)/.exec(a)||/(bb)/.exec(a)||/(blackberry)/.exec(a)||[],d={},e={browser:b[5]||b[3]||b[1]||"",version:b[2]||b[4]||"0",versionNumber:b[4]||b[2]||"0",platform:c[0]||""};if(e.browser&&(d[e.browser]=!0,d.version=e.version,d.versionNumber=parseInt(e.versionNumber,10)),e.platform&&(d[e.platform]=!0),(d.android||d.bb||d.blackberry||d.ipad||d.iphone||d.ipod||d.kindle||d.playbook||d.silk||d["windows
 
phone"])&&(d.mobile=!0),(d.cros||d.mac||d.linux||d.win)&&(d.desktop=!0),(d.chrome||d.opr||d.safari)&&(d.webkit=!0),d.rv||d.iemobile){var
 f="msie";e.browser=f,d[f]=!0}if(d.edge){delete d.edge;var 
g="msedge";e.browser=g,d[g]=!0}if(d.safari&&d.blackberry){var 
h="blackberry";e.browser=h,d[h]=!0}if(d.safari&&d.playbook){var 
i="playbook";e.browser=i,d[i]=!0}if(d.bb){var 
j="blackberry";e.browser=j,d[j]=!0}if(d.opr){var 
k="opera";e.browser=k,d[k]=!0}if(d.safari&&d.android){var 
l="android";e.browser=l,d[l]=!0}if(d.safari&&d.kindle){var 
m="kindle";e.browser=m
 ,d[m]=!0}if(d.safari&&d.silk){var n="silk";e.browser=n,d[n]=!0}return 
d.name=e.browser,d.platform=e.platform,d}return 
window.jQBrowser=b(window.navigator.userAgent),window.jQBrowser.uaMatch=b,a&&(a.browser=window.jQBrowser),window.jQBrowser});
\ No newline at end of file

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/browser-plugin/jquery.browser-0.1.0.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,158 @@
+/**
+ * Featherlight – ultra slim jQuery lightbox
+ * Version 1.7.13 - http://noelboss.github.io/featherlight/
+ *
+ * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
+ * MIT Licensed.
+**/
+
+html.with-featherlight {
+       /* disable global scrolling when featherlights are visible */
+       overflow: hidden;
+}
+
+.featherlight {
+       display: none;
+
+       /* dimensions: spanning the background from edge to edge */
+       position:fixed;
+       top: 0; right: 0; bottom: 0; left: 0;
+       z-index: 2147483647; /* z-index needs to be >= elements on the site. */
+
+       /* position: centering content */
+       text-align: center;
+
+       /* insures that the ::before pseudo element doesn't force wrap with 
fixed width content; */
+       white-space: nowrap;
+
+       /* styling */
+       cursor: pointer;
+       background: #333;
+       /* IE8 "hack" for nested featherlights */
+       background: rgba(0, 0, 0, 0);
+}
+
+/* support for nested featherlights. Does not work in IE8 (use JS to fix) */
+.featherlight:last-of-type {
+       background: rgba(0, 0, 0, 0.8);
+}
+
+.featherlight:before {
+       /* position: trick to center content vertically */
+       content: '';
+       display: inline-block;
+       height: 100%;
+       vertical-align: middle;
+}
+
+.featherlight .featherlight-content {
+       /* make content container for positioned elements (close button) */
+       position: relative;
+
+       /* position: centering vertical and horizontal */
+       text-align: left;
+       vertical-align: middle;
+       display: inline-block;
+
+       /* dimensions: cut off images */
+       overflow: auto;
+       padding: 25px 25px 0;
+       border-bottom: 25px solid transparent;
+
+       /* dimensions: handling large content */
+       margin-left: 5%;
+       margin-right: 5%;
+       max-height: 95%;
+
+       /* styling */
+       background: #fff;
+       cursor: auto;
+
+       /* reset white-space wrapping */
+       white-space: normal;
+}
+
+/* contains the content */
+.featherlight .featherlight-inner {
+       /* make sure its visible */
+       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;
+       z-index: 9999;
+       top: 0;
+       right: 0;
+
+       /* dimensions: 25px x 25px */
+       line-height: 25px;
+       width: 25px;
+
+       /* styling */
+       cursor: pointer;
+       text-align: center;
+       font-family: Arial, sans-serif;
+       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 */
+       width: 100%;
+}
+
+
+.featherlight-iframe .featherlight-content {
+       /* removed the border for image croping since iframe is edge to edge */
+       border-bottom: 0;
+       padding: 0;
+       -webkit-overflow-scrolling: touch;
+}
+
+.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: 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;
+       }
+}

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,641 @@
+/**
+ * Featherlight - ultra slim jQuery lightbox
+ * Version 1.7.13 - http://noelboss.github.io/featherlight/
+ *
+ * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
+ * MIT Licensed.
+**/
+(function($) {
+       "use strict";
+
+       if('undefined' === typeof $) {
+               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.
+
+          [tech]
+          Featherlight uses prototype inheritance.
+          Each opened lightbox will have a corresponding object.
+          That object may have some attributes that override the
+          prototype's.
+          Extensions created with Featherlight.extend will have their
+          own prototype that inherits from Featherlight's prototype,
+          thus attributes can be overriden either at the object level,
+          or at the extension level.
+          To create callbacks that chain themselves instead of overriding,
+          use chainCallbacks.
+          For those familiar with CoffeeScript, this correspond to
+          Featherlight being a class and the Gallery being a class
+          extending Featherlight.
+          The chainCallbacks is used since we don't have access to
+          CoffeeScript's `super`.
+       */
+
+       function Featherlight($content, config) {
+               if(this instanceof Featherlight) {  /* called with new */
+                       this.id = Featherlight.id++;
+                       this.setup($content, config);
+                       this.chainCallbacks(Featherlight._callbackChain);
+               } else {
+                       var fl = new Featherlight($content, config);
+                       fl.open();
+                       return fl;
+               }
+       }
+
+       var opened = [],
+               pruneOpened = function(remove) {
+                       opened = $.grep(opened, function(fl) {
+                               return fl !== remove && 
fl.$instance.closest('body').length > 0;
+                       } );
+                       return opened;
+               };
+
+       // 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 = {
+               allow: 1, allowfullscreen: 1, frameborder: 1, height: 1, 
longdesc: 1, marginheight: 1, marginwidth: 1,
+               mozallowfullscreen: 1, name: 1, referrerpolicy: 1, sandbox: 1, 
scrolling: 1, src: 1, srcdoc: 1, style: 1,
+               webkitallowfullscreen: 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();
+                               attrs[dasherized] = obj[key];
+                       }
+               }
+               return attrs;
+       }
+
+       /* document wide key handler */
+       var eventMap = { keyup: 'onKeyUp', resize: 'onResize' };
+
+       var globalEventHandler = function(event) {
+               $.each(Featherlight.opened().reverse(), function() {
+                       if (!event.isDefaultPrevented()) {
+                               if (false === 
this[eventMap[event.type]](event)) {
+                                       event.preventDefault(); 
event.stopPropagation(); return false;
+                         }
+                       }
+               });
+       };
+
+       var toggleGlobalEvents = function(set) {
+                       if(set !== Featherlight._globalHandlerInstalled) {
+                               Featherlight._globalHandlerInstalled = set;
+                               var events = $.map(eventMap, function(_, name) 
{ return name+'.'+Featherlight.prototype.namespace; } ).join(' ');
+                               $(window)[set ? 'on' : 'off'](events, 
globalEventHandler);
+                       }
+               };
+
+       Featherlight.prototype = {
+               constructor: Featherlight,
+               /*** defaults ***/
+               /* extend featherlight with defaults and methods */
+               namespace:      'featherlight',        /* Name of the events 
and css class prefix */
+               targetAttr:     'data-featherlight',   /* Attribute of the 
triggered element that contains the selector to the lightbox content */
+               variant:        null,                  /* Class that will be 
added to change look of the lightbox */
+               resetCss:       false,                 /* Reset all css */
+               background:     null,                  /* Custom DOM for the 
background, wrapper and the closebutton */
+               openTrigger:    'click',               /* Event that triggers 
the lightbox */
+               closeTrigger:   'click',               /* Event that triggers 
the closing of the lightbox */
+               filter:         null,                  /* Selector to filter 
events. Think $(...).on('click', filter, eventHandler) */
+               root:           'body',                /* Where to append 
featherlights */
+               openSpeed:      250,                   /* Duration of opening 
animation */
+               closeSpeed:     250,                   /* Duration of closing 
animation */
+               closeOnClick:   'background',          /* Close lightbox on 
click ('background', 'anywhere' or false) */
+               closeOnEsc:     true,                  /* Close lightbox when 
pressing esc */
+               closeIcon:      '&#10005;',            /* Close icon */
+               loading:        '',                    /* Content to show while 
initial content is loading */
+               persist:        false,                 /* If set, the content 
will persist and will be shown again when opened again. 'shared' is a special 
value when binding multiple elements for them to share the same content */
+               otherClose:     null,                  /* Selector for 
alternate close buttons (e.g. "a.close") */
+               beforeOpen:     $.noop,                /* Called before open. 
can return false to prevent opening of lightbox. Gets event as parameter, this 
contains all data */
+               beforeContent:  $.noop,                /* Called when content 
is loaded. Gets event as parameter, this contains all data */
+               beforeClose:    $.noop,                /* Called before close. 
can return false to prevent opening of lightbox. Gets event as parameter, this 
contains all data */
+               afterOpen:      $.noop,                /* Called after open. 
Gets event as parameter, this contains all data */
+               afterContent:   $.noop,                /* Called after content 
is ready and has been set. Gets event as parameter, this contains all data */
+               afterClose:     $.noop,                /* Called after close. 
Gets event as parameter, this contains all data */
+               onKeyUp:        $.noop,                /* Called on key up for 
the frontmost featherlight */
+               onResize:       $.noop,                /* Called after new 
content and when a window is resized */
+               type:           null,                  /* Specify type of 
lightbox. If unset, it will check for the targetAttrs value. */
+               contentFilters: ['jquery', 'image', 'html', 'ajax', 'iframe', 
'text'], /* List of content filters to use to determine the content */
+
+               /*** methods ***/
+               /* setup iterates over a single instance of featherlight and 
prepares the background and binds the events */
+               setup: function(target, config){
+                       /* all arguments are optional */
+                       if (typeof target === 'object' && target instanceof $ 
=== false && !config) {
+                               config = target;
+                               target = undefined;
+                       }
+
+                       var self = $.extend(this, config, {target: target}),
+                               css = !self.resetCss ? self.namespace : 
self.namespace+'-reset', /* by adding -reset to the classname, we reset all the 
default css */
+                               $background = $(self.background || [
+                                       '<div class="'+css+'-loading '+css+'">',
+                                               '<div class="'+css+'-content">',
+                                                       '<button 
class="'+css+'-close-icon '+ self.namespace + '-close" aria-label="Close">',
+                                                               self.closeIcon,
+                                                       '</button>',
+                                                       '<div 
class="'+self.namespace+'-inner">' + self.loading + '</div>',
+                                               '</div>',
+                                       '</div>'].join('')),
+                               closeButtonSelector = 
'.'+self.namespace+'-close' + (self.otherClose ? ',' + self.otherClose : '');
+
+                       self.$instance = 
$background.clone().addClass(self.variant); /* clone DOM for the background, 
wrapper and the close button */
+
+                       /* 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
+                                       || 
$target.closest(closeButtonSelector).length ){
+                                       self.close(event);
+                                       event.preventDefault();
+                               }
+                       });
+
+                       return this;
+               },
+
+               /* this method prepares the content and converts it into a 
jQuery object or a promise */
+               getContent: function(){
+                       if(this.persist !== false && this.$content) {
+                               return this.$content;
+                       }
+                       var self = this,
+                               filters = this.constructor.contentFilters,
+                               readTargetAttr = function(name){ return 
self.$currentTarget && self.$currentTarget.attr(name); },
+                               targetValue = readTargetAttr(self.targetAttr),
+                               data = self.target || targetValue || '';
+
+                       /* Find which filter applies */
+                       var filter = filters[self.type]; /* check explicit type 
like {type: 'image'} */
+
+                       /* check explicit type like data-featherlight="image" */
+                       if(!filter && data in filters) {
+                               filter = filters[data];
+                               data = self.target && targetValue;
+                       }
+                       data = data || readTargetAttr('href') || '';
+
+                       /* check explicity type & content like {image: 
'photo.jpg'} */
+                       if(!filter) {
+                               for(var filterName in filters) {
+                                       if(self[filterName]) {
+                                               filter = filters[filterName];
+                                               data = self[filterName];
+                                       }
+                               }
+                       }
+
+                       /* otherwise it's implicit, run checks */
+                       if(!filter) {
+                               var target = data;
+                               data = null;
+                               $.each(self.contentFilters, function() {
+                                       filter = filters[this];
+                                       if(filter.test)  {
+                                               data = filter.test(target);
+                                       }
+                                       if(!data && filter.regex && 
target.match && target.match(filter.regex)) {
+                                               data = target;
+                                       }
+                                       return !data;
+                               });
+                               if(!data) {
+                                       if('console' in window){ 
window.console.error('Featherlight: no content filter found ' + (target ? ' for 
"' + target + '"' : ' (no target specified)')); }
+                                       return false;
+                               }
+                       }
+                       /* Process it */
+                       return filter.process.call(self, data);
+               },
+
+               /* sets the content of $instance to $content */
+               setContent: function($content){
+      this.$instance.removeClass(this.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 */
+      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);
+
+      this.$content = $content.addClass(this.namespace+'-inner');
+
+      return this;
+               },
+
+               /* opens the lightbox. "this" contains $instance with the 
lightbox, and with the config.
+                       Returns a promise that is resolved after is 
successfully opened. */
+               open: function(event){
+                       var self = this;
+                       self.$instance.hide().appendTo(self.root);
+                       if((!event || !event.isDefaultPrevented())
+                               && self.beforeOpen(event) !== false) {
+
+                               if(event){
+                                       event.preventDefault();
+                               }
+                               var $content = self.getContent();
+
+                               if($content) {
+                                       opened.push(self);
+
+                                       toggleGlobalEvents(true);
+
+                                       self.$instance.fadeIn(self.openSpeed);
+                                       self.beforeContent(event);
+
+                                       /* Set content and show */
+                                       return $.when($content)
+                                               .always(function($content){
+                                                       
self.setContent($content);
+                                                       
self.afterContent(event);
+                                               })
+                                               .then(self.$instance.promise())
+                                               /* Call afterOpen after fadeIn 
is done */
+                                               .done(function(){ 
self.afterOpen(event); });
+                               }
+                       }
+                       self.$instance.detach();
+                       return $.Deferred().reject().promise();
+               },
+
+               /* closes the lightbox. "this" contains $instance with the 
lightbox, and with the config
+                       returns a promise, resolved after the lightbox is 
successfully closed. */
+               close: function(event){
+                       var self = this,
+                               deferred = $.Deferred();
+
+                       if(self.beforeClose(event) === false) {
+                               deferred.reject();
+                       } else {
+
+                               if (0 === pruneOpened(self).length) {
+                                       toggleGlobalEvents(false);
+                               }
+
+                               
self.$instance.fadeOut(self.closeSpeed,function(){
+                                       self.$instance.detach();
+                                       self.afterClose(event);
+                                       deferred.resolve();
+                               });
+                       }
+                       return deferred.promise();
+               },
+
+               /* resizes the content so it fits in visible area and keeps the 
same aspect ratio.
+                               Does nothing if either the width or the height 
is not specified.
+                               Called automatically on window resize.
+                               Override if you want different behavior. */
+               resize: function(w, h) {
+                       if (w && h) {
+                               /* 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  / (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');
+                               }
+                       }
+               },
+
+               /* Utility function to chain callbacks
+                  [Warning: guru-level]
+                  Used be extensions that want to let users specify callbacks 
but
+                  also need themselves to use the callbacks.
+                  The argument 'chain' has callback names as keys and 
function(super, event)
+                  as values. That function is meant to call `super` at some 
point.
+               */
+               chainCallbacks: function(chain) {
+                       for (var name in chain) {
+                               this[name] = $.proxy(chain[name], this, 
$.proxy(this[name], this));
+                       }
+               }
+       };
+
+       $.extend(Featherlight, {
+               id: 0,                                    /* Used to id single 
featherlight instances */
+               autoBind:       '[data-featherlight]',    /* Will automatically 
bind elements matching this selector. Clear or set before onReady */
+               defaults:       Featherlight.prototype,   /* You can access and 
override all defaults using $.featherlight.defaults, which is just a synonym 
for $.featherlight.prototype */
+               /* Contains the logic to determine content */
+               contentFilters: {
+                       jquery: {
+                               regex: /^[#.]\w/,         /* Anything that 
starts with a class name or identifiers */
+                               test: function(elem)    { return elem 
instanceof $ && elem; },
+                               process: function(elem) { return this.persist 
!== false ? $(elem) : $(elem).clone(true); }
+                       },
+                       image: {
+                               regex: 
/\.(png|jpg|jpeg|gif|tiff?|bmp|svg)(\?\S*)?$/i,
+                               process: function(url)  {
+                                       var self = this,
+                                               deferred = $.Deferred(),
+                                               img = new Image(),
+                                               $img = $('<img src="'+url+'" 
alt="" class="'+self.namespace+'-image" />');
+                                       img.onload  = function() {
+                                               /* Store naturalWidth & height 
for IE8 */
+                                               $img.naturalWidth = img.width; 
$img.naturalHeight = img.height;
+                                               deferred.resolve( $img );
+                                       };
+                                       img.onerror = function() { 
deferred.reject($img); };
+                                       img.src = url;
+                                       return deferred.promise();
+                               }
+                       },
+                       html: {
+                               regex: /^\s*<[\w!][^<]*>/, /* Anything that 
starts with some kind of valid tag */
+                               process: function(html) { return $(html); }
+                       },
+                       ajax: {
+                               regex: /./,            /* At this point, any 
content is assumed to be an URL */
+                               process: function(url)  {
+                                       var self = this,
+                                               deferred = $.Deferred();
+                                       /* we are using load so one can specify 
a target with: url.html #targetelement */
+                                       var $container = 
$('<div></div>').load(url, function(response, status){
+                                               if ( status !== "error" ) {
+                                                       
deferred.resolve($container.contents());
+                                               }
+                                               deferred.fail();
+                                       });
+                                       return deferred.promise();
+                               }
+                       },
+                       iframe: {
+                               process: function(url) {
+                                       var deferred = new $.Deferred();
+                                       var $content = $('<iframe/>');
+                                       var css = parseAttrs(this, 'iframe');
+                                       var attrs = slice(css, 
iFrameAttributeSet);
+                                       $content.hide()
+                                               .attr('src', url)
+                                               .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:
+                                               
.appendTo(this.$instance.find('.' + this.namespace + '-content'));
+                                       return deferred.promise();
+                               }
+                       },
+                       text: {
+                               process: function(text) { return $('<div>', 
{text: text}); }
+                       }
+               },
+
+               functionAttributes: ['beforeOpen', 'afterOpen', 
'beforeContent', 'afterContent', 'beforeClose', 'afterClose'],
+
+               /*** class methods ***/
+               /* read element's attributes starting with data-featherlight- */
+               readElementConfig: function(element, namespace) {
+                       var Klass = this,
+                               regexp = new RegExp('^data-' + namespace + 
'-(.*)'),
+                               config = {};
+                       if (element && element.attributes) {
+                               $.each(element.attributes, function(){
+                                       var match = this.name.match(regexp);
+                                       if (match) {
+                                               var val = this.value,
+                                                       name = 
$.camelCase(match[1]);
+                                               if ($.inArray(name, 
Klass.functionAttributes) >= 0) {  /* jshint -W054 */
+                                                       val = new 
Function(val);                           /* jshint +W054 */
+                                               } else {
+                                                       try { val = 
JSON.parse(val); }
+                                                       catch(e) {}
+                                               }
+                                               config[name] = val;
+                                       }
+                               });
+                       }
+                       return config;
+               },
+
+               /* Used to create a Featherlight extension
+                  [Warning: guru-level]
+                  Creates the extension's prototype that in turn
+                  inherits Featherlight's prototype.
+                  Could be used to extend an extension too...
+                  This is pretty high level wizardy, it comes pretty much 
straight
+                  from CoffeeScript and won't teach you anything about 
Featherlight
+                  as it's not really specific to this library.
+                  My suggestion: move along and keep your sanity.
+               */
+               extend: function(child, defaults) {
+                       /* Setup class hierarchy, adapted from CoffeeScript */
+                       var Ctor = function(){ this.constructor = child; };
+                       Ctor.prototype = this.prototype;
+                       child.prototype = new Ctor();
+                       child.__super__ = this.prototype;
+                       /* Copy class methods & attributes */
+                       $.extend(child, this, defaults);
+                       child.defaults = child.prototype;
+                       return child;
+               },
+
+               attach: function($source, $content, config) {
+                       var Klass = this;
+                       if (typeof $content === 'object' && $content instanceof 
$ === false && !config) {
+                               config = $content;
+                               $content = undefined;
+                       }
+                       /* make a copy */
+                       config = $.extend({}, config);
+
+                       /* Only for openTrigger, filter & namespace... */
+                       var namespace = config.namespace || 
Klass.defaults.namespace,
+                               tempConfig = $.extend({}, Klass.defaults, 
Klass.readElementConfig($source[0], namespace), config),
+                               sharedPersist;
+                       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: 
$target},
+                                       Klass.readElementConfig($source[0], 
tempConfig.namespace),
+                                       
Klass.readElementConfig(event.currentTarget, tempConfig.namespace),
+                                       config);
+                               var fl = sharedPersist || 
$target.data('featherlight-persisted') || new Klass($content, elemConfig);
+                               if(fl.persist === 'shared') {
+                                       sharedPersist = fl;
+                               } else if(fl.persist !== false) {
+                                       $target.data('featherlight-persisted', 
fl);
+                               }
+                               if (elemConfig.$currentTarget.blur) {
+                                       elemConfig.$currentTarget.blur(); // 
Otherwise 'enter' key might trigger the dialog again
+                               }
+                               fl.open(event);
+                       };
+
+                       
$source.on(tempConfig.openTrigger+'.'+tempConfig.namespace, tempConfig.filter, 
handler);
+
+                       return {filter: tempConfig.filter, handler: handler};
+               },
+
+               current: function() {
+                       var all = this.opened();
+                       return all[all.length - 1] || null;
+               },
+
+               opened: function() {
+                       var klass = this;
+                       pruneOpened();
+                       return $.grep(opened, function(fl) { return fl 
instanceof klass; } );
+               },
+
+               close: function(event) {
+                       var cur = this.current();
+                       if(cur) { return cur.close(event); }
+               },
+
+               /* Does the auto binding on startup.
+                  Meant only to be used by Featherlight and its extensions
+               */
+               _onReady: function() {
+                       var Klass = this;
+                       if(Klass.autoBind){
+                               var $autobound = $(Klass.autoBind);
+                               /* Bind existing elements */
+                               $autobound.each(function(){
+                                       Klass.attach($(this));
+                               });
+                               /* 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()) {
+                                               return;
+                                       }
+                                       var $cur = $(evt.currentTarget);
+                                       var len = $autobound.length;
+                                       $autobound = $autobound.add($cur);
+                                       if(len === $autobound.length) {
+                                               return; /* already bound */
+                                       }
+                                       /* Bind featherlight */
+                                       var data = Klass.attach($cur);
+                                       /* Dispatch event directly */
+                                       if (!data.filter || 
$(evt.target).parentsUntil($cur, data.filter).length > 0) {
+                                               data.handler(evt);
+                                       }
+                               });
+                       }
+               },
+
+               /* Featherlight uses the onKeyUp callback to intercept the 
escape key.
+                  Private to Featherlight.
+               */
+               _callbackChain: {
+                       onKeyUp: function(_super, event){
+                               if(27 === event.keyCode) {
+                                       if (this.closeOnEsc) {
+                                               $.featherlight.close(event);
+                                       }
+                                       return false;
+                               } else {
+                                       return _super(event);
+                               }
+                       },
+
+                       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);
+                       },
+
+                       afterContent: function(_super, event){
+                               var r = _super(event);
+                               
this.$instance.find('[autofocus]:not([disabled])').focus();
+                               this.onResize(event);
+                               return r;
+                       }
+               }
+       });
+
+       $.featherlight = Featherlight;
+
+       /* bind jQuery elements to trigger featherlight */
+       $.fn.featherlight = function($content, config) {
+               Featherlight.attach(this, $content, config);
+               return this;
+       };
+
+       /* bind featherlight on ready if config autoBind is set */
+       $(document).ready(function(){ Featherlight._onReady(); });
+}(jQuery));

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,8 @@
+/**
+ * Featherlight - ultra slim jQuery lightbox
+ * Version 1.7.13 - http://noelboss.github.io/featherlight/
+ *
+ * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
+ * MIT Licensed.
+**/
+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;backg
 
round:#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}.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}}
\ No newline at end of file

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.css
------------------------------------------------------------------------------
    svn:mime-type = text/css

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,8 @@
+/**
+ * Featherlight - ultra slim jQuery lightbox
+ * Version 1.7.13 - http://noelboss.github.io/featherlight/
+ *
+ * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
+ * MIT Licensed.
+**/
+!function(a){"use strict";function b(a,c){if(!(this instanceof b)){var d=new 
b(a,c);return 
d.open(),d}this.id=b.id++,this.setup(a,c),this.chainCallbacks(b._callbackChain)}function
 c(a,b){var c={};for(var d in a)d in b&&(c[d]=a[d],delete a[d]);return 
c}function d(a,b){var c={},d=new RegExp("^"+b+"([A-Z])(.*)");for(var e in 
a){var f=e.match(d);if(f){var 
g=(f[1]+f[2].replace(/([A-Z])/g,"-$1")).toLowerCase();c[g]=a[e]}}return 
c}if("undefined"==typeof a)return void("console"in 
window&&window.console.info("Too much lightness, Featherlight needs 
jQuery."));if(a.fn.jquery.match(/-ajax/))return void("console"in 
window&&window.console.info("Featherlight needs regular jQuery, not the slim 
version."));var e=[],f=function(b){return e=a.grep(e,function(a){return 
a!==b&&a.$instance.closest("body").length>0})},g={allow:1,allowfullscreen:1,frameborder:1,height:1,longdesc:1,marginheight:1,marginwidth:1,mozallowfullscreen:1,name:1,referrerpolicy:1,sandbox:1,scrolling:1,src:1,srcdoc:1,style:1,webkitall
 
owfullscreen:1,width:1},h={keyup:"onKeyUp",resize:"onResize"},i=function(c){a.each(b.opened().reverse(),function(){return
 c.isDefaultPrevented()||!1!==this[h[c.type]](c)?void 
0:(c.preventDefault(),c.stopPropagation(),!1)})},j=function(c){if(c!==b._globalHandlerInstalled){b._globalHandlerInstalled=c;var
 d=a.map(h,function(a,c){return c+"."+b.prototype.namespace}).join(" 
");a(window)[c?"on":"off"](d,i)}};b.prototype={constructor:b,namespace:"featherlight",targetAttr:"data-featherlight",variant:null,resetCss:!1,background:null,openTrigger:"click",closeTrigger:"click",filter:null,root:"body",openSpeed:250,closeSpeed:250,closeOnClick:"background",closeOnEsc:!0,closeIcon:"&#10005;",loading:"",persist:!1,otherClose:null,beforeOpen:a.noop,beforeContent:a.noop,beforeClose:a.noop,afterOpen:a.noop,afterContent:a.noop,afterClose:a.noop,onKeyUp:a.noop,onResize:a.noop,type:null,contentFilters:["jquery","image","html","ajax","iframe","text"],setup:function(b,c){"object"!=typeof
 b||b instanceof a!=
 !1||c||(c=b,b=void 0);var 
d=a.extend(this,c,{target:b}),e=d.resetCss?d.namespace+"-reset":d.namespace,f=a(d.background||['<div
 class="'+e+"-loading "+e+'">','<div class="'+e+'-content">','<button 
class="'+e+"-close-icon "+d.namespace+'-close" 
aria-label="Close">',d.closeIcon,"</button>",'<div 
class="'+d.namespace+'-inner">'+d.loading+"</div>","</div>","</div>"].join("")),g="."+d.namespace+"-close"+(d.otherClose?","+d.otherClose:"");return
 
d.$instance=f.clone().addClass(d.variant),d.$instance.on(d.closeTrigger+"."+d.namespace,function(b){if(!b.isDefaultPrevented()){var
 
c=a(b.target);("background"===d.closeOnClick&&c.is("."+d.namespace)||"anywhere"===d.closeOnClick||c.closest(g).length)&&(d.close(b),b.preventDefault())}}),this},getContent:function(){if(this.persist!==!1&&this.$content)return
 this.$content;var 
b=this,c=this.constructor.contentFilters,d=function(a){return 
b.$currentTarget&&b.$currentTarget.attr(a)},e=d(b.targetAttr),f=b.target||e||"",g=c[b.type];if(!g&&f
 in c&&(g=c[f],f
 =b.target&&e),f=f||d("href")||"",!g)for(var h in 
c)b[h]&&(g=c[h],f=b[h]);if(!g){var 
i=f;if(f=null,a.each(b.contentFilters,function(){return 
g=c[this],g.test&&(f=g.test(i)),!f&&g.regex&&i.match&&i.match(g.regex)&&(f=i),!f}),!f)return"console"in
 window&&window.console.error("Featherlight: no content filter found "+(i?' for 
"'+i+'"':" (no target specified)")),!1}return 
g.process.call(b,f)},setContent:function(b){return 
this.$instance.removeClass(this.namespace+"-loading"),this.$instance.toggleClass(this.namespace+"-iframe",b.is("iframe")),this.$instance.find("."+this.namespace+"-inner").not(b).slice(1).remove().end().replaceWith(a.contains(this.$instance[0],b[0])?"":b),this.$content=b.addClass(this.namespace+"-inner"),this},open:function(b){var
 
c=this;if(c.$instance.hide().appendTo(c.root),!(b&&b.isDefaultPrevented()||c.beforeOpen(b)===!1)){b&&b.preventDefault();var
 d=c.getContent();if(d)return 
e.push(c),j(!0),c.$instance.fadeIn(c.openSpeed),c.beforeContent(b),a.when(d).always(function
 
(a){c.setContent(a),c.afterContent(b)}).then(c.$instance.promise()).done(function(){c.afterOpen(b)})}return
 c.$instance.detach(),a.Deferred().reject().promise()},close:function(b){var 
c=this,d=a.Deferred();return 
c.beforeClose(b)===!1?d.reject():(0===f(c).length&&j(!1),c.$instance.fadeOut(c.closeSpeed,function(){c.$instance.detach(),c.afterClose(b),d.resolve()})),d.promise()},resize:function(a,b){if(a&&b){this.$content.css("width","").css("height","");var
 
c=Math.max(a/(this.$content.parent().width()-1),b/(this.$content.parent().height()-1));c>1&&(c=b/Math.floor(b/c),this.$content.css("width",""+a/c+"px").css("height",""+b/c+"px"))}},chainCallbacks:function(b){for(var
 c in 
b)this[c]=a.proxy(b[c],this,a.proxy(this[c],this))}},a.extend(b,{id:0,autoBind:"[data-featherlight]",defaults:b.prototype,contentFilters:{jquery:{regex:/^[#.]\w/,test:function(b){return
 b instanceof a&&b},process:function(b){return 
this.persist!==!1?a(b):a(b).clone(!0)}},image:{regex:/\.(png|jpg|jpeg|gif|tiff?|bmp|
 svg)(\?\S*)?$/i,process:function(b){var c=this,d=a.Deferred(),e=new 
Image,f=a('<img src="'+b+'" alt="" class="'+c.namespace+'-image" />');return 
e.onload=function(){f.naturalWidth=e.width,f.naturalHeight=e.height,d.resolve(f)},e.onerror=function(){d.reject(f)},e.src=b,d.promise()}},html:{regex:/^\s*<[\w!][^<]*>/,process:function(b){return
 a(b)}},ajax:{regex:/./,process:function(b){var 
c=a.Deferred(),d=a("<div></div>").load(b,function(a,b){"error"!==b&&c.resolve(d.contents()),c.fail()});return
 c.promise()}},iframe:{process:function(b){var e=new 
a.Deferred,f=a("<iframe/>"),h=d(this,"iframe"),i=c(h,g);return 
f.hide().attr("src",b).attr(i).css(h).on("load",function(){e.resolve(f.show())}).appendTo(this.$instance.find("."+this.namespace+"-content")),e.promise()}},text:{process:function(b){return
 
a("<div>",{text:b})}}},functionAttributes:["beforeOpen","afterOpen","beforeContent","afterContent","beforeClose","afterClose"],readElementConfig:function(b,c){var
 d=this,e=new RegExp("^data-"+c+"
 -(.*)"),f={};return b&&b.attributes&&a.each(b.attributes,function(){var 
b=this.name.match(e);if(b){var 
c=this.value,g=a.camelCase(b[1]);if(a.inArray(g,d.functionAttributes)>=0)c=new 
Function(c);else 
try{c=JSON.parse(c)}catch(h){}f[g]=c}}),f},extend:function(b,c){var 
d=function(){this.constructor=b};return 
d.prototype=this.prototype,b.prototype=new 
d,b.__super__=this.prototype,a.extend(b,this,c),b.defaults=b.prototype,b},attach:function(b,c,d){var
 e=this;"object"!=typeof c||c instanceof a!=!1||d||(d=c,c=void 
0),d=a.extend({},d);var 
f,g=d.namespace||e.defaults.namespace,h=a.extend({},e.defaults,e.readElementConfig(b[0],g),d),i=function(g){var
 
i=a(g.currentTarget),j=a.extend({$source:b,$currentTarget:i},e.readElementConfig(b[0],h.namespace),e.readElementConfig(g.currentTarget,h.namespace),d),k=f||i.data("featherlight-persisted")||new
 
e(c,j);"shared"===k.persist?f=k:k.persist!==!1&&i.data("featherlight-persisted",k),j.$currentTarget.blur&&j.$currentTarget.blur(),k.open(g)};return
 b.on(h
 
.openTrigger+"."+h.namespace,h.filter,i),{filter:h.filter,handler:i}},current:function(){var
 a=this.opened();return a[a.length-1]||null},opened:function(){var 
b=this;return f(),a.grep(e,function(a){return a instanceof 
b})},close:function(a){var b=this.current();return b?b.close(a):void 
0},_onReady:function(){var b=this;if(b.autoBind){var 
c=a(b.autoBind);c.each(function(){b.attach(a(this))}),a(document).on("click",b.autoBind,function(d){if(!d.isDefaultPrevented()){var
 e=a(d.currentTarget),f=c.length;if(c=c.add(e),f!==c.length){var 
g=b.attach(e);(!g.filter||a(d.target).parentsUntil(e,g.filter).length>0)&&g.handler(d)}}})}},_callbackChain:{onKeyUp:function(b,c){return
 
27===c.keyCode?(this.closeOnEsc&&a.featherlight.close(c),!1):b(c)},beforeOpen:function(b,c){return
 
a(document.documentElement).addClass("with-featherlight"),this._previouslyActive=document.activeElement,this._$previouslyTabbable=a("a,
 input, select, textarea, iframe, button, iframe, 
[contentEditable=true]").not("[tabindex
 
]").not(this.$instance.find("button")),this._$previouslyWithTabIndex=a("[tabindex]").not('[tabindex="-1"]'),this._previousWithTabIndices=this._$previouslyWithTabIndex.map(function(b,c){return
 
a(c).attr("tabindex")}),this._$previouslyWithTabIndex.add(this._$previouslyTabbable).attr("tabindex",-1),document.activeElement.blur&&document.activeElement.blur(),b(c)},afterClose:function(c,d){var
 e=c(d),f=this;return 
this._$previouslyTabbable.removeAttr("tabindex"),this._$previouslyWithTabIndex.each(function(b,c){a(c).attr("tabindex",f._previousWithTabIndices[b])}),this._previouslyActive.focus(),0===b.opened().length&&a(document.documentElement).removeClass("with-featherlight"),e},onResize:function(a,b){return
 
this.resize(this.$content.naturalWidth,this.$content.naturalHeight),a(b)},afterContent:function(a,b){var
 c=a(b);return 
this.$instance.find("[autofocus]:not([disabled])").focus(),this.onResize(b),c}}}),a.featherlight=b,a.fn.featherlight=function(a,c){return
 b.attach(this,a,c),this},a(do
 cument).ready(function(){b._onReady()})}(jQuery);
\ No newline at end of file

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight-1.7.13.min.js
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css
URL: 
http://svn.apache.org/viewvc/ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css?rev=1861566&view=auto
==============================================================================
--- 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css
 (added)
+++ 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css
 Tue Jun 18 10:09:00 2019
@@ -0,0 +1,122 @@
+/**
+ * Featherlight Gallery – an extension for the ultra slim jQuery lightbox
+ * Version 1.7.13 - http://noelboss.github.io/featherlight/
+ *
+ * Copyright 2018, Noël Raoul Bossart (http://www.noelboss.com)
+ * MIT Licensed.
+**/
+
+.featherlight-next,
+.featherlight-previous {
+       display: block;
+       position: absolute;
+       top: 25px;
+       right: 25px;
+       bottom: 0;
+       left: 80%;
+       cursor: pointer;
+       /* preventing text selection */
+       -webkit-touch-callout: none;
+       -webkit-user-select: none;
+       -khtml-user-select: none;
+       -moz-user-select: none;
+       -ms-user-select: none;
+       user-select: none;
+       /* IE9 hack, otherwise navigation doesn't appear */
+       background: rgba(0,0,0,0);
+}
+
+.featherlight-previous {
+       left: 25px;
+       right: 80%;
+}
+
+.featherlight-next:hover,
+.featherlight-previous:hover {
+       background: rgba(255,255,255,0.25);
+}
+
+
+.featherlight-next span,
+.featherlight-previous span {
+       display: none;
+       position: absolute;
+
+       top: 50%;
+       left: 5%;
+       width: 82%;
+
+       /* center horizontally */
+       text-align: center;
+
+       font-size: 80px;
+       line-height: 80px;
+
+       /* center vertically */
+       margin-top: -40px;
+
+       text-shadow: 0px 0px 5px #fff;
+       color: #fff;
+       font-style: normal;
+       font-weight: normal;
+}
+.featherlight-next span {
+       right: 5%;
+       left: auto;
+}
+
+
+.featherlight-next:hover span,
+.featherlight-previous:hover span {
+       display: inline-block;
+}
+
+.featherlight-swipe-aware .featherlight-next,
+.featherlight-swipe-aware .featherlight-previous {
+       display: none;
+}
+
+/* Hide navigation while loading */
+.featherlight-loading .featherlight-previous, .featherlight-loading 
.featherlight-next {
+       display:none;
+}
+
+/* Hide navigation in case of single image */
+.featherlight-first-slide.featherlight-last-slide .featherlight-previous,
+.featherlight-first-slide.featherlight-last-slide .featherlight-next {
+       display:none;
+}
+
+
+/* Always display arrows on touch devices */
+@media only screen and (max-device-width: 1024px){
+       .featherlight-next:hover,
+       .featherlight-previous:hover {
+               background: none;
+       }
+       .featherlight-next span,
+       .featherlight-previous span {
+               display: block;
+       }
+}
+
+/* handling phones and small screens */
+@media only screen and (max-width: 1024px) {
+       .featherlight-next,
+       .featherlight-previous {
+               top: 10px;
+               right: 10px;
+               left: 85%;
+       }
+
+       .featherlight-previous {
+               left: 10px;
+               right: 85%;
+       }
+
+       .featherlight-next span,
+       .featherlight-previous span {
+               margin-top: -30px;
+               font-size: 40px;
+       }
+}

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: 
ofbiz/branches/release16.11/framework/images/webapp/images/jquery/plugins/featherlight/featherlight.gallery-1.7.13.css
------------------------------------------------------------------------------
    svn:mime-type = text/css


Reply via email to