From 9af27d66abf585dd6802ba12f9ddba1038b1227d Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 27 Dec 2016 20:59:27 -0600 Subject: [PATCH 001/222] one(): Add named parameter to example Fixes #1008 Closes #1016 --- entries/one.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/one.xml b/entries/one.xml index 588f1d55..8d37f3f8 100644 --- a/entries/one.xml +++ b/entries/one.xml @@ -60,7 +60,7 @@ $( "#foo" ).on( "click", function( event ) {

In other words, explicitly calling .off() from within a regularly-bound handler has exactly the same effect.

If the first argument contains more than one space-separated event types, the event handler is called once for each event type.


-$( "#foo" ).one( "click mouseover", function() {
+$( "#foo" ).one( "click mouseover", function( event ) {
   alert( "The " + event.type + " event happened!" );
 });
     
From 53ffa06085f4cd8c729e6fdb494bf6579e332ace Mon Sep 17 00:00:00 2001 From: Aurelio De Rosa Date: Tue, 20 Dec 2016 15:45:23 +0000 Subject: [PATCH 002/222] find(): Mention support for selectors starting with > Fixes gh-973 Closes gh-1011 --- entries/find.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/find.xml b/entries/find.xml index 0a080a05..c6a32e84 100644 --- a/entries/find.xml +++ b/entries/find.xml @@ -18,7 +18,7 @@ Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element.

Given a jQuery object that represents a set of DOM elements, the .find() method allows us to search through the descendants of these elements in the DOM tree and construct a new jQuery object from the matching elements. The .find() and .children() methods are similar, except that the latter only travels a single level down the DOM tree.

-

The first signature for the .find()method accepts a selector expression of the same type that we can pass to the $() function. The elements will be filtered by testing whether they match this selector.

+

The first signature for the .find()method accepts a selector expression of the same type that we can pass to the $() function. The elements will be filtered by testing whether they match this selector. The expressions allowed include selectors like > p which will find all the paragraphs that are children of the elements in the jQuery object.

Consider a page with a basic nested list on it:


 <ul class="level-1">

From 6a2c8cd629feb3ba82a9ace9b2ef72de0455e818 Mon Sep 17 00:00:00 2001
From: Aurelio De Rosa 
Date: Mon, 16 Jan 2017 22:04:29 +0000
Subject: [PATCH 003/222] 1.12.20

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 3fb09190..ccd3be22 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "api.jquery.com",
   "title": "jQuery API Docs",
   "description": "API reference documentation for the jQuery JavaScript Library.",
-  "version": "1.12.19",
+  "version": "1.12.20",
   "homepage": "https://github.com/jquery/api.jquery.com",
   "author": {
     "name": "jQuery Foundation and other contributors"

From ab9fcb05f3981bbc11b15beb5912e2289a94319f Mon Sep 17 00:00:00 2001
From: Aurelio De Rosa 
Date: Mon, 19 Dec 2016 16:57:19 +0000
Subject: [PATCH 004/222] ajax: Specified behavior for a timeout of 0

Fixes gh-979
Closes gh-1006
---
 entries/jQuery.ajax.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml
index c35582bc..93fd2759 100644
--- a/entries/jQuery.ajax.xml
+++ b/entries/jQuery.ajax.xml
@@ -170,7 +170,7 @@ $.ajax({
         A function to be called if the request succeeds. The function gets passed three arguments: The data returned from the server, formatted according to the dataType parameter or the dataFilter callback function, if specified; a string describing the status; and the jqXHR (in jQuery 1.4.x, XMLHttpRequest) object. As of jQuery 1.5, the success setting can accept an array of functions. Each function will be called in turn. This is an Ajax Event.
       
       
-        Set a timeout (in milliseconds) for the request. This will override any global timeout set with $.ajaxSetup(). The timeout period starts at the point the $.ajax call is made; if several other requests are in progress and the browser has no connections available, it is possible for a request to time out before it can be sent. In jQuery 1.4.x and below, the XMLHttpRequest object will be in an invalid state if the request times out; accessing any object members may throw an exception. In Firefox 3.0+ only, script and JSONP requests cannot be cancelled by a timeout; the script will run even if it arrives after the timeout period.
+        Set a timeout (in milliseconds) for the request. A value of 0 means there will be no timeout. This will override any global timeout set with $.ajaxSetup(). The timeout period starts at the point the $.ajax call is made; if several other requests are in progress and the browser has no connections available, it is possible for a request to time out before it can be sent. In jQuery 1.4.x and below, the XMLHttpRequest object will be in an invalid state if the request times out; accessing any object members may throw an exception. In Firefox 3.0+ only, script and JSONP requests cannot be cancelled by a timeout; the script will run even if it arrives after the timeout period.
       
       
         Set this to true if you wish to use the traditional style of param serialization.

From 79a5c0c9f8e2ed423a7bf9af7486dd47749b6a34 Mon Sep 17 00:00:00 2001
From: Mike Pennisi 
Date: Sat, 21 Jan 2017 23:19:37 -0500
Subject: [PATCH 005/222] serializeArray: Document Behavior for Value-less
 Input Elements

Close gh-1018
---
 entries/serializeArray.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entries/serializeArray.xml b/entries/serializeArray.xml
index bc46e920..4a836265 100644
--- a/entries/serializeArray.xml
+++ b/entries/serializeArray.xml
@@ -28,7 +28,7 @@
   </div>
 </form>
     
-

The .serializeArray() method uses the standard W3C rules for successful controls to determine which elements it should include; in particular the element cannot be disabled and must contain a name attribute. No submit button value is serialized since the form was not submitted using a button. Data from file select elements is not serialized.

+

The .serializeArray() method uses the standard W3C rules for successful controls to determine which elements it should include; in particular the element cannot be disabled and must contain a name attribute. No submit button value is serialized since the form was not submitted using a button. Data from file select elements is not serialized. Elements that do not contain a value attribute are represented with the empty string value.

This method can act on a jQuery object that has selected individual form controls, such as <input>, <textarea>, and <select>. However, it is typically easier to select the <form> element itself for serialization:


 $( "form" ).submit(function( event ) {

From 874113df6ef381f34b0d3e27ddfd87f2b1955e1e Mon Sep 17 00:00:00 2001
From: Karl Swedberg 
Date: Sat, 21 Jan 2017 23:20:25 -0500
Subject: [PATCH 006/222] 1.12.21

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index ccd3be22..368efd68 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
   "name": "api.jquery.com",
   "title": "jQuery API Docs",
   "description": "API reference documentation for the jQuery JavaScript Library.",
-  "version": "1.12.20",
+  "version": "1.12.21",
   "homepage": "https://github.com/jquery/api.jquery.com",
   "author": {
     "name": "jQuery Foundation and other contributors"

From af3f23e7360ea8260bea002b70340dae107f1791 Mon Sep 17 00:00:00 2001
From: Aurelio De Rosa 
Date: Tue, 20 Dec 2016 15:24:23 +0000
Subject: [PATCH 007/222] load(): Specified that load event alias is removed

Fixes #976
Closes #1010
---
 entries/load.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/entries/load.xml b/entries/load.xml
index 951c43f6..3444cb90 100644
--- a/entries/load.xml
+++ b/entries/load.xml
@@ -21,7 +21,7 @@
   Load data from the server and place the returned HTML into the matched element.
   
     
-

Note: The event handling suite also has a method named .load(). jQuery determines which method to fire based on the set of arguments passed to it.

+

Note: Prior to jQuery 3.0, the event handling suite also had a method named .load(). Older versions of jQuery determined which method to fire based on the set of arguments passed to it.

This method is the simplest way to fetch data from the server. It is roughly equivalent to $.get(url, data, success) except that it is a method rather than global function and it has an implicit callback function. When a successful response is detected (i.e. when textStatus is "success" or "notmodified"), .load() sets the HTML contents of the matched element to the returned data. This means that most uses of the method can be quite simple:



From eceefcf142534cb51ae443157a4752c9357f3ebd Mon Sep 17 00:00:00 2001
From: denis 
Date: Mon, 20 Feb 2017 17:54:40 +0100
Subject: [PATCH 008/222] jQuery.type: Add results for symbols (bare & boxed)

Closes #1025
---
 entries/jQuery.type.xml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/entries/jQuery.type.xml b/entries/jQuery.type.xml
index f77b3139..26dbe913 100644
--- a/entries/jQuery.type.xml
+++ b/entries/jQuery.type.xml
@@ -32,6 +32,8 @@
           
  • jQuery.type( new Array() ) === "array"
  • jQuery.type( new Date() ) === "date"
  • jQuery.type( new Error() ) === "error" // as of jQuery 1.9
  • +
  • jQuery.type( Symbol() ) === "symbol" // as of jQuery 1.9
  • +
  • jQuery.type( Object(Symbol()) ) === "symbol" // as of jQuery 1.12
  • jQuery.type( /test/ ) === "regexp"
  • From de9998303049b92d5e2f7cba88009cb55709e4fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Wed, 1 Mar 2017 10:49:55 +0100 Subject: [PATCH 009/222] 1.12.22 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 368efd68..574ad9d9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.21", + "version": "1.12.22", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From b7ec850f7c515318d24f268ff080d71ccdf7d33f Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Sat, 21 Jan 2017 23:42:41 -0500 Subject: [PATCH 010/222] jQuery.ajax: Improve the jqXHR properties/methods documentation * Alphabetize properties and methods * Add missing methods and parameters * Clarify getAllResponseHeaders * Standardize formatting * Document getResponseHeader argument Fixes gh-1019 Closes gh-1020 --- entries/jQuery.ajax.xml | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index 93fd2759..393bc83c 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -280,25 +280,32 @@ jqxhr.always(function() {
  • readyState
  • +
  • + responseXML and/or responseText when the underlying request responded with xml and/or text, respectively +
  • status
  • statusText
  • -
  • responseXML and/or responseText when the underlying request responded with xml and/or text, respectively
  • -
  • setRequestHeader(name, value) which departs from the standard by replacing the old value with the new one rather than concatenating the new value to the old one
  • - getAllResponseHeaders() + abort( [ statusText ] ) +
  • +
  • + getAllResponseHeaders() as a string +
  • +
  • + getResponseHeader( name )
  • - getResponseHeader() + overrideMimeType( mimeType )
  • - statusCode() + setRequestHeader( name, value ) which departs from the standard by replacing the old value with the new one rather than concatenating the new value to the old one
  • - abort() + statusCode( callbacksByStatusCode )
  • No onreadystatechange mechanism is provided, however, since done, fail, always, and statusCode cover all conceivable requirements.

    From b2b9d8acd523fa2da2147be1a18204217c17b361 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Wed, 8 Mar 2017 10:41:29 +0100 Subject: [PATCH 011/222] 1.12.23 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 574ad9d9..64b6253c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.22", + "version": "1.12.23", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 3ab6720bdbeefa64d34bdb7d79bc03468788f49f Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Mon, 20 Mar 2017 15:34:07 -0700 Subject: [PATCH 012/222] jQuery.when: Add Thenable and Promise as acceptable types Technically replacing Deferred with Thenable would work, but mentioning Deferred and Promise directly should make this easier to understand for new and existing users. Fixes #906 Closes #1026 --- entries/jQuery.when.xml | 9 ++++++--- pages/Types.html | 3 +++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/entries/jQuery.when.xml b/entries/jQuery.when.xml index 09c8393e..a27f2adc 100644 --- a/entries/jQuery.when.xml +++ b/entries/jQuery.when.xml @@ -3,11 +3,14 @@ jQuery.when() 1.5 - - Zero or more Deferred objects, or plain JavaScript objects. + + Zero or more Thenable objects. + + + - Provides a way to execute callback functions based on zero or more objects, usually Deferred objects that represent asynchronous events. + Provides a way to execute callback functions based on zero or more Thenable objects, usually Deferred objects that represent asynchronous events.

    If no arguments are passed to jQuery.when(), it will return a resolved Promise.

    If a single Deferred is passed to jQuery.when(), its Promise object (a subset of the Deferred methods) is returned by the method. Additional methods of the Promise object can be called to attach callbacks, such as deferred.then. When the Deferred is resolved or rejected, usually by the code that created the Deferred originally, the appropriate callbacks will be called. For example, the jqXHR object returned by jQuery.ajax() is a Promise-compatible object and can be used this way:

    diff --git a/pages/Types.html b/pages/Types.html index 47f5ea74..5eb5eceb 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -93,6 +93,7 @@
  • jQuery
  • XMLHttpRequest
  • jqXHR
  • +
  • Thenable
  • Deferred Object
  • Promise Object
  • Callbacks Object
  • @@ -657,6 +658,8 @@

    XMLHttpRequest

    jqXHR

    As of jQuery 1.5, the $.ajax() method returns the jqXHR object, which is a superset of the XMLHTTPRequest object. For more information, see the jqXHR section of the $.ajax entry

    +

    Thenable

    +

    Any object that has a then method.

    Deferred Object

    As of jQuery 1.5, the Deferred object provides a way to register multiple callbacks into self-managed callback queues, invoke callback queues as appropriate, and relay the success or failure state of any synchronous or asynchronous function.

    From 21c1fb1615c1de368ebf87dd418fa89395faf0c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Mon, 20 Mar 2017 23:34:41 +0100 Subject: [PATCH 013/222] 1.12.24 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 64b6253c..a43380ff 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.23", + "version": "1.12.24", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 65f99f984f2ab60b2ccd64f4024a6c641fc9a8c4 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 22 Mar 2017 01:59:24 -0700 Subject: [PATCH 014/222] Selector: Move from global to instance property category Follows-up e3c9d15239, which added it to the wrong category. Closes #1030 --- entries/selector.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/selector.xml b/entries/selector.xml index e9e61c1e..d64fc0aa 100644 --- a/entries/selector.xml +++ b/entries/selector.xml @@ -9,7 +9,7 @@

    The .selector property was deprecated in jQuery 1.7 and is only maintained to the extent needed for supporting .live() in the jQuery Migrate plugin. It may be removed without notice in a future version. The property was never a reliable indicator of the selector that could be used to obtain the set of elements currently contained in the jQuery set where it was a property, since subsequent traversal methods may have changed the set. Plugins that need to use a selector string within their plugin can require it as a parameter of the method. For example, a "foo" plugin could be written as $.fn.foo = function( selector, options ) { /* plugin code goes here */ };, and the person using the plugin would write $( "div.bar" ).foo( "div.bar", {dog: "bark"} ); with the "div.bar" selector repeated as the first argument of .foo().

    - + From 7f1299441cfe8afb1b829795abf7d16ecc0ae334 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Wed, 22 Mar 2017 02:02:01 -0700 Subject: [PATCH 015/222] jQuery.ready: create page Also categorise jQuery.holdReady in events/document-loading and properties/global-jquery-object-properties, to match jQuery.ready. Fixes #205 Closes #983 --- entries/jQuery.holdReady.xml | 2 ++ entries/jQuery.ready.xml | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 entries/jQuery.ready.xml diff --git a/entries/jQuery.holdReady.xml b/entries/jQuery.holdReady.xml index cb795f2f..016e951a 100644 --- a/entries/jQuery.holdReady.xml +++ b/entries/jQuery.holdReady.xml @@ -22,5 +22,7 @@ $.getScript( "myplugin.js", function() { ]]>
    + + diff --git a/entries/jQuery.ready.xml b/entries/jQuery.ready.xml new file mode 100644 index 00000000..cc1a98f1 --- /dev/null +++ b/entries/jQuery.ready.xml @@ -0,0 +1,36 @@ + + + jQuery.ready + A Promise-like object (or "thenable") that resolves when the document is ready. + + 1.8 + + +

    As of jQuery 3.0, use of this object is supported via jQuery.when or the native Promise.resolve(). Code should not make assumptions about whether this object is a jQuery.Deferred, native Promise, or some other type of promise object.

    +

    See also ready(), which makes use of this.

    +
    + + Listen for document ready using jQuery.when. + + + + Typical usage involving another promise, using jQuery.when. + + + + + + +
    From ca8f0526486bdfb9f746ce305563ded2a424465f Mon Sep 17 00:00:00 2001 From: Matt Flaschen Date: Wed, 22 Mar 2017 05:02:52 -0400 Subject: [PATCH 016/222] Add the warning about deep=false to the short description as well Closes #1031 --- entries/jQuery.extend.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.extend.xml b/entries/jQuery.extend.xml index ee6fb4a7..42edb4ae 100644 --- a/entries/jQuery.extend.xml +++ b/entries/jQuery.extend.xml @@ -16,7 +16,7 @@ 1.1.4 - If true, the merge becomes recursive (aka. deep copy). + If true, the merge becomes recursive (aka. deep copy). Passing false for this argument is not supported. The object to extend. It will receive the new properties. From 95dcca44d9e466b006d9884eb77f2881fc064954 Mon Sep 17 00:00:00 2001 From: eironman Date: Wed, 21 Dec 2016 16:50:00 +0100 Subject: [PATCH 017/222] show: fix incorrect information related to !important There was a contradiction between show() and css() documentation about !important behaviour. Closes #1015 --- entries/show.xml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/entries/show.xml b/entries/show.xml index fb150631..535b9c5d 100644 --- a/entries/show.xml +++ b/entries/show.xml @@ -32,10 +32,9 @@
    
     $( ".target" ).show();
         
    -

    The matched elements will be revealed immediately, with no animation. This is roughly equivalent to calling .css( "display", "block"), except that the display property is restored to whatever it was initially. If an element has a display value of inline, then is hidden and shown, it will once again be displayed inline.

    -

    Note: If using !important in your styles, such as - display: none !important, - it is necessary to override the style using .css( "display", "block !important") should you wish for .show() to function correctly.

    +

    The matched elements will be revealed immediately, with no animation. This is roughly equivalent to calling .css( "display", "block" ), except that the display property is restored to whatever it was initially. If an element has a display value of inline, then is hidden and shown, it will once again be displayed inline.

    +

    Note: If using !important in your styles, such as display: none !important, .show() will not override !important. + It is recommended to use different classes with .addClass(), .removeClass() or .toggleClass(). Another approach is using .attr( "style", "display: block !important;" ); be careful, though, as it overwrites the style attribute of the element.

    When a duration, a plain object, or a "complete" function is provided, .show() becomes an animation method. The .show() method animates the width, height, and opacity of the matched elements simultaneously.

    Durations are given in milliseconds; higher values indicate slower animations, not faster ones. The strings 'fast' and 'slow' can be supplied to indicate durations of 200 and 600 milliseconds, respectively.

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    From 90321abaeb410b79dd734b0cc7fe1c927d4e8204 Mon Sep 17 00:00:00 2001 From: Aurelio De Rosa Date: Wed, 22 Mar 2017 14:45:55 +0000 Subject: [PATCH 018/222] outerHeight: Specified type of passed arguments to callback Fixes gh-989 Closes gh-1009 --- entries/outerHeight.xml | 8 +++++++- entries/outerWidth.xml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/entries/outerHeight.xml b/entries/outerHeight.xml index c50dd23d..e1caaf55 100644 --- a/entries/outerHeight.xml +++ b/entries/outerHeight.xml @@ -56,7 +56,13 @@ $( "p:last" ).text(
    1.8.0 - + + + + + + + A function returning the outer height to set. Receives the index position of the element in the set and the old outer height as arguments. Within the function, this refers to the current element in the set. diff --git a/entries/outerWidth.xml b/entries/outerWidth.xml index bb37d571..4e613cc1 100644 --- a/entries/outerWidth.xml +++ b/entries/outerWidth.xml @@ -56,7 +56,13 @@ $( "p:last" ).text( 1.8.0 - + + + + + + + A function returning the outer width to set. Receives the index position of the element in the set and the old outer width as arguments. Within the function, this refers to the current element in the set. From 622c78ea4286bf8979f7fbded7a4c98ffa23c612 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Wed, 22 Mar 2017 15:47:59 +0100 Subject: [PATCH 019/222] 1.12.25 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a43380ff..82f32942 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.24", + "version": "1.12.25", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 06e4ce4d933c3456040669912e4b4164026a825c Mon Sep 17 00:00:00 2001 From: Jade Misenas Date: Wed, 22 Mar 2017 17:41:35 -0400 Subject: [PATCH 020/222] one: indicate where passed data will be available Closes #855 --- entries/one.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/one.xml b/entries/one.xml index 8d37f3f8..4b98e5f9 100644 --- a/entries/one.xml +++ b/entries/one.xml @@ -8,7 +8,7 @@ A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. - An object containing data that will be passed to the event handler. + Data to be passed to the handler in event.data when an event is triggered. A function to execute at the time the event is triggered. From 28884e399182f81ab3894b81eb0d95e15acfd0c1 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Tue, 25 Apr 2017 15:43:57 -0400 Subject: [PATCH 021/222] Offset: Be more precise about the origins for .offset() and .position() Ref https://github.com/jquery/jquery/pull/3487 Closes gh-1027 --- entries/offset.xml | 6 +++--- entries/position.xml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/entries/offset.xml b/entries/offset.xml index e626ac5a..9a588ca2 100644 --- a/entries/offset.xml +++ b/entries/offset.xml @@ -8,10 +8,10 @@ Get the current coordinates of the first element in the set of matched elements, relative to the document. -

    The .offset() method allows us to retrieve the current position of an element relative to the document. Contrast this with .position(), which retrieves the current position relative to the offset parent. When positioning a new element on top of an existing one for global manipulation (in particular, for implementing drag-and-drop), .offset() is more useful.

    +

    The .offset() method allows us to retrieve the current position of an element (specifically its border box, which excludes margins) relative to the document. Contrast this with .position(), which retrieves the current position relative to the offset parent. When positioning a new element on top of an existing one for global manipulation (in particular, for implementing drag-and-drop), .offset() is more useful.

    .offset() returns an object containing the properties top and left.

    -

    Note: jQuery does not support getting the offset coordinates of hidden elements or accounting for borders, margins, or padding set on the body element.

    +

    Note: jQuery does not support getting the offset coordinates of hidden elements or accounting for margins set on the <html> document element.

    While it is possible to get the coordinates of elements with visibility:hidden set, display:none is excluded from the rendering tree and thus has a position that is undefined.

    @@ -96,7 +96,7 @@ $( "*", document.body ).click(function( event ) { Set the current coordinates of every element in the set of matched elements, relative to the document. -

    The .offset() setter method allows us to reposition an element. The element's position is specified relative to the document. If the element's position style property is currently static, it will be set to relative to allow for this repositioning.

    +

    The .offset() setter method allows us to reposition an element. The element's border-box position is specified relative to the document. If the element's position style property is currently static, it will be set to relative to allow for this repositioning.

    Set the offset of the second paragraph: diff --git a/entries/position.xml b/entries/position.xml index 41bd0fb7..3eed46b4 100644 --- a/entries/position.xml +++ b/entries/position.xml @@ -6,10 +6,10 @@ Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. -

    The .position() method allows us to retrieve the current position of an element relative to the offset parent. Contrast this with .offset(), which retrieves the current position relative to the document. When positioning a new element near another one and within the same containing DOM element, .position() is the more useful.

    +

    The .position() method allows us to retrieve the current position of an element (specifically its margin box) relative to the offset parent (specifically its padding box, which excludes margins and borders). Contrast this with .offset(), which retrieves the current position relative to the document. When positioning a new element near another one and within the same containing DOM element, .position() is the more useful.

    Returns an object containing the properties top and left.

    -

    Note: jQuery does not support getting the position coordinates of hidden elements or accounting for borders, margins, or padding set on the body element.

    +

    Note: jQuery does not support getting the position coordinates of hidden elements or accounting for margins set on the <html> document element.

    From c905b5169f4f9b2ade1172edb418a6c7ca738e00 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Tue, 25 Apr 2017 15:44:41 -0400 Subject: [PATCH 022/222] 1.12.26 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 82f32942..ab9ac01c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.25", + "version": "1.12.26", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From c021b3efd9b8332aca6eaa8a65119dccd77e78eb Mon Sep 17 00:00:00 2001 From: Jack Alma Date: Wed, 26 Jul 2017 02:58:05 -0600 Subject: [PATCH 023/222] mousedown: Fix a misplaced space Closes #1051 --- entries/mousedown.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/mousedown.xml b/entries/mousedown.xml index dc1626fd..ea8d9a0e 100644 --- a/entries/mousedown.xml +++ b/entries/mousedown.xml @@ -54,7 +54,7 @@ $( "#other" ).click(function() { });

    After this code executes, clicks on Trigger the handler will also alert the message.

    -

    The mousedown event is sent when any mouse button is clicked. To act only on specific buttons, we can use the event object's which property. Not all browsers support this property (Internet Explorer uses button instead), but jQuery normalizes the property so that it is safe to use in any browser. The value of which will be 1 for the left button, 2 for the middle button, or 3 for the right button.

    +

    The mousedown event is sent when any mouse button is clicked. To act only on specific buttons, we can use the event object's which property. Not all browsers support this property (Internet Explorer uses button instead), but jQuery normalizes the property so that it is safe to use in any browser. The value of which will be 1 for the left button, 2 for the middle button, or 3 for the right button.

    This event is primarily useful for ensuring that the primary button was used to begin a drag operation; if ignored, strange results can occur when the user attempts to use a context menu. While the middle and right buttons can be detected with these properties, this is not reliable. In Opera and Safari, for example, right mouse button clicks are not detectable by default.

    If the user clicks on an element, drags away from it, and releases the button, this is still counted as a mousedown event. This sequence of actions is treated as a "canceling" of the button press in most user interfaces, so it is usually better to use the click event unless we know that the mousedown event is preferable for a particular situation.

    From 8dabbaf7d382718827b10eedb61a7345d02a020c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Wed, 26 Jul 2017 11:18:51 +0200 Subject: [PATCH 024/222] Build: Add a package-lock.json --- package-lock.json | 666 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 666 insertions(+) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..2eaf2817 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,666 @@ +{ + "name": "api.jquery.com", + "version": "1.12.26", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "abbrev": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz", + "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8=" + }, + "argparse": { + "version": "0.1.16", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz", + "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=", + "requires": { + "underscore": "1.7.0", + "underscore.string": "2.4.0" + }, + "dependencies": { + "underscore.string": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", + "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=" + } + } + }, + "async": { + "version": "0.1.22", + "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz", + "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "brace-expansion": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", + "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", + "requires": { + "balanced-match": "1.0.0", + "concat-map": "0.0.1" + } + }, + "cheerio": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz", + "integrity": "sha1-+lrkLMYBIRM9KW0LRtmDIV9yaOo=", + "requires": { + "CSSselect": "0.4.1", + "dom-serializer": "0.0.1", + "entities": "1.1.1", + "htmlparser2": "3.7.3", + "lodash": "2.4.2" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + } + } + }, + "coffee-script": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz", + "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=" + }, + "colors": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz", + "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "CSSselect": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz", + "integrity": "sha1-+Kt+H4QYzmPNput713ioXX7EkrI=", + "requires": { + "CSSwhat": "0.4.7", + "domutils": "1.4.3" + } + }, + "CSSwhat": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz", + "integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s=" + }, + "dateformat": { + "version": "1.0.2-1.2.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz", + "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=" + }, + "dom-serializer": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz", + "integrity": "sha1-lYmCfx4y0iw3yCmtq9WbMkevjq8=", + "requires": { + "domelementtype": "1.1.3", + "entities": "1.1.1" + }, + "dependencies": { + "domelementtype": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", + "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" + } + } + }, + "domelementtype": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz", + "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI=" + }, + "domhandler": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz", + "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "domutils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", + "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", + "requires": { + "domelementtype": "1.3.0" + } + }, + "entities": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", + "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA=" + }, + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=" + }, + "eventemitter2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", + "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=" + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" + }, + "findup-sync": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz", + "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=", + "requires": { + "glob": "3.2.11", + "lodash": "2.4.2" + }, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "requires": { + "inherits": "2.0.3", + "minimatch": "0.3.0" + } + }, + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + } + } + }, + "getobject": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", + "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=" + }, + "gilded-wordpress": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.3.tgz", + "integrity": "sha1-kh/iJ93yWyxAgp5QUjsOMXRDsz4=", + "requires": { + "async": "0.9.2", + "glob": "4.0.6", + "wordpress": "1.1.2" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "glob": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz", + "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=", + "requires": { + "graceful-fs": "3.0.11", + "inherits": "2.0.3", + "minimatch": "1.0.0", + "once": "1.4.0" + } + }, + "graceful-fs": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", + "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", + "requires": { + "natives": "1.1.0" + } + }, + "minimatch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz", + "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=", + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + } + } + }, + "glob": { + "version": "3.1.21", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", + "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", + "requires": { + "graceful-fs": "1.2.3", + "inherits": "1.0.2", + "minimatch": "0.2.14" + }, + "dependencies": { + "inherits": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", + "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=" + } + } + }, + "graceful-fs": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", + "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=" + }, + "grunt": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz", + "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=", + "requires": { + "async": "0.1.22", + "coffee-script": "1.3.3", + "colors": "0.6.2", + "dateformat": "1.0.2-1.2.3", + "eventemitter2": "0.4.14", + "exit": "0.1.2", + "findup-sync": "0.1.3", + "getobject": "0.1.0", + "glob": "3.1.21", + "grunt-legacy-log": "0.1.3", + "grunt-legacy-util": "0.2.0", + "hooker": "0.2.3", + "iconv-lite": "0.2.11", + "js-yaml": "2.0.5", + "lodash": "0.9.2", + "minimatch": "0.2.14", + "nopt": "1.0.10", + "rimraf": "2.2.8", + "underscore.string": "2.2.1", + "which": "1.0.9" + } + }, + "grunt-check-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/grunt-check-modules/-/grunt-check-modules-1.0.0.tgz", + "integrity": "sha1-Y/9erkYTF5tKifaozTcfekAfd4I=" + }, + "grunt-cli": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.1.0.tgz", + "integrity": "sha1-r9eWmTTd8zYg6ER+3B+pTlHlWjQ=", + "requires": { + "findup-sync": "0.3.0", + "nopt": "3.0.6", + "resolve": "1.1.7" + }, + "dependencies": { + "findup-sync": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", + "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=", + "requires": { + "glob": "5.0.15" + } + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "requires": { + "inflight": "1.0.6", + "inherits": "2.0.3", + "minimatch": "3.0.4", + "once": "1.4.0", + "path-is-absolute": "1.0.1" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "1.1.8" + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1.1.0" + } + } + } + }, + "grunt-jquery-content": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/grunt-jquery-content/-/grunt-jquery-content-3.0.1.tgz", + "integrity": "sha1-aHdrx0G1SVEdaPBouVCsizd+g90=", + "requires": { + "async": "0.9.0", + "cheerio": "0.17.0", + "grunt-check-modules": "1.0.0", + "grunt-wordpress": "2.1.2", + "he": "0.5.0", + "highlight.js": "7.3.0", + "marked": "0.3.2", + "rimraf": "2.2.8", + "spawnback": "1.0.0", + "which": "1.0.5", + "wordpress": "1.1.2" + }, + "dependencies": { + "async": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz", + "integrity": "sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc=" + }, + "which": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", + "integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk=" + } + } + }, + "grunt-legacy-log": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz", + "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=", + "requires": { + "colors": "0.6.2", + "grunt-legacy-log-utils": "0.1.1", + "hooker": "0.2.3", + "lodash": "2.4.2", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=" + } + } + }, + "grunt-legacy-log-utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz", + "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=", + "requires": { + "colors": "0.6.2", + "lodash": "2.4.2", + "underscore.string": "2.3.3" + }, + "dependencies": { + "lodash": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", + "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + }, + "underscore.string": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz", + "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=" + } + } + }, + "grunt-legacy-util": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz", + "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=", + "requires": { + "async": "0.1.22", + "exit": "0.1.2", + "getobject": "0.1.0", + "hooker": "0.2.3", + "lodash": "0.9.2", + "underscore.string": "2.2.1", + "which": "1.0.9" + } + }, + "grunt-wordpress": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/grunt-wordpress/-/grunt-wordpress-2.1.2.tgz", + "integrity": "sha1-ue3Lv5jp6HM9F6gsMmWf2zbO2LE=", + "requires": { + "gilded-wordpress": "1.0.3" + } + }, + "he": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", + "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=" + }, + "highlight.js": { + "version": "7.3.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-7.3.0.tgz", + "integrity": "sha1-bF8PZOcHj2ZAK82/yJEQw/0bqZ8=" + }, + "hooker": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", + "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=" + }, + "htmlparser2": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz", + "integrity": "sha1-amTHdjfAjG8w7CqBV6UzM758sF4=", + "requires": { + "domelementtype": "1.3.0", + "domhandler": "2.2.1", + "domutils": "1.5.1", + "entities": "1.0.0", + "readable-stream": "1.1.14" + }, + "dependencies": { + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0.0.1", + "domelementtype": "1.3.0" + } + }, + "entities": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", + "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" + } + } + }, + "iconv-lite": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz", + "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "1.4.0", + "wrappy": "1.0.2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "js-yaml": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz", + "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=", + "requires": { + "argparse": "0.1.16", + "esprima": "1.0.4" + } + }, + "lodash": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz", + "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=" + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "marked": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz", + "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk=" + }, + "minimatch": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", + "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", + "requires": { + "lru-cache": "2.7.3", + "sigmund": "1.0.1" + } + }, + "natives": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", + "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=" + }, + "nopt": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz", + "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=", + "requires": { + "abbrev": "1.1.0" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1.0.2" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "1.0.2", + "inherits": "2.0.3", + "isarray": "0.0.1", + "string_decoder": "0.10.31" + } + }, + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" + }, + "rimraf": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", + "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" + }, + "sax": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz", + "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk=" + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "spawnback": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz", + "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=" + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "underscore": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", + "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=" + }, + "underscore.string": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz", + "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=" + }, + "which": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz", + "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=" + }, + "wordpress": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/wordpress/-/wordpress-1.1.2.tgz", + "integrity": "sha1-uDZhhSBVSXESG8VsQ7A5yzgg94M=", + "requires": { + "xmlrpc": "1.3.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xmlbuilder": { + "version": "2.6.5", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz", + "integrity": "sha1-b/etYPty0idk8AehZLd/K/FABSY=", + "requires": { + "lodash": "3.10.1" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "xmlrpc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.1.tgz", + "integrity": "sha1-OqWCCG/vUwz+Hc2qDEyd3F0ORFE=", + "requires": { + "sax": "0.6.1", + "xmlbuilder": "2.6.5" + } + } + } +} From e0a236becabfd660f656ef74d0abb16a38efe8cc Mon Sep 17 00:00:00 2001 From: Levi Robertson Date: Wed, 26 Jul 2017 02:31:09 -0700 Subject: [PATCH 025/222] closest: Correct spelling of "highlight" Closes #1045 --- entries/closest.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entries/closest.xml b/entries/closest.xml index 14c10a80..903ba1a7 100644 --- a/entries/closest.xml +++ b/entries/closest.xml @@ -109,7 +109,7 @@ $( "li.item-a" ) Show how event delegation can be done with closest. The closest list element toggles a yellow background when it or its descendent is clicked. @@ -134,7 +134,7 @@ $( document ).on( "click", function( event ) { From 39e4bf4dcf4060eec4e4a12739d50713c6c7b16a Mon Sep 17 00:00:00 2001 From: Dasheng Jonathan Zhang Date: Wed, 26 Jul 2017 05:32:58 -0400 Subject: [PATCH 026/222] stop: fix misplaced default value Closes #1037 --- entries/stop.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entries/stop.xml b/entries/stop.xml index b66c0bcc..c0f17348 100644 --- a/entries/stop.xml +++ b/entries/stop.xml @@ -13,10 +13,10 @@ 1.7 - + The name of the queue in which to stop animations. - + A Boolean indicating whether to remove queued animation as well. Defaults to false. From 5b7121ab1a7d2a1805e702eca20da180e336528c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski?= Date: Wed, 26 Jul 2017 11:54:49 +0200 Subject: [PATCH 027/222] 1.12.27 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2eaf2817..d3c03011 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.26", + "version": "1.12.27", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index ab9ac01c..6a5ba757 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.26", + "version": "1.12.27", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 9b33cd476b8c94378a672cac9e4efde7c16d1eca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 11 Oct 2017 10:59:26 +0200 Subject: [PATCH 028/222] Add my new name to .mailmap --- .mailmap | 1 + 1 file changed, 1 insertion(+) diff --git a/.mailmap b/.mailmap index 175ab74f..7f902dbd 100644 --- a/.mailmap +++ b/.mailmap @@ -1 +1,2 @@ Matic Potočnik +Michał Gołębiowski-Owczarek From 0c56670f38fd4e28f1f217e7fbe7de92849e0df9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?B=C3=A1lint=20Kov=C3=A1cs?= Date: Wed, 22 Nov 2017 04:00:12 +0000 Subject: [PATCH 029/222] callbacks.fireWith: Update text and add value type information Fixes gh-1066 Closes gh-1067 --- entries/callbacks.fireWith.xml | 6 +++--- entries/event.stopImmediatePropagation.xml | 2 +- entries/event.stopPropagation.xml | 2 +- entries/jQuery.ajaxSetup.xml | 2 +- entries/jQuery.globalEval.xml | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/entries/callbacks.fireWith.xml b/entries/callbacks.fireWith.xml index dfb2adb3..7527e182 100644 --- a/entries/callbacks.fireWith.xml +++ b/entries/callbacks.fireWith.xml @@ -3,11 +3,11 @@ callbacks.fireWith() 1.7 - + A reference to the context in which the callbacks in the list should be fired. - - An argument, or array of arguments, to pass to the callbacks in the list. + + An array or array-like object of arguments to pass to the callbacks in the list. If omitted or undefined, no arguments will be passed. Call all callbacks in a list with the given context and arguments. diff --git a/entries/event.stopImmediatePropagation.xml b/entries/event.stopImmediatePropagation.xml index b067e43a..e5b53eba 100644 --- a/entries/event.stopImmediatePropagation.xml +++ b/entries/event.stopImmediatePropagation.xml @@ -1,5 +1,5 @@ - + event.stopImmediatePropagation() 1.3 diff --git a/entries/event.stopPropagation.xml b/entries/event.stopPropagation.xml index adf4ea10..8d34bd4d 100644 --- a/entries/event.stopPropagation.xml +++ b/entries/event.stopPropagation.xml @@ -1,5 +1,5 @@ - + event.stopPropagation() 1.0 diff --git a/entries/jQuery.ajaxSetup.xml b/entries/jQuery.ajaxSetup.xml index d9589e3a..d175c54a 100644 --- a/entries/jQuery.ajaxSetup.xml +++ b/entries/jQuery.ajaxSetup.xml @@ -1,5 +1,5 @@ - + jQuery.ajaxSetup() 1.1 diff --git a/entries/jQuery.globalEval.xml b/entries/jQuery.globalEval.xml index ce510fe3..ad6b7d1e 100644 --- a/entries/jQuery.globalEval.xml +++ b/entries/jQuery.globalEval.xml @@ -1,5 +1,5 @@ - + jQuery.globalEval() 1.0.4 From b82f48de332840e347d723d269f2943d4ccebda0 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Tue, 21 Nov 2017 23:01:41 -0500 Subject: [PATCH 030/222] 1.12.28 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a5ba757..d388b15a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.27", + "version": "1.12.28", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 576a64b8f5986bb6a447e6f98764a80a152e06fb Mon Sep 17 00:00:00 2001 From: Michael Welling Date: Mon, 11 Dec 2017 14:58:38 -0500 Subject: [PATCH 031/222] unwrap: Update description to include return value information The `.unwrap()` method returns whatever content was unwrapped. Adding this to the description so that the behavior is documented. Closes gh-1071 --- entries/unwrap.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/unwrap.xml b/entries/unwrap.xml index d3a7b405..ff6d6100 100644 --- a/entries/unwrap.xml +++ b/entries/unwrap.xml @@ -12,7 +12,7 @@ Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. -

    The .unwrap() method removes the element's parent. This is effectively the inverse of the .wrap() method. The matched elements (and their siblings, if any) replace their parents within the DOM structure.

    +

    The .unwrap() method removes the element's parent and returns the unwrapped content. This is effectively the inverse of the .wrap() method. The matched elements (and their siblings, if any) replace their parents within the DOM structure.

    Wrap/unwrap a div around each of the paragraphs. From e50c07016b42a76103927c2d5f8dba84c553861d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 6 Dec 2017 19:40:51 +0100 Subject: [PATCH 032/222] jQuery.cssHooks: remove the "O" Opera prefix jQuery 3.0+ doesn't support Opera Presto (versions <=12.x) so including its prefix in the docs doesn't make much sense. Closes gh-1069 --- entries/jQuery.cssHooks.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entries/jQuery.cssHooks.xml b/entries/jQuery.cssHooks.xml index f7ecb170..19bb9054 100644 --- a/entries/jQuery.cssHooks.xml +++ b/entries/jQuery.cssHooks.xml @@ -45,7 +45,7 @@ function styleSupport( prop ) { // Capitalize first character of the prop to test vendor prefix capProp = prop.charAt( 0 ).toUpperCase() + prop.slice( 1 ), - prefixes = [ "Moz", "Webkit", "O", "ms" ], + prefixes = [ "Moz", "Webkit", "ms" ], div = document.createElement( "div" ); if ( prop in div.style ) { @@ -89,7 +89,7 @@ if ( !$.cssHooks ) { function styleSupport( prop ) { var vendorProp, supportedProp, capProp = prop.charAt( 0 ).toUpperCase() + prop.slice( 1 ), - prefixes = [ "Moz", "Webkit", "O", "ms" ], + prefixes = [ "Moz", "Webkit", "ms" ], div = document.createElement( "div" ); if ( prop in div.style ) { From 7a6ba164ee16317b375d2bfb59b025b13cf273a1 Mon Sep 17 00:00:00 2001 From: Wolfgang Hochleitner Date: Tue, 13 Jun 2017 11:38:15 +0200 Subject: [PATCH 033/222] Types: Updated XMLHttpRequest standard link W3C's XMLHttpRequest standardization process has been discontinued. Documentation now refers to the WHATWG living standard. Closes gh-1046 Fixes gh-1043 --- pages/Types.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/Types.html b/pages/Types.html index 5eb5eceb..b31c47ee 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -645,9 +645,9 @@

    jQuery

    XMLHttpRequest

    Some of jQuery's Ajax functions return the native XMLHttpRequest (XHR) object, or pass it as an argument to success/error/complete handlers, so that you can do additional processing or monitoring on the request. Note that Ajax functions only return or pass an XHR object when an XHR object is actually used in the request. For example, JSONP requests and cross-domain GET requests use a script element rather than an XHR object.

    -

    Although the XHR object is a standard, there are variations in its behavior on different browsers. Refer to the W3C site and browsers' documentation for more information: +

    Although the XHR object is a standard, there are variations in its behavior on different browsers. Refer to the WHATWG site and browsers' documentation for more information:

    -
    • W3C standard +
      • WHATWG living standard
      • Apple (Safari)
      • Mozilla (Firefox)
      • Microsoft (Internet Explorer) From db4ca52993c19a3ab5ef7481252db88e2843f750 Mon Sep 17 00:00:00 2001 From: Herst Date: Mon, 6 Nov 2017 14:10:42 +0100 Subject: [PATCH 034/222] contextmenu: Menu button trigger not just on root Closes gh-1065 --- entries/contextmenu.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/contextmenu.xml b/entries/contextmenu.xml index 0c846169..a3645ef7 100644 --- a/entries/contextmenu.xml +++ b/entries/contextmenu.xml @@ -24,7 +24,7 @@

        This method is a shortcut for .on( "contextmenu", handler ) in the first two variations, and .trigger( "contextmenu" ) in the third. - The contextmenu event is sent to an element when the right button of the mouse is clicked on it, but before the context menu is displayed. In case the context menu key is pressed, the event is triggered on the html element. Any HTML element can receive this event. + The contextmenu event is sent to an element when the right button of the mouse is clicked on it, but before the context menu is displayed. In case the context menu key is pressed, the event is triggered on the html element or the currently focused element. Any HTML element can receive this event. For example, consider the HTML:

        
         <div id="target">
        
        From 5d32df8c1c8db2bdf023895155f7f9c58966f3ec Mon Sep 17 00:00:00 2001
        From: Richard Gibson 
        Date: Mon, 29 Jan 2018 22:12:31 -0500
        Subject: [PATCH 035/222] jQuery.isFunction: Resolve ambiguity about what is
         being tested
        
        Closes gh-1079
        Fixes gh-1034
        ---
         entries/jQuery.isFunction.xml | 6 +++---
         1 file changed, 3 insertions(+), 3 deletions(-)
        
        diff --git a/entries/jQuery.isFunction.xml b/entries/jQuery.isFunction.xml
        index 689cdbf7..349061ef 100644
        --- a/entries/jQuery.isFunction.xml
        +++ b/entries/jQuery.isFunction.xml
        @@ -3,11 +3,11 @@
           jQuery.isFunction()
           
             1.2
        -    
        -      Object to test whether or not it is a function.
        +    
        +      The value to be tested.
             
           
        -  Determine if the argument passed is a JavaScript function object. 
        +  Determines if its argument is callable as a function.
           
             

        Note: As of jQuery 1.3, functions provided by the browser like alert() and DOM element methods like getAttribute() are not guaranteed to be detected as functions in browsers such as Internet Explorer.

        From 82322be998f07ee7e95f9c691dfa00d0591526bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 7 Feb 2018 09:29:17 +0100 Subject: [PATCH 036/222] Build: Update Node from 0.12 to 8 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 86929762..3396aa4c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: node_js node_js: - - "0.12" + - "8" before_script: - npm install -g grunt-cli From c5ad660a194ad5efda8ffb81f0a6e17b23971712 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 7 Feb 2018 09:38:25 +0100 Subject: [PATCH 037/222] Build: Don't install grunt-cli manually in Travis It's not needed as npm scripts have node_modules/.bin prepended to PATH. It's also better to have all versions as locked up as possible to prevent build instability. --- .travis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3396aa4c..efb09833 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,3 @@ language: node_js node_js: - "8" -before_script: - - npm install -g grunt-cli From 077f1bec6a1a9ff73cd364bdb1f75d5c09650a72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 7 Feb 2018 09:40:00 +0100 Subject: [PATCH 038/222] Build: Install the libxml2-utils package on Travis, it's needed for xmllint Closes #1080 --- .travis.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.travis.yml b/.travis.yml index efb09833..8b645e42 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,7 @@ language: node_js node_js: - "8" +addons: + apt: + packages: + - libxml2-utils From ba6e6a47dff7a83358d123ef4b57c416dc7f0b44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 8 Feb 2018 22:17:55 +0100 Subject: [PATCH 039/222] 1.12.29 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index d3c03011..3fb8caf1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.27", + "version": "1.12.29", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d388b15a..fcf103c2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.28", + "version": "1.12.29", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From ca12161164e2c2bc996f405ec80c74360d90b72f Mon Sep 17 00:00:00 2001 From: Aurelio De Rosa Date: Tue, 30 Jan 2018 02:22:56 +0000 Subject: [PATCH 040/222] Added note about the deprecation of jQuery.isFunction in version 3.3 Closes gh-1077 Fixes gh-1074 --- categories.xml | 5 +++++ entries/jQuery.isFunction.xml | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/categories.xml b/categories.xml index 2ccd959e..4af831f8 100644 --- a/categories.xml +++ b/categories.xml @@ -70,6 +70,11 @@ + + + diff --git a/entries/jQuery.isFunction.xml b/entries/jQuery.isFunction.xml index 349061ef..7aed5574 100644 --- a/entries/jQuery.isFunction.xml +++ b/entries/jQuery.isFunction.xml @@ -1,5 +1,5 @@ - + jQuery.isFunction() 1.2 @@ -9,6 +9,7 @@ Determines if its argument is callable as a function. +

        As of jQuery 3.3, jQuery.isFunction() has been deprecated. In most cases, its use can be replaced by typeof x === "function".

        Note: As of jQuery 1.3, functions provided by the browser like alert() and DOM element methods like getAttribute() are not guaranteed to be detected as functions in browsers such as Internet Explorer.

        @@ -57,4 +58,5 @@ true +
        From 9d03b3717a9e8d4b8a832866f8f8a7049e2f1cbb Mon Sep 17 00:00:00 2001 From: Aurelio De Rosa Date: Tue, 30 Jan 2018 02:49:12 +0000 Subject: [PATCH 041/222] Specified that jQuery.each accepts array-like objects Closes gh-1078 Fixes gh-1032 Ref gh-473 --- entries/jQuery.each.xml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/entries/jQuery.each.xml b/entries/jQuery.each.xml index 67fe70cc..18836015 100644 --- a/entries/jQuery.each.xml +++ b/entries/jQuery.each.xml @@ -3,13 +3,13 @@ jQuery.each() 1.0 - - The array to iterate over. + + The array or array-like object to iterate over. - The function that will be executed on every object. + The function that will be executed on every value. @@ -20,13 +20,12 @@ - The function that will be executed on every object. + The function that will be executed on every value. A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties.

        The $.each() function is not the same as $(selector).each(), which is used to iterate, exclusively, over a jQuery object. The $.each() function can be used to iterate over any collection, whether it is an object or an array. In the case of an array, the callback is passed an array index and a corresponding array value each time. (The value can also be accessed through the this keyword, but Javascript will always wrap the this value as an Object even if it is a simple string or number value.) The method returns its first argument, the object that was iterated.

        -

        Note: The $.each() function internally retrieves and uses the length property of the passed collection. So, if the collection has a property called length — e.g. {bar: 'foo', length: 10} — the function might not work as expected.

        
         $.each([ 52, 97 ], function( index, value ) {
           alert( index + ": " + value );
        
        From 530dbceef1e332803a442486b1905915c324c98c Mon Sep 17 00:00:00 2001
        From: pinguin999 
        Date: Tue, 19 Dec 2017 14:20:03 +0100
        Subject: [PATCH 042/222] getJSON: Fix Example by using https
        
        Closes gh-1072
        
        Error was:
        
        Mixed Content: The page at 'https://api.jquery.com/jquery.getjson/' was loaded over HTTPS, but requested an insecure script 'http://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=jQuery110203890736409927371_1513688901634&tags=mount+rainier&tagmode=any&format=json&_=1513688901635'. This request has been blocked; the content must be served over HTTPS.
        ---
         entries/jQuery.getJSON.xml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/entries/jQuery.getJSON.xml b/entries/jQuery.getJSON.xml
        index c3b1e1e2..b8a5ee49 100644
        --- a/entries/jQuery.getJSON.xml
        +++ b/entries/jQuery.getJSON.xml
        @@ -95,7 +95,7 @@ jqxhr.complete(function() {
             Loads the four most recent pictures of Mount Rainier from the Flickr JSONP API.
             
        -
        +
           jQuery.isWindow()
           
             1.4.3
        @@ -22,4 +22,5 @@ Is 'window' a window? 
           
           
           
        +  
         
        
        From 05caac8968b98aa45d066a382d45d4ce0510bae5 Mon Sep 17 00:00:00 2001
        From: Daniil Zhilin 
        Date: Mon, 26 Mar 2018 19:43:40 +0300
        Subject: [PATCH 044/222] jQuery.ajax: Change DataType to dataType
        
        Closes #1088
        ---
         entries/jQuery.ajax.xml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml
        index 393bc83c..fa77edcd 100644
        --- a/entries/jQuery.ajax.xml
        +++ b/entries/jQuery.ajax.xml
        @@ -15,7 +15,7 @@
             1.0
             
               A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup().
        -      
        +      
                 A set of key/value pairs that map a given dataType to its MIME type, which gets sent in the Accept request header. This header tells the server what kind of response it will accept in return. For example, the following defines a custom type mycustomtype to be sent with the request:
                   
        
         $.ajax({
        
        From 82380a70f10728b4274afe387b742b24f97a9dfa Mon Sep 17 00:00:00 2001
        From: Brahim Arkni 
        Date: Mon, 26 Mar 2018 17:44:56 +0100
        Subject: [PATCH 045/222] data: Replace URL markdown syntax with HTML
        
        Ref #943
        Closes #1087
        ---
         entries/data.xml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/entries/data.xml b/entries/data.xml
        index 3606395d..66ed7253 100644
        --- a/entries/data.xml
        +++ b/entries/data.xml
        @@ -89,7 +89,7 @@ alert( $( "body" ).data( "foo" ) ); // undefined
         $( "body" ).data( "bar", "foobar" );
         alert( $( "body" ).data( "bar" ) ); // foobar
               
        -

        jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of [the algorithm of the Dataset API](http://www.w3.org/TR/html5/dom.html#dom-dataset). Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

        +

        jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

        HTML5 data-* Attributes

        From 0998d12d4e12ec6b89028aeb89661187421384a4 Mon Sep 17 00:00:00 2001 From: Ethan Smith Date: Mon, 26 Mar 2018 12:48:56 -0400 Subject: [PATCH 046/222] jQuery.ajax: Adjust note about cross-domain ajax request with 'JSON' datatype Fixes #959 Closes #1021 --- entries/jQuery.ajax.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index fa77edcd..8d92e0f8 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -98,7 +98,7 @@ $.ajax({
      • "xml": Returns a XML document that can be processed via jQuery.
      • "html": Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
      • "script": Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string parameter, _=[TIMESTAMP], to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests.
      • -
      • "json": Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests are converted to "jsonp" unless the request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead. (See json.org for more information on proper JSON formatting.)
      • +
      • "json": Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests that have a callback placeholder, e.g. ?callback=?, are performed using JSONP unless the request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead. (See json.org for more information on proper JSON formatting.)
      • "jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true.
      • "text": A plain text string.
      • multiple, space-separated values: As of jQuery 1.5, jQuery can convert a dataType from what it received in the Content-Type header to what you require. For example, if you want a text response to be treated as XML, use "text xml" for the dataType. You can also make a JSONP request, have it received as text, and interpreted by jQuery as XML: "jsonp text xml". Similarly, a shorthand string such as "jsonp xml" will first attempt to convert from jsonp to xml, and, failing that, convert from jsonp to text, and then from text to xml.
      • From 8e67f74e434adf26ab72903caae040fd85baf749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 26 Mar 2018 19:10:30 +0200 Subject: [PATCH 047/222] Misc: Change HTTP links to HTTPS where possible Closes #1089 --- CONTRIBUTING.md | 6 +++--- LICENSE.txt | 4 ++-- README.md | 6 +++--- categories.xml | 6 +++--- entries/animate.xml | 6 +++--- entries/attr.xml | 2 +- entries/contents.xml | 2 +- entries/data.xml | 8 ++++---- entries/empty-selector.xml | 2 +- entries/event.isImmediatePropagationStopped.xml | 2 +- entries/event.isPropagationStopped.xml | 2 +- entries/event.metaKey.xml | 4 ++-- entries/event.preventDefault.xml | 2 +- entries/fadeIn.xml | 2 +- entries/fadeOut.xml | 2 +- entries/fadeToggle.xml | 2 +- entries/hidden-selector.xml | 2 +- entries/hide.xml | 2 +- entries/html.xml | 2 +- entries/id-selector.xml | 2 +- entries/jQuery.ajax.xml | 10 +++++----- entries/jQuery.ajaxPrefilter.xml | 4 ++-- entries/jQuery.boxModel.xml | 2 +- entries/jQuery.browser.xml | 2 +- entries/jQuery.extend.xml | 2 +- entries/jQuery.fx.interval.xml | 2 +- entries/jQuery.getJSON.xml | 2 +- entries/jQuery.parseJSON.xml | 2 +- entries/jQuery.support.xml | 2 +- entries/jQuery.xml | 4 ++-- entries/keypress.xml | 2 +- entries/lang-selector.xml | 2 +- entries/map.xml | 2 +- entries/nth-child-selector.xml | 2 +- entries/nth-last-child-selector.xml | 2 +- entries/nth-last-of-type-selector.xml | 2 +- entries/nth-of-type-selector.xml | 2 +- entries/on.xml | 4 ++-- entries/parent-selector.xml | 2 +- entries/prop.xml | 2 +- entries/ready.xml | 2 +- entries/serialize.xml | 2 +- entries/serializeArray.xml | 2 +- entries/show.xml | 2 +- entries/slideDown.xml | 2 +- entries/slideToggle.xml | 2 +- entries/slideUp.xml | 2 +- entries/target-selector.xml | 4 ++-- entries/toggle.xml | 2 +- entries/visible-selector.xml | 2 +- notes.xsl | 4 ++-- pages/Types.html | 11 +++-------- 52 files changed, 76 insertions(+), 81 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ba9f6b8f..9a004cd3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,5 +1,5 @@ -Welcome! Thanks for your interest in contributing to api.jquery.com. You're **almost** in the right place. More information on how to contribute to this and all other jQuery Foundation projects is over at [contribute.jquery.org](http://contribute.jquery.org). You'll definitely want to take a look at the articles on contributing [documentation](http://contribute.jquery.org/documentation). +Welcome! Thanks for your interest in contributing to api.jquery.com. You're **almost** in the right place. More information on how to contribute to this and all other jQuery Foundation projects is over at [contribute.jquery.org](https://contribute.jquery.org). You'll definitely want to take a look at the articles on contributing [documentation](https://contribute.jquery.org/documentation). -You may also want to take a look at our [commit & pull request guide](http://contribute.jquery.org/commits-and-pull-requests/) and [style guides](http://contribute.jquery.org/style-guide/) for instructions on how to maintain your fork and submit your code. Before we can merge any pull request, we'll also need you to sign our [contributor license agreement](http://contribute.jquery.org/cla). +You may also want to take a look at our [commit & pull request guide](https://contribute.jquery.org/commits-and-pull-requests/) and [style guides](https://contribute.jquery.org/style-guide/) for instructions on how to maintain your fork and submit your code. Before we can merge any pull request, we'll also need you to sign our [contributor license agreement](https://contribute.jquery.org/cla). -You can find us on [IRC](http://irc.jquery.org), specifically in #jquery-dev and #jquery-content should you have any questions. If you've never contributed to open source before, we've put together [a short guide with tips, tricks, and ideas on getting started](http://contribute.jquery.org/open-source/). +You can find us on [IRC](https://irc.jquery.org), specifically in #jquery-dev and #jquery-content should you have any questions. If you've never contributed to open source before, we've put together [a short guide with tips, tricks, and ideas on getting started](https://contribute.jquery.org/open-source/). diff --git a/LICENSE.txt b/LICENSE.txt index 19a9bad2..203b68a7 100644 --- a/LICENSE.txt +++ b/LICENSE.txt @@ -1,4 +1,4 @@ -Copyright Packt Publishing (http://packtpub.com/), +Copyright Packt Publishing (https://www.packtpub.com/), jQuery Foundation (https://jquery.org/), and other contributors. This software consists of voluntary contributions made by many @@ -35,7 +35,7 @@ Copyright and related rights for sample code are waived via CC0. Sample code is defined as all source code displayed within the prose of the documentation and all examples and demos. -CC0: http://creativecommons.org/publicdomain/zero/1.0/ +CC0: https://creativecommons.org/publicdomain/zero/1.0/ ==== diff --git a/README.md b/README.md index 805e0442..1141cd22 100644 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ ## Building and Deploying -To build and deploy your changes for previewing in a [`jquery-wp-content`](https://github.com/jquery/jquery-wp-content) instance, follow the [workflow instructions](http://contribute.jquery.org/web-sites/#workflow) from our documentation on [contributing to jQuery Foundation web sites](http://contribute.jquery.org/web-sites/). +To build and deploy your changes for previewing in a [`jquery-wp-content`](https://github.com/jquery/jquery-wp-content) instance, follow the [workflow instructions](https://contribute.jquery.org/web-sites/#workflow) from our documentation on [contributing to jQuery Foundation web sites](http://contribute.jquery.org/web-sites/). ### Requirements * [libxml2](http://xmlsoft.org/) * [libxslt](http://xmlsoft.org/libxslt/) -The `xmllint` and `xsltproc` utilities need to be in your path. If you are on Windows, you can get libxml2 and libxslt from zlatkovic.com. +The `xmllint` and `xsltproc` utilities need to be in your path. If you are on Windows, you can get libxml2 and libxslt from zlatkovic.com. **Note**: If you're using Windows and you receive the error "Error" when executing the task `build-xml-entries:all`, try to add the DLL `libwinpthread-1.dll` in the root of the project. @@ -49,7 +49,7 @@ The `xmllint` and `xsltproc` utilities need to be in your path. If you are on Wi ### Code Style -Code in the API documentation should follow the [jQuery Core Style Guide](http://contribute.jquery.org/style-guide/) with the following addition: +Code in the API documentation should follow the [jQuery Core Style Guide](https://contribute.jquery.org/style-guide/) with the following addition: * **Document ready syntax**: Use `$( document ).ready(function() {` instead of `$(function() {` as it's harder for new users to distinguish the difference between the latter and an IIFE. diff --git a/categories.xml b/categories.xml index 4af831f8..b08956d9 100644 --- a/categories.xml +++ b/categories.xml @@ -68,12 +68,12 @@ @@ -428,7 +428,7 @@ var files = event.originalEvent.dataTransfer.files; diff --git a/entries/animate.xml b/entries/animate.xml index 5db2dcf6..97cac616 100644 --- a/entries/animate.xml +++ b/entries/animate.xml @@ -72,10 +72,10 @@ $( "#clickme" ).click(function() {

        The opacity of the image is already at its target value, so this property is not animated by the second click. Since the target value for left is a relative value, the image moves even farther to the right during this second animation.

        Directional properties (top, right, bottom, left) have no discernible effect on elements if their position style property is static, which it is by default.

        -

        Note: The jQuery UI project extends the .animate() method by allowing some non-numeric styles such as colors to be animated. The project also includes mechanisms for specifying animations through CSS classes rather than individual attributes.

        +

        Note: The jQuery UI project extends the .animate() method by allowing some non-numeric styles such as colors to be animated. The project also includes mechanisms for specifying animations through CSS classes rather than individual attributes.

        -

        Note: if attempting to animate an element with a height or width of 0px, where contents of the element are visible due to overflow, jQuery may clip this overflow during animation. By fixing the dimensions of the original element being hidden however, it is possible to ensure that the animation runs smoothly. A clearfix can be used to automatically fix the dimensions of your main element without the need to set this manually.

        +

        Note: if attempting to animate an element with a height or width of 0px, where contents of the element are visible due to overflow, jQuery may clip this overflow during animation. By fixing the dimensions of the original element being hidden however, it is possible to ensure that the animation runs smoothly. A clearfix can be used to automatically fix the dimensions of your main element without the need to set this manually.

        Step Function

        The second version of .animate() provides a step option — a callback function that is fired at each step of the animation. This function is useful for enabling custom animation types or altering the animation as it is occurring. It accepts two arguments (now and fx), and this is set to the DOM element being animated.

        @@ -96,7 +96,7 @@ $( "li" ).animate({ });

        Easing

        -

        The remaining parameter of .animate() is a string naming an easing function to use. An easing function specifies the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

        +

        The remaining parameter of .animate() is a string naming an easing function to use. An easing function specifies the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

        Per-property Easing

        As of jQuery version 1.4, you can set per-property easing functions within a single .animate() call. In the first version of .animate(), each property can take an array as its value: The first member of the array is the CSS property and the second member is an easing function. If a per-property easing function is not defined for a particular property, it uses the value of the .animate() method's optional easing argument. If the easing argument is not defined, the default swing function is used.

        For example, to simultaneously animate the width and height with the swing easing function and the opacity with the linear easing function:

        diff --git a/entries/attr.xml b/entries/attr.xml index 2a963254..1628ec72 100644 --- a/entries/attr.xml +++ b/entries/attr.xml @@ -69,7 +69,7 @@
        -

        According to the W3C forms specification, the checked attribute is a boolean attribute, which means the corresponding property is true if the attribute is present at all—even if, for example, the attribute has no value or is set to empty string value or even "false". This is true of all boolean attributes.

        +

        According to the W3C forms specification, the checked attribute is a boolean attribute, which means the corresponding property is true if the attribute is present at all—even if, for example, the attribute has no value or is set to empty string value or even "false". This is true of all boolean attributes.

        Nevertheless, the most important concept to remember about the checked attribute is that it does not correspond to the checked property. The attribute actually corresponds to the defaultChecked property and should be used only to set the initial value of the checkbox. The checked attribute value does not change with the state of the checkbox, while the checked property does. Therefore, the cross-browser-compatible way to determine if a checkbox is checked is to use the property:

        • diff --git a/entries/contents.xml b/entries/contents.xml index 5bfe9fc6..70188f7b 100644 --- a/entries/contents.xml +++ b/entries/contents.xml @@ -46,7 +46,7 @@ $( "p" ) .wrap( "" ); ]]> diff --git a/entries/data.xml b/entries/data.xml index 66ed7253..71c6c10f 100644 --- a/entries/data.xml +++ b/entries/data.xml @@ -31,7 +31,7 @@ $( "body" ).data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1,

        In jQuery 1.4.3 setting an element's data object with .data(obj) extends the data previously stored with that element.

        Prior to jQuery 1.4.3 (starting in jQuery 1.4) the .data() method completely replaced all data, instead of just extending the data object. If you are using third-party plugins it may not be advisable to completely replace the element's data object, since plugins may have also set data.

        -

        jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

        +

        jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

        Due to the way browsers interact with plugins and external code, the .data() method cannot be used on <object> (unless it's a Flash plugin), <applet> or <embed> elements.

        @@ -89,11 +89,11 @@ alert( $( "body" ).data( "foo" ) ); // undefined $( "body" ).data( "bar", "foobar" ); alert( $( "body" ).data( "bar" ) ); // foobar
    -

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    +

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    HTML5 data-* Attributes

    -

    As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.

    +

    As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.

    For example, given the following HTML:

    <div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>

    All of the following jQuery code will work.

    @@ -105,7 +105,7 @@ $( "div" ).data( "options" ).name === "John";

    The second statement of the code above correctly refers to the data-last-value attribute of the element. In case no data is stored with the passed key, jQuery searches among the attributes of the element, converting a camel-cased string into a dashed string and then prepending data- to the result. So, the string lastValue is converted to data-last-value.

    Every attempt is made to convert the string to a JavaScript value (this includes booleans, numbers, objects, arrays, and null). A value is only converted to a number if doing so doesn't change the value's representation. For example, "1E02" and "100.000" are equivalent as numbers (numeric value 100) but converting them would alter their representation so they are left as strings. The string value "100" is converted to the number 100.

    -

    When the data attribute is an object (starts with '{') or array (starts with '[') then jQuery.parseJSON is used to parse the string; it must follow valid JSON syntax including quoted property names. If the value isn't parseable as a JavaScript value, it is left as a string.

    +

    When the data attribute is an object (starts with '{') or array (starts with '[') then jQuery.parseJSON is used to parse the string; it must follow valid JSON syntax including quoted property names. If the value isn't parseable as a JavaScript value, it is left as a string.

    To retrieve the value's attribute as a string without any attempt to convert it, use the attr() method.

    The data- attributes are pulled in the first time the data property is accessed and then are no longer accessed or mutated (all data values are then stored internally in jQuery).

    Calling .data() with no parameters retrieves all of the values as a JavaScript object. This object can be safely cached in a variable as long as a new object is not set with .data(obj). Using the object directly to get or set values is faster than making individual calls to .data() to get or set each value:

    diff --git a/entries/empty-selector.xml b/entries/empty-selector.xml index 8e06d87c..165e2112 100644 --- a/entries/empty-selector.xml +++ b/entries/empty-selector.xml @@ -9,7 +9,7 @@

    This is the inverse of :parent.

    One important thing to note with :empty (and :parent) is that child elements include text nodes.

    -

    The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see http://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

    +

    The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see https://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

    Finds all elements that are empty - they don't have child elements or text. diff --git a/entries/event.isImmediatePropagationStopped.xml b/entries/event.isImmediatePropagationStopped.xml index 44235564..4d8f3ad1 100644 --- a/entries/event.isImmediatePropagationStopped.xml +++ b/entries/event.isImmediatePropagationStopped.xml @@ -6,7 +6,7 @@ Returns whether event.stopImmediatePropagation() was ever called on this event object. -

    This property was introduced in DOM level 3.

    +

    This property was introduced in DOM level 3.

    Checks whether event.stopImmediatePropagation() was called. diff --git a/entries/event.isPropagationStopped.xml b/entries/event.isPropagationStopped.xml index ff7f7451..26a85b76 100644 --- a/entries/event.isPropagationStopped.xml +++ b/entries/event.isPropagationStopped.xml @@ -6,7 +6,7 @@ Returns whether event.stopPropagation() was ever called on this event object. -

    This event method is described in the W3C DOM Level 3 specification.

    +

    This event method is described in the W3C DOM Level 3 specification.

    Checks whether event.stopPropagation() was called diff --git a/entries/event.metaKey.xml b/entries/event.metaKey.xml index b83eeadd..f27b6e46 100644 --- a/entries/event.metaKey.xml +++ b/entries/event.metaKey.xml @@ -8,8 +8,8 @@

    Returns a boolean value (true or false) that indicates whether or not the META key was pressed at the time the event fired. This key might map to an alternative key name on some platforms.

    -

    On Macintosh keyboards, the META key maps to the Command key (⌘).

    -

    On Windows keyboards, the META key maps to the Windows key.

    +

    On Macintosh keyboards, the META key maps to the Command key (⌘).

    +

    On Windows keyboards, the META key maps to the Windows key.

    Determine whether the META key was pressed when the event fired. diff --git a/entries/event.preventDefault.xml b/entries/event.preventDefault.xml index 68f0a43a..ac534fcb 100644 --- a/entries/event.preventDefault.xml +++ b/entries/event.preventDefault.xml @@ -19,7 +19,7 @@ $( "a" ).click(function( event ) { }); ]]> diff --git a/entries/fadeIn.xml b/entries/fadeIn.xml index f3b2e9e2..0f4b6888 100644 --- a/entries/fadeIn.xml +++ b/entries/fadeIn.xml @@ -43,7 +43,7 @@ $( "#clickme" ).click(function() {
    Figure 1 - Illustration of the fadeIn() effect

    Easing

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    Callback Function

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    As of jQuery 1.6, the .promise() method can be used in conjunction with the deferred.done() method to execute a single callback for the animation as a whole when all matching elements have completed their animations ( See the example for .promise() ).

    diff --git a/entries/fadeOut.xml b/entries/fadeOut.xml index 1bdddaf6..186056eb 100644 --- a/entries/fadeOut.xml +++ b/entries/fadeOut.xml @@ -47,7 +47,7 @@ $( "#clickme" ).click(function() {

    Note: To avoid unnecessary DOM manipulation, .fadeOut() will not hide an element that is already considered hidden. For information on which elements jQuery considers hidden, see :hidden Selector.

    Easing

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    Callback Function

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    As of jQuery 1.6, the .promise() method can be used in conjunction with the deferred.done() method to execute a single callback for the animation as a whole when all matching elements have completed their animations ( See the example for .promise() ).

    diff --git a/entries/fadeToggle.xml b/entries/fadeToggle.xml index 93bac084..f3906b45 100644 --- a/entries/fadeToggle.xml +++ b/entries/fadeToggle.xml @@ -17,7 +17,7 @@

    The .fadeToggle() method animates the opacity of the matched elements. When called on a visible element, the element's display style property is set to none once the opacity reaches 0, so the element no longer affects the layout of the page.

    Durations are given in milliseconds; higher values indicate slower animations, not faster ones. The strings 'fast' and 'slow' can be supplied to indicate durations of 200 and 600 milliseconds, respectively.

    Easing

    -

    The string representing an easing function specifies the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    The string representing an easing function specifies the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    Callback Function

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    As of jQuery 1.6, the .promise() method can be used in conjunction with the deferred.done() method to execute a single callback for the animation as a whole when all matching elements have completed their animations ( See the example for .promise() ).

    diff --git a/entries/hidden-selector.xml b/entries/hidden-selector.xml index 47c0bf6c..e44d732b 100644 --- a/entries/hidden-selector.xml +++ b/entries/hidden-selector.xml @@ -18,7 +18,7 @@

    Elements that are not in a document are not considered to be visible; jQuery does not have a way to know if they will be visible when appended to a document since it depends on the applicable styles.

    This selector is the opposite of the :visible selector. So, every element selected by :hidden isn't selected by :visible and vice versa.

    During animations to show an element, the element is considered to be visible at the start of the animation.

    -

    How :hidden is determined was changed in jQuery 1.3.2. An element is assumed to be hidden if it or any of its parents consumes no space in the document. CSS visibility isn't taken into account (therefore $( elem ).css( "visibility", "hidden" ).is( ":hidden" ) == false). The release notes outline the changes in more detail.

    +

    How :hidden is determined was changed in jQuery 1.3.2. An element is assumed to be hidden if it or any of its parents consumes no space in the document. CSS visibility isn't taken into account (therefore $( elem ).css( "visibility", "hidden" ).is( ":hidden" ) == false). The release notes outline the changes in more detail.

    jQuery 3 slightly modifies the meaning of :hidden (and therefore of :visible). Starting with this version, elements will be considered :hidden if they don't have any layout boxes. For example, br elements and inline elements with no content will not be selected by the :hidden selector.

    diff --git a/entries/hide.xml b/entries/hide.xml index 3a68ca15..b90aed05 100644 --- a/entries/hide.xml +++ b/entries/hide.xml @@ -35,7 +35,7 @@ $( ".target" ).hide();

    When a duration, a plain object, or a "complete" function is provided, .hide() becomes an animation method. The .hide() method animates the width, height, and opacity of the matched elements simultaneously. When these properties reach 0, the display style property is set to none to ensure that the element no longer affects the layout of the page.

    Durations are given in milliseconds; higher values indicate slower animations, not faster ones. The strings 'fast' and 'slow' can be supplied to indicate durations of 200 and 600 milliseconds, respectively.

    Note that .hide() is fired immediately and will override the animation queue if no duration or a duration of 0 is specified.

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    Note: This method may cause performance issues, especially when used on many elements. If you're encountering such issues, use performance testing tools to determine whether this method is causing them. Moreover, this method can cause problems with responsive layouts if the display value differs at different viewport sizes.

    diff --git a/entries/html.xml b/entries/html.xml index 7a4f2594..b830c566 100644 --- a/entries/html.xml +++ b/entries/html.xml @@ -118,7 +118,7 @@ $( "div.demo-container" ).html(function() { });

    Given a document with six paragraphs, this example will set the HTML of <div class="demo-container"> to <p>All new content for <em>6 paragraphs!</em></p>.

    -

    This method uses the browser's innerHTML property. Some browsers may not generate a DOM that exactly replicates the HTML source provided. For example, Internet Explorer prior to version 8 will convert all href properties on links to absolute URLs, and Internet Explorer prior to version 9 will not correctly handle HTML5 elements without the addition of a separate compatibility layer.

    +

    This method uses the browser's innerHTML property. Some browsers may not generate a DOM that exactly replicates the HTML source provided. For example, Internet Explorer prior to version 8 will convert all href properties on links to absolute URLs, and Internet Explorer prior to version 9 will not correctly handle HTML5 elements without the addition of a separate compatibility layer.

    To set the content of a <script> element, which does not contain HTML, use the .text() method and not .html().

    Note: In Internet Explorer up to and including version 9, setting the text content of an HTML element may corrupt the text nodes of its children that are being removed from the document as a result of the operation. If you are keeping references to these DOM elements and need them to be unchanged, use .empty().html( string ) instead of .html(string) so that the elements are removed from the document before the new string is assigned to the element.

    diff --git a/entries/id-selector.xml b/entries/id-selector.xml index 20aab992..3cc8b926 100644 --- a/entries/id-selector.xml +++ b/entries/id-selector.xml @@ -13,7 +13,7 @@

    For id selectors, jQuery uses the JavaScript function document.getElementById(), which is extremely efficient. When another selector is attached to the id selector, such as h2#pageTitle, jQuery performs an additional check before identifying the element as a match.

    Calling jQuery() (or $()) with an id selector as its argument will return a jQuery object containing a collection of either zero or one DOM element.

    Each id value must be used only once within a document. If more than one element has been assigned the same ID, queries that use that ID will only select the first matched element in the DOM. This behavior should not be relied on, however; a document with more than one element using the same ID is invalid.

    -

    If the id contains characters like periods or colons you have to escape those characters with backslashes.

    +

    If the id contains characters like periods or colons you have to escape those characters with backslashes.

    Select the element with the id "myDiv" and give it a red border. diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index 8d92e0f8..80157d28 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -98,8 +98,8 @@ $.ajax({
  • "xml": Returns a XML document that can be processed via jQuery.
  • "html": Returns HTML as plain text; included script tags are evaluated when inserted in the DOM.
  • "script": Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string parameter, _=[TIMESTAMP], to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests.
  • -
  • "json": Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests that have a callback placeholder, e.g. ?callback=?, are performed using JSONP unless the request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead. (See json.org for more information on proper JSON formatting.)
  • -
  • "jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true.
  • +
  • "json": Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests that have a callback placeholder, e.g. ?callback=?, are performed using JSONP unless the request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead. (See json.org for more information on proper JSON formatting.)
  • +
  • "jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true.
  • "text": A plain text string.
  • multiple, space-separated values: As of jQuery 1.5, jQuery can convert a dataType from what it received in the Content-Type header to what you require. For example, if you want a text response to be treated as XML, use "text xml" for the dataType. You can also make a JSONP request, have it received as text, and interpreted by jQuery as XML: "jsonp text xml". Similarly, a shorthand string such as "jsonp xml" will first attempt to convert from jsonp to xml, and, failing that, convert from jsonp to text, and then from text to xml.
  • @@ -217,7 +217,7 @@ $.ajax();

    As of jQuery 1.5.1, the jqXHR object also contains the overrideMimeType() method (it was available in jQuery 1.4.x, as well, but was temporarily removed in jQuery 1.5). The .overrideMimeType() method may be used in the beforeSend() callback function, for example, to modify the response content-type header:

    
     $.ajax({
    -  url: "http://fiddle.jshell.net/favicon.png",
    +  url: "https://fiddle.jshell.net/favicon.png",
       beforeSend: function( xhr ) {
         xhr.overrideMimeType( "text/plain; charset=x-user-defined" );
       }
    @@ -326,11 +326,11 @@ jqxhr.always(function() {
         

    Different types of response to $.ajax() call are subjected to different kinds of pre-processing before being passed to the success handler. The type of pre-processing depends by default upon the Content-Type of the response, but can be set explicitly using the dataType option. If the dataType option is provided, the Content-Type header of the response will be disregarded.

    The available data types are text, html, xml, json, jsonp, and script.

    If text or html is specified, no pre-processing occurs. The data is simply passed on to the success handler, and made available through the responseText property of the jqXHR object.

    -

    If xml is specified, the response is parsed using jQuery.parseXML before being passed, as an XMLDocument, to the success handler. The XML document is made available through the responseXML property of the jqXHR object.

    +

    If xml is specified, the response is parsed using jQuery.parseXML before being passed, as an XMLDocument, to the success handler. The XML document is made available through the responseXML property of the jqXHR object.

    If json is specified, the response is parsed using jQuery.parseJSON before being passed, as an object, to the success handler. The parsed JSON object is made available through the responseJSON property of the jqXHR object.

    If script is specified, $.ajax() will execute the JavaScript that is received from the server before passing it on to the success handler as a string.

    If jsonp is specified, $.ajax() will automatically append a query string parameter of (by default) callback=? to the URL. The jsonp and jsonpCallback properties of the settings passed to $.ajax() can be used to specify, respectively, the name of the query string parameter and the name of the JSONP callback function. The server should return valid JavaScript that passes the JSON response into the callback function. $.ajax() will execute the returned JavaScript, calling the JSONP callback function, before passing the JSON object contained in the response to the $.ajax() success handler.

    -

    For more information on JSONP, see the original post detailing its use.

    +

    For more information on JSONP, see the original post detailing its use.

    Sending Data to the Server

    By default, Ajax requests are sent using the GET HTTP method. If the POST method is required, the method can be specified by setting a value for the type option. This option affects how the contents of the data option are sent to the server. POST data will always be transmitted to the server using UTF-8 charset, per the W3C XMLHTTPRequest standard.

    The data option can contain either a query string of the form key1=value1&key2=value2, or an object of the form {key1: 'value1', key2: 'value2'}. If the latter form is used, the data is converted into a query string using jQuery.param() before it is sent. This processing can be circumvented by setting processData to false. The processing might be undesirable if you wish to send an XML object to the server; in this case, change the contentType option from application/x-www-form-urlencoded to a more appropriate MIME type.

    diff --git a/entries/jQuery.ajaxPrefilter.xml b/entries/jQuery.ajaxPrefilter.xml index f82d8d02..708ca829 100644 --- a/entries/jQuery.ajaxPrefilter.xml +++ b/entries/jQuery.ajaxPrefilter.xml @@ -40,11 +40,11 @@ $.ajaxPrefilter(function( options, originalOptions, jqXHR ) { } });
    -

    Prefilters can also be used to modify existing options. For example, the following proxies cross-domain requests through http://mydomain.net/proxy/:

    +

    Prefilters can also be used to modify existing options. For example, the following proxies cross-domain requests through https://mydomain.net/proxy/:

    
     $.ajaxPrefilter(function( options ) {
       if ( options.crossDomain ) {
    -    options.url = "http://mydomain.net/proxy/" + encodeURIComponent( options.url );
    +    options.url = "https://mydomain.net/proxy/" + encodeURIComponent( options.url );
         options.crossDomain = false;
       }
     });
    diff --git a/entries/jQuery.boxModel.xml b/entries/jQuery.boxModel.xml
    index f260538a..ac464850 100644
    --- a/entries/jQuery.boxModel.xml
    +++ b/entries/jQuery.boxModel.xml
    @@ -4,7 +4,7 @@
       
         1.0
       
    -  States if the current page, in the user's browser, is being rendered using the W3C CSS Box Model. This property was removed in jQuery 1.8. Please try to use feature detection instead.
    +  States if the current page, in the user's browser, is being rendered using the W3C CSS Box Model. This property was removed in jQuery 1.8. Please try to use feature detection instead.
       
       
       
    diff --git a/entries/jQuery.browser.xml b/entries/jQuery.browser.xml
    index e7c690ac..667ed5f1 100644
    --- a/entries/jQuery.browser.xml
    +++ b/entries/jQuery.browser.xml
    @@ -18,7 +18,7 @@
           
           

    This property is available immediately. It is therefore safe to use it to determine whether or not to call $(document).ready(). The $.browser property is deprecated in jQuery 1.3, and its functionality may be moved to a team-supported plugin in a future release of jQuery.

    -

    Because $.browser uses navigator.userAgent to determine the platform, it is vulnerable to spoofing by the user or misrepresentation by the browser itself. It is always best to avoid browser-specific code entirely where possible. Instead of relying on $.browser it's better to use libraries like Modernizr.

    +

    Because $.browser uses navigator.userAgent to determine the platform, it is vulnerable to spoofing by the user or misrepresentation by the browser itself. It is always best to avoid browser-specific code entirely where possible. Instead of relying on $.browser it's better to use libraries like Modernizr.

    Show the browser info. diff --git a/entries/jQuery.extend.xml b/entries/jQuery.extend.xml index 42edb4ae..b28ec2e0 100644 --- a/entries/jQuery.extend.xml +++ b/entries/jQuery.extend.xml @@ -38,7 +38,7 @@

    Warning: Passing false for the first argument is not supported.

    Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. Properties that are an object constructed via new MyCustomObject(args), or built-in JavaScript types such as Date or RegExp, are not re-constructed and will appear as plain Objects in the resulting object or array.

    On a deep extend, Object and Array are extended, but object wrappers on primitive types such as String, Boolean, and Number are not. Deep-extending a cyclical data structure will result in an error.

    -

    For needs that fall outside of this behavior, write a custom extend method instead, or use a library like lodash.

    +

    For needs that fall outside of this behavior, write a custom extend method instead, or use a library like lodash.

    Merge two objects, modifying the first. diff --git a/entries/jQuery.fx.interval.xml b/entries/jQuery.fx.interval.xml index 5516d75c..2dfd1719 100644 --- a/entries/jQuery.fx.interval.xml +++ b/entries/jQuery.fx.interval.xml @@ -6,7 +6,7 @@ 1.4.3 -

    This property is deprecated as of version 3.0, and has no effect in browsers that support the requestAnimationFrame method.

    +

    This property is deprecated as of version 3.0, and has no effect in browsers that support the requestAnimationFrame method.

    On browsers that do not support requestAnimationFrame, this property can be changed to adjust the interval at which animations will run. The default is 13 milliseconds.

    Since jQuery uses one global interval, no animation should be running or all animations should stop for the change of this property to take effect.

    diff --git a/entries/jQuery.getJSON.xml b/entries/jQuery.getJSON.xml index b8a5ee49..11a26341 100644 --- a/entries/jQuery.getJSON.xml +++ b/entries/jQuery.getJSON.xml @@ -56,7 +56,7 @@ $.getJSON( "ajax/test.json", function( data ) {

    The success callback is passed the returned data, which is typically a JavaScript object or array as defined by the JSON structure and parsed using the $.parseJSON() method. It is also passed the text status of the response.

    As of jQuery 1.5, the success callback function receives a "jqXHR" object (in jQuery 1.4, it received the XMLHttpRequest object). However, since JSONP and cross-domain GET requests do not use XHR, in those cases the jqXHR and textStatus parameters passed to the success callback are undefined.

    -

    Important: As of jQuery 1.4, if the JSON file contains a syntax error, the request will usually fail silently. Avoid frequent hand-editing of JSON data for this reason. JSON is a data-interchange format with syntax rules that are stricter than those of JavaScript's object literal notation. For example, all strings represented in JSON, whether they are properties or values, must be enclosed in double-quotes. For details on the JSON format, see http://json.org/.

    +

    Important: As of jQuery 1.4, if the JSON file contains a syntax error, the request will usually fail silently. Avoid frequent hand-editing of JSON data for this reason. JSON is a data-interchange format with syntax rules that are stricter than those of JavaScript's object literal notation. For example, all strings represented in JSON, whether they are properties or values, must be enclosed in double-quotes. For details on the JSON format, see http://json.org/.

    JSONP

    If the URL includes the string "callback=?" (or similar, as defined by the server-side API), the request is treated as JSONP instead. See the discussion of the jsonp data type in $.ajax() for more details.

    diff --git a/entries/jQuery.parseJSON.xml b/entries/jQuery.parseJSON.xml index 054663df..d47eab4b 100644 --- a/entries/jQuery.parseJSON.xml +++ b/entries/jQuery.parseJSON.xml @@ -25,7 +25,7 @@
  • "NaN" (NaN cannot be represented in a JSON string; direct representation of Infinity is also not permitted).
  • The JSON standard does not permit "control characters" such as a tab or newline. An example like $.parseJSON( '{ "testing":"1\t2\n3" }' ) will throw an error in most implementations because the JavaScript parser converts the string's tab and newline escapes into literal tab and newline; doubling the backslashes like "1\\t2\\n3" yields expected results. This problem is often seen when injecting JSON into a JavaScript file from a server-side language such as PHP.

    -

    Where the browser provides a native implementation of JSON.parse, jQuery uses it to parse the string. For details on the JSON format, see http://json.org/.

    +

    Where the browser provides a native implementation of JSON.parse, jQuery uses it to parse the string. For details on the JSON format, see http://json.org/.

    Prior to jQuery 1.9, $.parseJSON returned null instead of throwing an error if it was passed an empty string, null, or undefined, even though those are not valid JSON.

    diff --git a/entries/jQuery.support.xml b/entries/jQuery.support.xml index c44b2b42..636ec72e 100644 --- a/entries/jQuery.support.xml +++ b/entries/jQuery.support.xml @@ -4,7 +4,7 @@ 1.3 - A collection of properties that represent the presence of different browser features or bugs. Intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. For your own project's feature-detection needs, we strongly recommend the use of an external library such as Modernizr instead of dependency on properties in jQuery.support. + A collection of properties that represent the presence of different browser features or bugs. Intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. For your own project's feature-detection needs, we strongly recommend the use of an external library such as Modernizr instead of dependency on properties in jQuery.support. diff --git a/entries/jQuery.xml b/entries/jQuery.xml index 80e5bf19..a0ff76d1 100644 --- a/entries/jQuery.xml +++ b/entries/jQuery.xml @@ -177,9 +177,9 @@ $( myForm.elements ).hide();

    By default, elements are created with an .ownerDocument matching the document into which the jQuery library was loaded. Elements being injected into a different document should be created using that document, e.g., $("<p>hello iframe</p>", $("#myiframe").prop("contentWindow").document).

    If the HTML is more complex than a single tag without attributes, as it is in the above example, the actual creation of the elements is handled by the browser's .innerHTML mechanism. In most cases, jQuery creates a new <div> element and sets the innerHTML property of the element to the HTML snippet that was passed in. When the parameter has a single tag (with optional closing tag or quick-closing) — $( "<img />" ) or $( "<img>" ), $( "<a></a>" ) or $( "<a>" ) — jQuery creates the element using the native JavaScript .createElement() function.

    When passing in complex HTML, some browsers may not generate a DOM that exactly replicates the HTML source provided. As mentioned, jQuery uses the browser's .innerHTML property to parse the passed HTML and insert it into the current document. During this process, some browsers filter out certain elements such as <html>, <title>, or <head> elements. As a result, the elements inserted may not be representative of the original string passed.

    -

    Filtering isn't, however, limited to these tags. For example, Internet Explorer prior to version 8 will also convert all href properties on links to absolute URLs, and Internet Explorer prior to version 9 will not correctly handle HTML5 elements without the addition of a separate compatibility layer.

    +

    Filtering isn't, however, limited to these tags. For example, Internet Explorer prior to version 8 will also convert all href properties on links to absolute URLs, and Internet Explorer prior to version 9 will not correctly handle HTML5 elements without the addition of a separate compatibility layer.

    To ensure cross-platform compatibility, the snippet must be well-formed. Tags that can contain other elements should be paired with a closing tag:

    -
    $( "<a href='http://jquery.com'></a>" );
    +
    $( "<a href='https://jquery.com'></a>" );

    Tags that cannot contain elements may be quick-closed or not:

    
     $( "<img>" );
    diff --git a/entries/keypress.xml b/entries/keypress.xml
    index 96b6b6c6..0fd28cf3 100644
    --- a/entries/keypress.xml
    +++ b/entries/keypress.xml
    @@ -61,7 +61,7 @@ $( "#other" ).click(function() {
       
       
       
    -    Show the event object when a key is pressed in the input. Note: This demo relies on a simple $.print() plugin (http://api.jquery.com/resources/events.js) for the event object's output.
    +    Show the event object when a key is pressed in the input. Note: This demo relies on a simple $.print() plugin (https://api.jquery.com/resources/events.js) for the event object's output.
         
       
    diff --git a/entries/nth-child-selector.xml b/entries/nth-child-selector.xml
    index 40d46787..68da261d 100644
    --- a/entries/nth-child-selector.xml
    +++ b/entries/nth-child-selector.xml
    @@ -12,7 +12,7 @@
       
         

    Because jQuery's implementation of :nth- selectors is strictly derived from the CSS specification, the value of n is "1-indexed", meaning that the counting starts at 1. For other selector expressions such as :eq() or :even jQuery follows JavaScript's "0-indexed" counting. Given a single <ul> containing two <li>s, $( "li:nth-child(1)" ) selects the first <li> while $( "li:eq(1)" ) selects the second.

    The :nth-child(n) pseudo-class is easily confused with :eq(n), even though the two can result in dramatically different matched elements. With :nth-child(n), all children are counted, regardless of what they are, and the specified element is selected only if it matches the selector attached to the pseudo-class. With :eq(n) only the selector attached to the pseudo-class is counted, not limited to children of any other element, and the (n+1)th one (n is 0-based) is selected.

    -

    Further discussion of this unusual usage can be found in the W3C CSS specification.

    +

    Further discussion of this unusual usage can be found in the W3C CSS specification.

    Find the second li in each matched ul and note it. diff --git a/entries/nth-last-child-selector.xml b/entries/nth-last-child-selector.xml index ce21de1f..9d63636a 100644 --- a/entries/nth-last-child-selector.xml +++ b/entries/nth-last-child-selector.xml @@ -11,7 +11,7 @@ Selects all elements that are the nth-child of their parent, counting from the last element to the first.

    Because jQuery's implementation of :nth- selectors is strictly derived from the CSS specification, the value of n is "1-indexed", meaning that the counting starts at 1. For other selector expressions such as :eq() or :even jQuery follows JavaScript's "0-indexed" counting. Given a single <ul> containing three <li>s, $( "li:nth-last-child(1)" ) selects the third, last, <li>.

    -

    Further discussion of this usage can be found in the W3C CSS specification.

    +

    Further discussion of this usage can be found in the W3C CSS specification.

    Find the second to last li in each matched ul and note it. diff --git a/entries/nth-last-of-type-selector.xml b/entries/nth-last-of-type-selector.xml index eb96db43..602d430a 100644 --- a/entries/nth-last-of-type-selector.xml +++ b/entries/nth-last-of-type-selector.xml @@ -11,7 +11,7 @@ Selects all the elements that are the nth-child of their parent in relation to siblings with the same element name, counting from the last element to the first.

    Because jQuery's implementation of :nth- selectors is strictly derived from the CSS specification, the value of n is "1-indexed", meaning that the counting starts at 1. For other selector expressions such as :eq() or :even jQuery follows JavaScript's "0-indexed" counting. Given a single <ul> containing three <li>s, $('li:nth-last-of-type(1)') selects the third, last, <li>.

    -

    Further discussion of this usage can be found in the W3C CSS specification.

    +

    Further discussion of this usage can be found in the W3C CSS specification.

    Find the second to last li in each matched ul and note it. diff --git a/entries/nth-of-type-selector.xml b/entries/nth-of-type-selector.xml index 839cb8f0..89e6d452 100644 --- a/entries/nth-of-type-selector.xml +++ b/entries/nth-of-type-selector.xml @@ -11,7 +11,7 @@ Selects all elements that are the nth child of their parent in relation to siblings with the same element name.

    Because jQuery's implementation of :nth- selectors is strictly derived from the CSS specification, the value of n is "1-indexed", meaning that the counting starts at 1. For other selector expressions such as :eq() or :even jQuery follows JavaScript's "0-indexed" counting.

    -

    Further discussion of this usage can be found in the W3C CSS specification.

    +

    Further discussion of this usage can be found in the W3C CSS specification.

    Find each span that is second in relation to its sibling spans. diff --git a/entries/on.xml b/entries/on.xml index 18a17cae..622fff6a 100644 --- a/entries/on.xml +++ b/entries/on.xml @@ -66,7 +66,7 @@ $( "button" ).on( "click", notify );

    When the browser triggers an event or other JavaScript calls jQuery's .trigger() method, jQuery passes the handler an Event object it can use to analyze and change the status of the event. This object is a normalized subset of data provided by the browser; the browser's unmodified native event object is available in event.originalEvent. For example, event.type contains the event name (e.g., "resize") and event.target indicates the deepest (innermost) element where the event occurred.

    By default, most events bubble up from the original event target to the document element. At each element along the way, jQuery calls any matching event handlers that have been attached. A handler can prevent the event from bubbling further up the document tree (and thus prevent handlers on those elements from running) by calling event.stopPropagation(). Any other handlers attached on the current element will run however. To prevent that, call event.stopImmediatePropagation(). (Event handlers bound to an element are called in the same order that they were bound.)

    -

    Similarly, a handler can call event.preventDefault() to cancel any default action that the browser may have for this event; for example, the default action on a click event is to follow the link. Not all browser events have default actions, and not all default actions can be canceled. See the W3C Events Specification for details.

    +

    Similarly, a handler can call event.preventDefault() to cancel any default action that the browser may have for this event; for example, the default action on a click event is to follow the link. Not all browser events have default actions, and not all default actions can be canceled. See the W3C Events Specification for details.

    Returning false from an event handler will automatically call event.stopPropagation() and event.preventDefault(). A false value can also be passed for the handler as a shorthand for function(){ return false; }. So, $( "a.disabled" ).on( "click", false ); attaches an event handler to all links with class "disabled" that prevents them from being followed when they are clicked and also stops the event from bubbling.

    When jQuery calls a handler, the this keyword is a reference to the element where the event is being delivered; for directly bound events this is the element where the event was attached and for delegated events this is an element matching selector. (Note that this may not be equal to event.target if the event has bubbled from a descendant element.) To create a jQuery object from the element so that it can be used with jQuery methods, use $( this ).

    Passing data to the handler

    @@ -96,7 +96,7 @@ $( "button" ).on( "click", {

    The focus and blur events are specified by the W3C to not bubble, but jQuery defines cross-browser focusin and focusout events that do bubble. When focus and blur are used to attach delegated event handlers, jQuery maps the names and delivers them as focusin and focusout respectively. For consistency and clarity, use the bubbling event type names.

    In all browsers, the load, scroll, and error events (e.g., on an <img> element) do not bubble. In Internet Explorer 8 and lower, the paste and reset events do not bubble. Such events are not supported for use with delegation, but they can be used when the event handler is directly attached to the element generating the event.

    The error event on the window object uses nonstandard arguments and return value conventions, so it is not supported by jQuery. Instead, assign a handler function directly to the window.onerror property.

    -

    The handler list for an element is set when the event is first delivered. Adding or removing event handlers on the current element won't take effect until the next time the event is handled. To prevent any further event handlers from executing on an element within an event handler, call event.stopImmediatePropagation(). This behavior goes against the W3C events specification. To better understand this case, consider the following code:

    +

    The handler list for an element is set when the event is first delivered. Adding or removing event handlers on the current element won't take effect until the next time the event is handled. To prevent any further event handlers from executing on an element within an event handler, call event.stopImmediatePropagation(). This behavior goes against the W3C events specification. To better understand this case, consider the following code:

    var $test = $( "#test" );
     
     function handler1() {
    diff --git a/entries/parent-selector.xml b/entries/parent-selector.xml
    index 424cd36e..72832a23 100644
    --- a/entries/parent-selector.xml
    +++ b/entries/parent-selector.xml
    @@ -9,7 +9,7 @@
       
         

    This is the inverse of :empty.

    One important thing to note regarding the use of :parent (and :empty) is that child nodes include text nodes.

    -

    The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see http://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

    +

    The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see http://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

    To obtain the parents or ancestors of an existing jQuery set, see the .parent() and .parents() methods.

    diff --git a/entries/prop.xml b/entries/prop.xml index 419c3cc2..49ccceda 100644 --- a/entries/prop.xml +++ b/entries/prop.xml @@ -62,7 +62,7 @@
    -

    According to the W3C forms specification, the checked attribute is a boolean attribute, which means the corresponding property is true if the attribute is present at all—even if, for example, the attribute has no value or is set to empty string value or even "false". This is true of all boolean attributes.

    +

    According to the W3C forms specification, the checked attribute is a boolean attribute, which means the corresponding property is true if the attribute is present at all—even if, for example, the attribute has no value or is set to empty string value or even "false". This is true of all boolean attributes.

    Nevertheless, the most important concept to remember about the checked attribute is that it does not correspond to the checked property. The attribute actually corresponds to the defaultChecked property and should be used only to set the initial value of the checkbox. The checked attribute value does not change with the state of the checkbox, while the checked property does. Therefore, the cross-browser-compatible way to determine if a checkbox is checked is to use the property:

    • diff --git a/entries/ready.xml b/entries/ready.xml index 9f14ae52..20cdafa6 100644 --- a/entries/ready.xml +++ b/entries/ready.xml @@ -11,7 +11,7 @@

      The .ready() method offers a way to run JavaScript code as soon as the page's Document Object Model (DOM) becomes safe to manipulate. This will often be a good time to perform tasks that are needed before the user views or interacts with the page, for example to add event handlers and initialize plugins. When multiple functions are added via successive calls to this method, they run when the DOM is ready in the order in which they are added. As of jQuery 3.0, jQuery ensures that an exception occuring in one handler does not prevent subsequently added handlers from executing.

      -

      Most browsers provide similar functionality in the form of a DOMContentLoaded event. However, jQuery's .ready() method differs in an important and useful way: If the DOM becomes ready and the browser fires DOMContentLoaded before the code calls .ready( handler ), the function handler will still be executed. In contrast, a DOMContentLoaded event listener added after the event fires is never executed.

      +

      Most browsers provide similar functionality in the form of a DOMContentLoaded event. However, jQuery's .ready() method differs in an important and useful way: If the DOM becomes ready and the browser fires DOMContentLoaded before the code calls .ready( handler ), the function handler will still be executed. In contrast, a DOMContentLoaded event listener added after the event fires is never executed.

      Browsers also provide the load event on the window object. When this event fires it indicates that all assets on the page have loaded, including images. This event can be watched in jQuery using $( window ).on( "load", handler ). In cases where code relies on loaded assets (for example, if the dimensions of an image are required), the code should be placed in a handler for the load event instead.

      diff --git a/entries/serialize.xml b/entries/serialize.xml index c5c99ccb..55dd099f 100644 --- a/entries/serialize.xml +++ b/entries/serialize.xml @@ -15,7 +15,7 @@ $( "form" ).on( "submit", function( event ) { });

    In this case, jQuery serializes the successful controls within the form. Only form elements are examined for inputs they contain, in all other cases the input elements to be serialized should be part of the set passed to the .serialize() method. Selecting both the form and its children in a set will cause duplicates in the serialized string.

    -

    Note: Only "successful controls" are serialized to the string. No submit button value is serialized since the form was not submitted using a button. For a form element's value to be included in the serialized string, the element must have a name attribute. Values from checkboxes and radio buttons (inputs of type "radio" or "checkbox") are included only if they are checked. Data from file select elements is not serialized.

    +

    Note: Only "successful controls" are serialized to the string. No submit button value is serialized since the form was not submitted using a button. For a form element's value to be included in the serialized string, the element must have a name attribute. Values from checkboxes and radio buttons (inputs of type "radio" or "checkbox") are included only if they are checked. Data from file select elements is not serialized.

    Serialize a form to a query string that could be sent to a server in an Ajax request. diff --git a/entries/serializeArray.xml b/entries/serializeArray.xml index 4a836265..b2df233e 100644 --- a/entries/serializeArray.xml +++ b/entries/serializeArray.xml @@ -28,7 +28,7 @@ </div> </form>
    -

    The .serializeArray() method uses the standard W3C rules for successful controls to determine which elements it should include; in particular the element cannot be disabled and must contain a name attribute. No submit button value is serialized since the form was not submitted using a button. Data from file select elements is not serialized. Elements that do not contain a value attribute are represented with the empty string value.

    +

    The .serializeArray() method uses the standard W3C rules for successful controls to determine which elements it should include; in particular the element cannot be disabled and must contain a name attribute. No submit button value is serialized since the form was not submitted using a button. Data from file select elements is not serialized. Elements that do not contain a value attribute are represented with the empty string value.

    This method can act on a jQuery object that has selected individual form controls, such as <input>, <textarea>, and <select>. However, it is typically easier to select the <form> element itself for serialization:

    
     $( "form" ).submit(function( event ) {
    diff --git a/entries/show.xml b/entries/show.xml
    index 535b9c5d..c47faccc 100644
    --- a/entries/show.xml
    +++ b/entries/show.xml
    @@ -37,7 +37,7 @@ $( ".target" ).show();
         It is recommended to use different classes with .addClass(), .removeClass() or .toggleClass(). Another approach is using .attr( "style", "display: block !important;" ); be careful, though, as it overwrites the style attribute of the element.

    When a duration, a plain object, or a "complete" function is provided, .show() becomes an animation method. The .show() method animates the width, height, and opacity of the matched elements simultaneously.

    Durations are given in milliseconds; higher values indicate slower animations, not faster ones. The strings 'fast' and 'slow' can be supplied to indicate durations of 200 and 600 milliseconds, respectively.

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    Note: This method may cause performance issues, especially when used on many elements. If you're encountering such issues, use performance testing tools to determine whether this method is causing them. Moreover, this method can cause problems with responsive layouts if the display value differs at different viewport sizes.

    diff --git a/entries/slideDown.xml b/entries/slideDown.xml index 7ca77825..d4f27544 100644 --- a/entries/slideDown.xml +++ b/entries/slideDown.xml @@ -44,7 +44,7 @@ $( "#clickme" ).click(function() {
    Figure 1 - Illustration of the slideDown() effect

    Easing

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    Callback Function

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    As of jQuery 1.6, the .promise() method can be used in conjunction with the deferred.done() method to execute a single callback for the animation as a whole when all matching elements have completed their animations ( See the example for .promise() ).

    diff --git a/entries/slideToggle.xml b/entries/slideToggle.xml index 12b97ad1..ecf801a6 100644 --- a/entries/slideToggle.xml +++ b/entries/slideToggle.xml @@ -53,7 +53,7 @@ $( "#clickme" ).click(function() {
    Figure 2 - Illustration of the slideToggle() effect when showing the image

    Easing

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    Callback Function

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    As of jQuery 1.6, the .promise() method can be used in conjunction with the deferred.done() method to execute a single callback for the animation as a whole when all matching elements have completed their animations ( See the example for .promise() ).

    diff --git a/entries/slideUp.xml b/entries/slideUp.xml index 8db63468..648665c9 100644 --- a/entries/slideUp.xml +++ b/entries/slideUp.xml @@ -44,7 +44,7 @@ $( "#clickme" ).click(function() {
    Figure 1 - Illustration of the slideUp() effect

    Easing

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    Callback Function

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    As of jQuery 1.6, the .promise() method can be used in conjunction with the deferred.done() method to execute a single callback for the animation as a whole when all matching elements have completed their animations ( See the example for .promise() ).

    diff --git a/entries/target-selector.xml b/entries/target-selector.xml index 5d60f3da..b010a5ce 100644 --- a/entries/target-selector.xml +++ b/entries/target-selector.xml @@ -7,8 +7,8 @@ Selects the target element indicated by the fragment identifier of the document's URI. -

    If the document's URI contains a fragment identifier, or hash, then the :target selector will match the element with an ID that matches the identifier. For example, given a document with a URI of http://example.com/#foo, $( "p:target" ) will select the <p id="foo"> element.

    -

    Further discussion of this usage can be found in the W3C CSS specification.

    +

    If the document's URI contains a fragment identifier, or hash, then the :target selector will match the element with an ID that matches the identifier. For example, given a document with a URI of https://example.com/#foo, $( "p:target" ) will select the <p id="foo"> element.

    +

    Further discussion of this usage can be found in the W3C CSS specification.

    diff --git a/entries/toggle.xml b/entries/toggle.xml index 6c290220..deb0224d 100644 --- a/entries/toggle.xml +++ b/entries/toggle.xml @@ -40,7 +40,7 @@ $( ".target" ).toggle();

    The matched elements will be revealed or hidden immediately, with no animation, by changing the CSS display property. If the element is initially displayed, it will be hidden; if hidden, it will be shown. The display property is saved and restored as needed. If an element has a display value of inline, then is hidden and shown, it will once again be displayed inline.

    When a duration, a plain object, or a single "complete" function is provided, .toggle() becomes an animation method. The .toggle() method animates the width, height, and opacity of the matched elements simultaneously. When these properties reach 0 after a hiding animation, the display style property is set to none to ensure that the element no longer affects the layout of the page.

    Durations are given in milliseconds; higher values indicate slower animations, not faster ones. The strings 'fast' and 'slow' can be supplied to indicate durations of 200 and 600 milliseconds, respectively.

    -

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    +

    As of jQuery 1.4.3, an optional string naming an easing function may be used. Easing functions specify the speed at which the animation progresses at different points within the animation. The only easing implementations in the jQuery library are the default, called swing, and one that progresses at a constant pace, called linear. More easing functions are available with the use of plug-ins, most notably the jQuery UI suite.

    If supplied, the callback is fired once the animation is complete. This can be useful for stringing different animations together in sequence. The callback is not sent any arguments, but this is set to the DOM element being animated. If multiple elements are animated, it is important to note that the callback is executed once per matched element, not once for the animation as a whole.

    We can animate any element, such as a simple image:

    
    diff --git a/entries/visible-selector.xml b/entries/visible-selector.xml
    index 6b159740..45c5b973 100644
    --- a/entries/visible-selector.xml
    +++ b/entries/visible-selector.xml
    @@ -13,7 +13,7 @@
         

    This selector is the opposite of the :hidden selector. So, every element selected by :visible isn't selected by :hidden and vice versa.

    All option elements are considered hidden, regardless of their selected state.

    During animations that hide an element, the element is considered visible until the end of the animation. During animations to show an element, the element is considered visible at the start at the animation.

    -

    How :visible is calculated was changed in jQuery 1.3.2. The release notes outline the changes in more detail.

    +

    How :visible is calculated was changed in jQuery 1.3.2. The release notes outline the changes in more detail.

    jQuery 3 slightly modifies the meaning of :visible (and therefore of :hidden). Starting with this version, elements will be considered :visible if they have any layout boxes, including those of zero width and/or height. For example, br elements and inline elements with no content will be selected by the :visible selector.

    diff --git a/notes.xsl b/notes.xsl index 50f94fc0..cfaf9bfb 100644 --- a/notes.xsl +++ b/notes.xsl @@ -17,7 +17,7 @@ Selected elements are in the order of their appearance in the document. - Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint. + Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint. The value reported by is not guaranteed to be accurate when the element or its parent is hidden. To get an accurate value, ensure the element is visible before using . jQuery will attempt to temporarily show and then re-hide an element in order to measure its dimensions, but this is unreliable and (even when accurate) can significantly impact page performance. This show-and-rehide measurement feature may be removed in a future version of jQuery. @@ -44,7 +44,7 @@ The method removes all data and event handlers associated with the removed nodes. - Due to browser security restrictions, most "Ajax" requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, port, or protocol. + Due to browser security restrictions, most "Ajax" requests are subject to the same origin policy; the request can not successfully retrieve data from a different domain, subdomain, port, or protocol. Script and JSONP requests are not subject to the same origin policy restrictions. diff --git a/pages/Types.html b/pages/Types.html index b31c47ee..612caa10 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -11,7 +11,7 @@

    This page documents data types appearing in jQuery function signatures, whether defined by JavaScript itself or further restricted by jQuery. Unless explicitly stated otherwise, jQuery functions require primitive values where applicable, and do not accept their Object-wrapped forms. If you want to study these concepts in depth, take a look at MDN.

    -

    You should be able to try out most of the examples below by just copying them to your browser's JavaScript Console (Chrome, Safari with Develop menu activated, IE 8+) or Firebug console (Firefox). +

    You should be able to try out most of the examples below by just copying them to your browser's JavaScript Console.

    Whenever an example mentions that a type defaults to a boolean value, the result is good to know when using that type in a boolean context:

    @@ -645,16 +645,11 @@

    jQuery

    XMLHttpRequest

    Some of jQuery's Ajax functions return the native XMLHttpRequest (XHR) object, or pass it as an argument to success/error/complete handlers, so that you can do additional processing or monitoring on the request. Note that Ajax functions only return or pass an XHR object when an XHR object is actually used in the request. For example, JSONP requests and cross-domain GET requests use a script element rather than an XHR object.

    -

    Although the XHR object is a standard, there are variations in its behavior on different browsers. Refer to the WHATWG site and browsers' documentation for more information: +

    Although the XHR object is a standard, there are variations in its behavior on different browsers. Refer to the WHATWG site and Mozilla Developer Network for more information:

    -

    Google does not appear to have an official page for their XHR documentation for Chrome. As of version 5, Chrome does not support the use of the file protocol for XHR requests. -

    jqXHR

    As of jQuery 1.5, the $.ajax() method returns the jqXHR object, which is a superset of the XMLHTTPRequest object. For more information, see the jqXHR section of the $.ajax entry

    From fb25247da95dc147faa36800143e0d8cd2092dfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Fri, 30 Mar 2018 16:42:11 +0200 Subject: [PATCH 048/222] 1.12.30 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3fb8caf1..c473dadc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.29", + "version": "1.12.30", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index fcf103c2..cf6a5be8 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.29", + "version": "1.12.30", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From d2d71d72d85ac117d5f0927204290bbdca9f321d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Fri, 30 Mar 2018 16:47:37 +0200 Subject: [PATCH 049/222] Misc: Convert a few remaining HTTP links to HTTPS --- entries/attr.xml | 2 +- entries/data.xml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/entries/attr.xml b/entries/attr.xml index 1628ec72..2dc8a25e 100644 --- a/entries/attr.xml +++ b/entries/attr.xml @@ -69,7 +69,7 @@
    -

    According to the W3C forms specification, the checked attribute is a boolean attribute, which means the corresponding property is true if the attribute is present at all—even if, for example, the attribute has no value or is set to empty string value or even "false". This is true of all boolean attributes.

    +

    According to the W3C forms specification, the checked attribute is a boolean attribute, which means the corresponding property is true if the attribute is present at all—even if, for example, the attribute has no value or is set to empty string value or even "false". This is true of all boolean attributes.

    Nevertheless, the most important concept to remember about the checked attribute is that it does not correspond to the checked property. The attribute actually corresponds to the defaultChecked property and should be used only to set the initial value of the checkbox. The checked attribute value does not change with the state of the checkbox, while the checked property does. Therefore, the cross-browser-compatible way to determine if a checkbox is checked is to use the property:

    • diff --git a/entries/data.xml b/entries/data.xml index 71c6c10f..a8ff396c 100644 --- a/entries/data.xml +++ b/entries/data.xml @@ -31,7 +31,7 @@ $( "body" ).data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1,

    In jQuery 1.4.3 setting an element's data object with .data(obj) extends the data previously stored with that element.

    Prior to jQuery 1.4.3 (starting in jQuery 1.4) the .data() method completely replaced all data, instead of just extending the data object. If you are using third-party plugins it may not be advisable to completely replace the element's data object, since plugins may have also set data.

    -

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    +

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    Due to the way browsers interact with plugins and external code, the .data() method cannot be used on <object> (unless it's a Flash plugin), <applet> or <embed> elements.

    @@ -89,11 +89,11 @@ alert( $( "body" ).data( "foo" ) ); // undefined $( "body" ).data( "bar", "foobar" ); alert( $( "body" ).data( "bar" ) ); // foobar
    -

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    +

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    HTML5 data-* Attributes

    -

    As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.

    +

    As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.

    For example, given the following HTML:

    <div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>

    All of the following jQuery code will work.

    From 385c4db76d613a6409c7e0aa69a65c821d0c2ca3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Fri, 30 Mar 2018 16:55:44 +0200 Subject: [PATCH 050/222] 1.12.31 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index c473dadc..fb070fc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.30", + "version": "1.12.31", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index cf6a5be8..4bfeeb70 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.30", + "version": "1.12.31", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From bcdb151494299fa840db8b7bb7721985684c26e3 Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Tue, 24 Apr 2018 05:03:23 -0400 Subject: [PATCH 051/222] Event: Clarify valid chars for events and namespaces Fixes #1086 Fixes #1085 Closes #1093 --- entries/on.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/entries/on.xml b/entries/on.xml index 622fff6a..735f82b4 100644 --- a/entries/on.xml +++ b/entries/on.xml @@ -35,14 +35,14 @@

    The .on() method attaches event handlers to the currently selected set of elements in the jQuery object. As of jQuery 1.7, the .on() method provides all functionality required for attaching event handlers. For help in converting from older jQuery event methods, see .bind(), .delegate(), and .live(). To remove events bound with .on(), see .off(). To attach an event that runs only once and then removes itself, see .one()

    Event names and namespaces

    Any event names can be used for the events argument. jQuery will pass through the browser's standard JavaScript event types, calling the handler function when the browser generates events due to user actions such as click. In addition, the .trigger() method can trigger both standard browser event names and custom event names to call attached handlers. Event names should only contain alphanumerics, underscore, and colon characters.

    -

    An event name can be qualified by event namespaces that simplify removing or triggering the event. For example, "click.myPlugin.simple" defines both the myPlugin and simple namespaces for this particular click event. A click event handler attached via that string could be removed with .off("click.myPlugin") or .off("click.simple") without disturbing other click handlers attached to the elements. Namespaces are similar to CSS classes in that they are not hierarchical; only one name needs to match. Namespaces beginning with an underscore are reserved for jQuery's use.

    +

    An event name can be qualified by event namespaces that simplify removing or triggering the event. For example, "click.myPlugin.simple" defines both the myPlugin and simple namespaces for this particular click event. A click event handler attached via that string could be removed with .off("click.myPlugin") or .off("click.simple") without disturbing other click handlers attached to the elements. Namespaces are similar to CSS classes in that they are not hierarchical; only one name needs to match. Namespaces should contain upper/lowercase letters and digits only.

    In the second form of .on(), the events argument is a plain object. The keys are strings in the same form as the events argument with space-separated event type names and optional namespaces. The value for each key is a function (or false value) that is used as the handler instead of the final argument to the method. In other respects, the two forms are identical in their behavior as described below.

    -

    Direct and delegated events

    +

    Direct and delegated event handlers

    The majority of browser events bubble, or propagate, from the deepest, innermost element (the event target) in the document where they occur all the way up to the body and the document element. In Internet Explorer 8 and lower, a few events such as change and submit do not natively bubble but jQuery patches these to bubble and create consistent cross-browser behavior.

    If selector is omitted or is null, the event handler is referred to as direct or directly-bound. The handler is called every time an event occurs on the selected elements, whether it occurs directly on the element or bubbles from a descendant (inner) element.

    When a selector is provided, the event handler is referred to as delegated. The handler is not called when the event occurs directly on the bound element, but only for descendants (inner elements) that match the selector. jQuery bubbles the event from the event target up to the element where the handler is attached (i.e., innermost to outermost element) and runs the handler for any elements along that path matching the selector.

    Event handlers are bound only to the currently selected elements; they must exist at the time your code makes the call to .on(). To ensure the elements are present and can be selected, place scripts after the elements in the HTML markup or perform event binding inside a document ready handler. Alternatively, use delegated events to attach event handlers.

    -

    Delegated events have the advantage that they can process events from descendant elements that are added to the document at a later time. By picking an element that is guaranteed to be present at the time the delegated event handler is attached, you can use delegated events to avoid the need to frequently attach and remove event handlers. This element could be the container element of a view in a Model-View-Controller design, for example, or document if the event handler wants to monitor all bubbling events in the document. The document element is available in the head of the document before loading any other HTML, so it is safe to attach events there without waiting for the document to be ready.

    +

    Delegated event handlers have the advantage that they can process events from descendant elements that are added to the document at a later time. By picking an element that is guaranteed to be present at the time the delegated event handler is attached, you can use delegated events to avoid the need to frequently attach and remove event handlers. This element could be the container element of a view in a Model-View-Controller design, for example, or document if the event handler wants to monitor all bubbling events in the document. The document element is available in the head of the document before loading any other HTML, so it is safe to attach events there without waiting for the document to be ready.

    In addition to their ability to handle events on descendant elements not yet created, another advantage of delegated events is their potential for much lower overhead when many elements must be monitored. On a data table with 1,000 rows in its tbody, this example attaches a handler to 1,000 elements:

    
     $( "#dataTable tbody tr" ).on( "click", function() {
    @@ -55,7 +55,7 @@ $( "#dataTable tbody" ).on( "click", "tr", function() {
       console.log( $( this ).text() );
     });
         
    -

    Note: Delegated events do not work for SVG.

    +

    Note: Delegated event handlers do not work for SVG.

    The event handler and its environment

    The handler argument is a function (or the value false, see below), and is required unless you pass an object for the events argument. You can provide an anonymous handler function at the point of the .on() call, as the examples have done above, or declare a named function and pass its name:

    
    
    From 07fab9b17cb8727bee1d60e5d2b122ee75f3a538 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
     
    Date: Wed, 13 Jun 2018 14:29:59 +0200
    Subject: [PATCH 052/222] Misc: Convert a few more remaining links to HTTPS
    
    ---
     README.md                    | 2 +-
     categories.xml               | 2 +-
     entries/contents.xml         | 2 +-
     entries/jQuery.getJSON.xml   | 2 +-
     entries/jQuery.parseJSON.xml | 2 +-
     entries/parent-selector.xml  | 2 +-
     pages/Types.html             | 2 +-
     7 files changed, 7 insertions(+), 7 deletions(-)
    
    diff --git a/README.md b/README.md
    index 1141cd22..f7920803 100644
    --- a/README.md
    +++ b/README.md
    @@ -2,7 +2,7 @@
     
     ## Building and Deploying
     
    -To build and deploy your changes for previewing in a [`jquery-wp-content`](https://github.com/jquery/jquery-wp-content) instance, follow the [workflow instructions](https://contribute.jquery.org/web-sites/#workflow) from our documentation on [contributing to jQuery Foundation web sites](http://contribute.jquery.org/web-sites/).
    +To build and deploy your changes for previewing in a [`jquery-wp-content`](https://github.com/jquery/jquery-wp-content) instance, follow the [workflow instructions](https://contribute.jquery.org/web-sites/#workflow) from our documentation on [contributing to jQuery Foundation web sites](https://contribute.jquery.org/web-sites/).
     
     ### Requirements
     
    diff --git a/categories.xml b/categories.xml
    index b08956d9..d247f835 100644
    --- a/categories.xml
    +++ b/categories.xml
    @@ -68,7 +68,7 @@
         
         
           
         
     	
    diff --git a/entries/contents.xml b/entries/contents.xml
    index 70188f7b..f4118e0c 100644
    --- a/entries/contents.xml
    +++ b/entries/contents.xml
    @@ -55,7 +55,7 @@ $( "p" )
     $( "#frameDemo" ).contents().find( "a" ).css( "background-color", "#BADA55" );
     ]]>
         
       
       
    diff --git a/entries/jQuery.getJSON.xml b/entries/jQuery.getJSON.xml
    index 11a26341..07a926cc 100644
    --- a/entries/jQuery.getJSON.xml
    +++ b/entries/jQuery.getJSON.xml
    @@ -56,7 +56,7 @@ $.getJSON( "ajax/test.json", function( data ) {
         

    The success callback is passed the returned data, which is typically a JavaScript object or array as defined by the JSON structure and parsed using the $.parseJSON() method. It is also passed the text status of the response.

    As of jQuery 1.5, the success callback function receives a "jqXHR" object (in jQuery 1.4, it received the XMLHttpRequest object). However, since JSONP and cross-domain GET requests do not use XHR, in those cases the jqXHR and textStatus parameters passed to the success callback are undefined.

    -

    Important: As of jQuery 1.4, if the JSON file contains a syntax error, the request will usually fail silently. Avoid frequent hand-editing of JSON data for this reason. JSON is a data-interchange format with syntax rules that are stricter than those of JavaScript's object literal notation. For example, all strings represented in JSON, whether they are properties or values, must be enclosed in double-quotes. For details on the JSON format, see http://json.org/.

    +

    Important: As of jQuery 1.4, if the JSON file contains a syntax error, the request will usually fail silently. Avoid frequent hand-editing of JSON data for this reason. JSON is a data-interchange format with syntax rules that are stricter than those of JavaScript's object literal notation. For example, all strings represented in JSON, whether they are properties or values, must be enclosed in double-quotes. For details on the JSON format, see https://json.org/.

    JSONP

    If the URL includes the string "callback=?" (or similar, as defined by the server-side API), the request is treated as JSONP instead. See the discussion of the jsonp data type in $.ajax() for more details.

    diff --git a/entries/jQuery.parseJSON.xml b/entries/jQuery.parseJSON.xml index d47eab4b..16e1f6dd 100644 --- a/entries/jQuery.parseJSON.xml +++ b/entries/jQuery.parseJSON.xml @@ -25,7 +25,7 @@
  • "NaN" (NaN cannot be represented in a JSON string; direct representation of Infinity is also not permitted).
  • The JSON standard does not permit "control characters" such as a tab or newline. An example like $.parseJSON( '{ "testing":"1\t2\n3" }' ) will throw an error in most implementations because the JavaScript parser converts the string's tab and newline escapes into literal tab and newline; doubling the backslashes like "1\\t2\\n3" yields expected results. This problem is often seen when injecting JSON into a JavaScript file from a server-side language such as PHP.

    -

    Where the browser provides a native implementation of JSON.parse, jQuery uses it to parse the string. For details on the JSON format, see http://json.org/.

    +

    Where the browser provides a native implementation of JSON.parse, jQuery uses it to parse the string. For details on the JSON format, see https://json.org/.

    Prior to jQuery 1.9, $.parseJSON returned null instead of throwing an error if it was passed an empty string, null, or undefined, even though those are not valid JSON.

    diff --git a/entries/parent-selector.xml b/entries/parent-selector.xml index 72832a23..bd3fd743 100644 --- a/entries/parent-selector.xml +++ b/entries/parent-selector.xml @@ -9,7 +9,7 @@

    This is the inverse of :empty.

    One important thing to note regarding the use of :parent (and :empty) is that child nodes include text nodes.

    -

    The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see http://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

    +

    The W3C recommends that the <p> element have at least one child node, even if that child is merely text (see https://www.w3.org/TR/html401/struct/text.html#edef-P). Some other elements, on the other hand, are empty (i.e. have no children) by definition: <input>, <img>, <br>, and <hr>, for example.

    To obtain the parents or ancestors of an existing jQuery set, see the .parent() and .parents() methods.

    diff --git a/pages/Types.html b/pages/Types.html index 612caa10..de56ce02 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -666,4 +666,4 @@

    Callbacks Object

    XML Document

    A document object created by the browser's XML DOM parser, usually from a string representing XML. XML documents have different semantics than HTML documents, but most of the traversing and manipulation methods provided by jQuery will work with them.

    Assert

    -

    A reference to or instance of the object holding all of QUnit's assertions. See the API documentation for QUnit.assert for details.

    +

    A reference to or instance of the object holding all of QUnit's assertions. See the API documentation for QUnit.assert for details.

    From 6cbafd74922ba8de0f88bf1fc5f8198902e26bd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 13 Jun 2018 14:30:07 +0200 Subject: [PATCH 053/222] 1.12.32 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index fb070fc4..3704bcb7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.31", + "version": "1.12.32", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 4bfeeb70..3de1003d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.31", + "version": "1.12.32", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 613f22cd40f8b2a9af772b0ac8c0072cd545ed43 Mon Sep 17 00:00:00 2001 From: Andy Li Date: Mon, 23 Jul 2018 16:11:01 +0800 Subject: [PATCH 054/222] Categories: Fix a syntax error in a link to the blogpost Closes #1100 --- categories.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/categories.xml b/categories.xml index d247f835..c02b93b3 100644 --- a/categories.xml +++ b/categories.xml @@ -73,7 +73,7 @@
    From 53308ef90ca423e35b101aea27055a48c1c67b54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 23 Jul 2018 10:12:50 +0200 Subject: [PATCH 055/222] 1.12.33 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3704bcb7..5e1b2f79 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.32", + "version": "1.12.33", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3de1003d..509a4a72 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.32", + "version": "1.12.33", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 3a94c501985adee0c01af01df4bc79968d82bb7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 23 Jul 2018 19:09:21 +0200 Subject: [PATCH 056/222] 1.12.34 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5e1b2f79..95efd8ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.33", + "version": "1.12.34", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 509a4a72..9584d1eb 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.33", + "version": "1.12.34", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 8407a384caf4895692bb3786cdaf0c6ec8b2ba68 Mon Sep 17 00:00:00 2001 From: Sakthipriyan Vairamani Date: Wed, 26 Sep 2018 02:03:05 +0530 Subject: [PATCH 057/222] deferred.catch: Add a missing word Closes gh-1106 --- entries/deferred.catch.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/deferred.catch.xml b/entries/deferred.catch.xml index 17df8dda..e6e3d95a 100644 --- a/entries/deferred.catch.xml +++ b/entries/deferred.catch.xml @@ -15,7 +15,7 @@

    deferred.catch( fn ) is an alias to deferred.then( null, fn ). Read its page for more information.

    - Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred object, we can rejection handlers using the .catch method. + Since the jQuery.get method returns a jqXHR object, which is derived from a Deferred object, we can add rejection handlers using the .catch method. + diff --git a/entries/jQuery.unique.xml b/entries/jQuery.unique.xml index b31ce023..56a8ced5 100644 --- a/entries/jQuery.unique.xml +++ b/entries/jQuery.unique.xml @@ -43,4 +43,5 @@ $( "div:eq(2)" ).text( "Post-unique there are " + divs.length + " elements." ) + diff --git a/entries/toggleClass.xml b/entries/toggleClass.xml index dfe45f2d..51bdf746 100644 --- a/entries/toggleClass.xml +++ b/entries/toggleClass.xml @@ -208,5 +208,6 @@ $( "a" ).on( "click", function( event ) {
    This signature (only!) is deprecated as of jQuery 3.0.
    + \ No newline at end of file From ed497086495d7cb6f7379b42c8cc2fb77bc6812b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Tue, 13 Nov 2018 17:52:48 +0100 Subject: [PATCH 059/222] 1.12.35 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 95efd8ae..a3cc492e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.34", + "version": "1.12.35", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 9584d1eb..f06fac96 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.34", + "version": "1.12.35", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 3d88fc63dc82f5d4ddf390076f537dcadbe4cf64 Mon Sep 17 00:00:00 2001 From: Richard Gibson Date: Wed, 21 Nov 2018 10:51:43 -0500 Subject: [PATCH 060/222] data: Explicitly disavow writing data-* attributes (#1112) Also includes general cleanup. Fixes gh-1023 Closes gh-1112 --- entries/data.xml | 54 ++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 32 deletions(-) diff --git a/entries/data.xml b/entries/data.xml index a8ff396c..7e742da1 100644 --- a/entries/data.xml +++ b/entries/data.xml @@ -24,14 +24,14 @@

    We can set several distinct values for a single element and retrieve them later:

    
     $( "body" ).data( "foo", 52 );
    -$( "body" ).data( "bar", { myType: "test", count: 40 } );
    +$( "body" ).data( "bar", { isManual: true } );
     $( "body" ).data( { baz: [ 1, 2, 3 ] } );
     $( "body" ).data( "foo" ); // 52
    -$( "body" ).data(); // { foo: 52, bar: { myType: "test", count: 40 }, baz: [ 1, 2, 3 ] }
    +$( "body" ).data(); // { foo: 52, bar: { isManual: true }, baz: [ 1, 2, 3 ] }
           
    -

    In jQuery 1.4.3 setting an element's data object with .data(obj) extends the data previously stored with that element.

    -

    Prior to jQuery 1.4.3 (starting in jQuery 1.4) the .data() method completely replaced all data, instead of just extending the data object. If you are using third-party plugins it may not be advisable to completely replace the element's data object, since plugins may have also set data.

    -

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    +

    Using the data() method to update data does not affect attributes in the DOM. To set a data-* attribute value, use attr.

    +

    Prior to jQuery 1.4.3, .data( obj ) completely replaced all data. Since jQuery 1.4.3, data is instead extended by shallow merge.

    +

    Since jQuery 3, every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter in a key is replaced by the uppercase version of the letter, in alignment with the HTML dataset API. A statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    Due to the way browsers interact with plugins and external code, the .data() method cannot be used on <object> (unless it's a Flash plugin), <applet> or <embed> elements.

    @@ -76,46 +76,36 @@ $( "span:last" ).text( $( "div" ).data( "test" ).last ); 1.4 - Return the value at the named data store for the first element in the jQuery collection, as set by data(name, value) or by an HTML5 data-* attribute. + Return arbitrary data associated with the first element in the jQuery collection, as set by data() or by an HTML5 data-* attribute. -

    The .data() method allows us to attach data of any type to DOM elements in a way that is safe from circular references and therefore from memory leaks. We can retrieve several distinct values for a single element one at a time, or as a set:

    +

    The .data() method allows us to read data previously associated with DOM elements. We can retrieve several distinct values for a single element one at a time, or as a set:

    
    -alert( $( "body" ).data( "foo" ) );
    -alert( $( "body" ).data() );
    -      
    -

    The above lines alert the data values that were set on the body element. If no data at all was set on that element, undefined is returned.

    -
    
    -alert( $( "body" ).data( "foo" ) ); // undefined
    -$( "body" ).data( "bar", "foobar" );
    -alert( $( "body" ).data( "bar" ) ); // foobar
    +var elem = document.createElement( "span" );
    +$( elem ).data( "foo" ); // undefined
    +$( elem ).data(); // {}
    +
    +$( elem ).data( "foo", 42 );
    +$( elem ).data( "foo" ); // 42
    +$( elem ).data(); // { foo: 42 }
           
    -

    jQuery 3 changes the behavior of this method to align it to the Dataset API specifications. Specifically, jQuery 3 transforms every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter by the uppercase version of the letter as per definition of the algorithm of the Dataset API. Writing a statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    +

    Calling .data() with no parameters returns a JavaScript object containing each stored value as a property. The object can be used directly to get data values (but note that property names originally containing dashes will have been modified as described below).

    +

    Since jQuery 3, every two-character sequence of "-" (U+002D) followed by a lowercase ASCII letter in a key is replaced by the uppercase version of the letter, in alignment with the HTML dataset API. A statement like $( "body" ).data( { "my-name": "aValue" } ).data(); will return { myName: "aValue" }.

    - HTML5 data-* Attributes + HTML5 data-* Attributes

    -

    As of jQuery 1.4.3 HTML 5 data- attributes will be automatically pulled in to jQuery's data object. The treatment of attributes with embedded dashes was changed in jQuery 1.6 to conform to the W3C HTML5 specification.

    +

    Since jQuery 1.4.3, data-* attributes are used to initialize jQuery data. An element's data-* attributes are retrieved the first time the data() method is invoked upon it, and then are no longer accessed or mutated (all values are stored internally by jQuery).

    +

    Every attempt is made to convert the attribute's string value to a JavaScript value (this includes booleans, numbers, objects, arrays, and null). A string is only converted to a number if doing so doesn't change its representation (for example, the string "100" is converted to the number 100, but "1E02" and "100.000" are left as strings because their numeric value of 100 serializes to "100"). When a string starts with '{' or '[', then jQuery.parseJSON is used to parse it; it must follow valid JSON syntax including quoted property names. A string not parseable as a JavaScript value is not converted.

    +

    To retrieve a data-* attribute value as an unconverted string, use the attr() method.

    +

    Since jQuery 1.6, dashes in data-* attribute names have been processed in alignment with the HTML dataset API.

    For example, given the following HTML:

    <div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"John"}'></div>
    -

    All of the following jQuery code will work.

    +

    The following comparisons are all true:

    
     $( "div" ).data( "role" ) === "page";
     $( "div" ).data( "lastValue" ) === 43;
     $( "div" ).data( "hidden" ) === true;
     $( "div" ).data( "options" ).name === "John";
           
    -

    The second statement of the code above correctly refers to the data-last-value attribute of the element. In case no data is stored with the passed key, jQuery searches among the attributes of the element, converting a camel-cased string into a dashed string and then prepending data- to the result. So, the string lastValue is converted to data-last-value.

    -

    Every attempt is made to convert the string to a JavaScript value (this includes booleans, numbers, objects, arrays, and null). A value is only converted to a number if doing so doesn't change the value's representation. For example, "1E02" and "100.000" are equivalent as numbers (numeric value 100) but converting them would alter their representation so they are left as strings. The string value "100" is converted to the number 100.

    -

    When the data attribute is an object (starts with '{') or array (starts with '[') then jQuery.parseJSON is used to parse the string; it must follow valid JSON syntax including quoted property names. If the value isn't parseable as a JavaScript value, it is left as a string.

    -

    To retrieve the value's attribute as a string without any attempt to convert it, use the attr() method.

    -

    The data- attributes are pulled in the first time the data property is accessed and then are no longer accessed or mutated (all data values are then stored internally in jQuery).

    -

    Calling .data() with no parameters retrieves all of the values as a JavaScript object. This object can be safely cached in a variable as long as a new object is not set with .data(obj). Using the object directly to get or set values is faster than making individual calls to .data() to get or set each value:

    -
    
    -var mydata = $( "#mydiv" ).data();
    -if ( mydata.count < 9 ) {
    -  mydata.count = 43;
    -  mydata.status = "embiggened";
    -}
    -    
    From fb2edb2c941ef7a44cac66a0e4be45e630ae48d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 21 Nov 2018 16:52:32 +0100 Subject: [PATCH 061/222] 1.12.36 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a3cc492e..e3059772 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.35", + "version": "1.12.36", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f06fac96..34ef2b83 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.35", + "version": "1.12.36", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 812e1326b3323bbf6c32ac284e3e50be17b3cff4 Mon Sep 17 00:00:00 2001 From: Matt Doyle Date: Wed, 28 Nov 2018 08:19:06 +1100 Subject: [PATCH 062/222] width: Add quotes around .css() width argument (#1118) Fixes gh-1102 Closes gh-1118 --- entries/width.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/width.xml b/entries/width.xml index f073145a..c197119c 100644 --- a/entries/width.xml +++ b/entries/width.xml @@ -8,7 +8,7 @@ Get the current computed width for the first element in the set of matched elements. -

    The difference between .css(width) and .width() is that the latter returns a unit-less pixel value (for example, 400) while the former returns a value with units intact (for example, 400px). The .width() method is recommended when an element's width needs to be used in a mathematical calculation.

    +

    The difference between .css( "width" ) and .width() is that the latter returns a unit-less pixel value (for example, 400) while the former returns a value with units intact (for example, 400px). The .width() method is recommended when an element's width needs to be used in a mathematical calculation.

    Figure 1 - Illustration of the measured width
    From e56c5736cc65dd9ee7d6b08584afaf7387e1fe9c Mon Sep 17 00:00:00 2001 From: Philippe Cloutier Date: Sun, 10 Feb 2019 18:06:13 -0500 Subject: [PATCH 063/222] load: Fix singular references to matched elements Fixes #1125 Closes #1126 --- entries/load.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entries/load.xml b/entries/load.xml index 3444cb90..c0f6a46f 100644 --- a/entries/load.xml +++ b/entries/load.xml @@ -18,12 +18,12 @@ A callback function that is executed when the request completes. - Load data from the server and place the returned HTML into the matched element. + Load data from the server and place the returned HTML into the matched elements.

    Note: Prior to jQuery 3.0, the event handling suite also had a method named .load(). Older versions of jQuery determined which method to fire based on the set of arguments passed to it.

    -

    This method is the simplest way to fetch data from the server. It is roughly equivalent to $.get(url, data, success) except that it is a method rather than global function and it has an implicit callback function. When a successful response is detected (i.e. when textStatus is "success" or "notmodified"), .load() sets the HTML contents of the matched element to the returned data. This means that most uses of the method can be quite simple:

    +

    This method is the simplest way to fetch data from the server. It is roughly equivalent to $.get(url, data, success) except that it is a method rather than global function and it has an implicit callback function. When a successful response is detected (i.e. when textStatus is "success" or "notmodified"), .load() sets the HTML contents of the matched elements to the returned data. This means that most uses of the method can be quite simple:

    
     $( "#result" ).load( "ajax/test.html" );
         
    From 4b6b1e9f08412e892cfb6a76db36898114f1a04a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 8 Apr 2019 11:06:08 +0200 Subject: [PATCH 064/222] 1.12.37 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index e3059772..a70406ed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.36", + "version": "1.12.37", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 34ef2b83..11fc459d 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.36", + "version": "1.12.37", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 51f3979e25b4dc0c13d38e588fef602d8d288415 Mon Sep 17 00:00:00 2001 From: Dave Methvin Date: Mon, 15 Apr 2019 11:20:39 -0400 Subject: [PATCH 065/222] Ajax: Add scriptAttrs Fixes #1091 Closes #1092 Can be landed once https://github.com/jquery/jquery/issues/3028 is closed and we know a specific version for the feature. I've assume 3.4.0 here. --- entries/jQuery.ajax.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index 80157d28..f75de949 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -145,8 +145,11 @@ $.ajax({ By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send a DOMDocument, or other non-processed data, set this option to false. + + Defines an object with additional attributes to be used in a "script" or "jsonp" request. The key represents the name of the attribute and the value is the attribute's value. If this object is provided it will force the use of a script-tag transport. For example, this can be used to set nonce, integrity, or crossorigin attributes to satisfy Content Security Policy requirements. + - Only applies when the "script" transport is used (e.g., cross-domain requests with "jsonp" or "script" dataType and "GET" type). Sets the charset attribute on the script tag used in the request. Used when the character set on the local page is not the same as the one on the remote script. + Only applies when the "script" transport is used. Sets the charset attribute on the script tag used in the request. Used when the character set on the local page is not the same as the one on the remote script. Alternatively, the charset attribute can be specified in scriptAttrs instead, which will also ensure the use of the "script" transport. From 05e21403b1a807adb0e3bae152cee68773996100 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 29 Apr 2019 18:49:13 +0200 Subject: [PATCH 066/222] jQuery.globalEval: Document the nonce option Fixes #1123 Closes #1131 --- entries/jQuery.globalEval.xml | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/entries/jQuery.globalEval.xml b/entries/jQuery.globalEval.xml index ad6b7d1e..1900cd78 100644 --- a/entries/jQuery.globalEval.xml +++ b/entries/jQuery.globalEval.xml @@ -7,6 +7,17 @@ The JavaScript code to execute. + + 3.4.0 + + The JavaScript code to execute. + + + + The nonce attribute passed to the executed script. + + + Execute some JavaScript code globally.

    This method behaves differently from using a normal JavaScript eval() in that it's executed within the global context (which is important for loading external scripts dynamically).

    @@ -15,7 +26,19 @@ Execute a script in the global context. + + + Execute a script with a nonce value on a site with Content Security Policy enabled. + Date: Sun, 5 May 2019 20:58:19 +0100 Subject: [PATCH 068/222] Replaced "delegated events" with "delegated event handlers" Closes gh-1132 Fixes gh-1103 --- entries/on.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/entries/on.xml b/entries/on.xml index 735f82b4..568f3be6 100644 --- a/entries/on.xml +++ b/entries/on.xml @@ -41,9 +41,9 @@

    The majority of browser events bubble, or propagate, from the deepest, innermost element (the event target) in the document where they occur all the way up to the body and the document element. In Internet Explorer 8 and lower, a few events such as change and submit do not natively bubble but jQuery patches these to bubble and create consistent cross-browser behavior.

    If selector is omitted or is null, the event handler is referred to as direct or directly-bound. The handler is called every time an event occurs on the selected elements, whether it occurs directly on the element or bubbles from a descendant (inner) element.

    When a selector is provided, the event handler is referred to as delegated. The handler is not called when the event occurs directly on the bound element, but only for descendants (inner elements) that match the selector. jQuery bubbles the event from the event target up to the element where the handler is attached (i.e., innermost to outermost element) and runs the handler for any elements along that path matching the selector.

    -

    Event handlers are bound only to the currently selected elements; they must exist at the time your code makes the call to .on(). To ensure the elements are present and can be selected, place scripts after the elements in the HTML markup or perform event binding inside a document ready handler. Alternatively, use delegated events to attach event handlers.

    -

    Delegated event handlers have the advantage that they can process events from descendant elements that are added to the document at a later time. By picking an element that is guaranteed to be present at the time the delegated event handler is attached, you can use delegated events to avoid the need to frequently attach and remove event handlers. This element could be the container element of a view in a Model-View-Controller design, for example, or document if the event handler wants to monitor all bubbling events in the document. The document element is available in the head of the document before loading any other HTML, so it is safe to attach events there without waiting for the document to be ready.

    -

    In addition to their ability to handle events on descendant elements not yet created, another advantage of delegated events is their potential for much lower overhead when many elements must be monitored. On a data table with 1,000 rows in its tbody, this example attaches a handler to 1,000 elements:

    +

    Event handlers are bound only to the currently selected elements; they must exist at the time your code makes the call to .on(). To ensure the elements are present and can be selected, place scripts after the elements in the HTML markup or perform event binding inside a document ready handler. Alternatively, use delegated event handlers to attach event handlers.

    +

    Delegated event handlers have the advantage that they can process events from descendant elements that are added to the document at a later time. By picking an element that is guaranteed to be present at the time the delegated event handler is attached, you can use delegated event handlers to avoid the need to frequently attach and remove event handlers. This element could be the container element of a view in a Model-View-Controller design, for example, or document if the event handler wants to monitor all bubbling events in the document. The document element is available in the head of the document before loading any other HTML, so it is safe to attach events there without waiting for the document to be ready.

    +

    In addition to their ability to handle events on descendant elements not yet created, another advantage of delegated event handlers is their potential for much lower overhead when many elements must be monitored. On a data table with 1,000 rows in its tbody, this example attaches a handler to 1,000 elements:

    
     $( "#dataTable tbody tr" ).on( "click", function() {
       console.log( $( this ).text() );
    
    From 25b47f5b54cf574e53f793eb0035dbf6107a3797 Mon Sep 17 00:00:00 2001
    From: Aurelio De Rosa 
    Date: Mon, 6 May 2019 15:13:04 +0100
    Subject: [PATCH 069/222] Document optional includeMargin argument
    
    Closes gh-1133
    Fixes gh-1107
    ---
     entries/outerHeight.xml | 3 +++
     entries/outerWidth.xml  | 3 +++
     2 files changed, 6 insertions(+)
    
    diff --git a/entries/outerHeight.xml b/entries/outerHeight.xml
    index e1caaf55..09aa255e 100644
    --- a/entries/outerHeight.xml
    +++ b/entries/outerHeight.xml
    @@ -53,6 +53,9 @@ $( "p:last" ).text(
           
           A number representing the number of pixels, or a number along with an optional unit of measure appended (as a string).
         
    +    
    +      A Boolean indicating whether to new value should account for the element's margin.
    +    
       
       
         1.8.0
    diff --git a/entries/outerWidth.xml b/entries/outerWidth.xml
    index 4e613cc1..cfb07bc8 100644
    --- a/entries/outerWidth.xml
    +++ b/entries/outerWidth.xml
    @@ -53,6 +53,9 @@ $( "p:last" ).text(
           
           A number representing the number of pixels, or a number along with an optional unit of measure appended (as a string).
         
    +    
    +      A Boolean indicating whether to new value should account for the element's margin.
    +    
       
       
         1.8.0
    
    From 7cd5ae8e5756bdacaeda503abe8ebc3ed4e3be4d Mon Sep 17 00:00:00 2001
    From: biziclop <904630+biziclop@users.noreply.github.com>
    Date: Thu, 6 Jun 2019 23:18:32 +0200
    Subject: [PATCH 070/222] "Returning an Empty Set" clarifications (#1137)
    
    Fixes #1136
    ---
     entries/jQuery.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/entries/jQuery.xml b/entries/jQuery.xml
    index a0ff76d1..b31102b5 100644
    --- a/entries/jQuery.xml
    +++ b/entries/jQuery.xml
    @@ -77,7 +77,7 @@ $.post( "url.xml", function( data ) {
           

    When a jQuery object is passed to the $() function, a clone of the object is created. This new jQuery object references the same DOM elements as the initial one.

    Returning an Empty Set

    -

    As of jQuery 1.4, calling the jQuery() method with no arguments returns an empty jQuery set (with a .length property of 0). In previous versions of jQuery, this would return a set containing the document node.

    +

    Calling the jQuery() method with no arguments returns an empty jQuery set (with a .length property of 0). Similarly, if an argument of null, undefined, an empty array ([]), or an empty string ("") is passed, the set contains no elements.

    Working With Plain Objects

    At present, the only operations supported on plain JavaScript objects wrapped in jQuery are: .data(),.prop(),.on(), .off(), .trigger() and .triggerHandler(). The use of .data() (or any method requiring .data()) on a plain object will result in a new property on the object called jQuery{randomNumber} (eg. jQuery123456789).

    
    
    From 49e1e7c6b9bfe8650cd4d12b51d6e5b53e168cf0 Mon Sep 17 00:00:00 2001
    From: ryenus 
    Date: Thu, 18 Jul 2019 06:21:17 +0800
    Subject: [PATCH 071/222] Types: Fix a typo: "{a,i}s passed as"
    
    Closes gh-1139
    ---
     pages/Types.html | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/pages/Types.html b/pages/Types.html
    index de56ce02..fd4df2ca 100644
    --- a/pages/Types.html
    +++ b/pages/Types.html
    @@ -149,7 +149,7 @@ 

    Boolean Default

    htmlString

    A string is designated htmlString in jQuery documentation when it is used to represent one or more DOM elements, typically to be created and inserted in the document. When passed as an argument of the jQuery() function, the string is identified as HTML if it starts with <tag ... >) and is parsed as such until the final > character. Prior to jQuery 1.9, a string was considered to be HTML if it contained <tag ... > anywhere within the string.

    -

    When a string as passed as an argument to a manipulation method such as .append(), it is always considered to be HTML since jQuery's other common interpretation of a string (CSS selectors) does not apply in those contexts.

    +

    When a string is passed as an argument to a manipulation method such as .append(), it is always considered to be HTML since jQuery's other common interpretation of a string (CSS selectors) does not apply in those contexts.

    For explicit parsing of a string to HTML, the $.parseHTML() method is available as of jQuery 1.8.

    // Appends hello:
     $( "hello" ).appendTo( "body" );
    
    From 0fca273075cd8fbcebc7b3b10199881700d69123 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?=
     
    Date: Thu, 18 Jul 2019 00:21:57 +0200
    Subject: [PATCH 072/222] 1.12.39
    
    ---
     package-lock.json | 2 +-
     package.json      | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/package-lock.json b/package-lock.json
    index 3efd0132..d2b7ebfd 100644
    --- a/package-lock.json
    +++ b/package-lock.json
    @@ -1,6 +1,6 @@
     {
       "name": "api.jquery.com",
    -  "version": "1.12.38",
    +  "version": "1.12.39",
       "lockfileVersion": 1,
       "requires": true,
       "dependencies": {
    diff --git a/package.json b/package.json
    index 8dbb378c..355f6217 100644
    --- a/package.json
    +++ b/package.json
    @@ -2,7 +2,7 @@
       "name": "api.jquery.com",
       "title": "jQuery API Docs",
       "description": "API reference documentation for the jQuery JavaScript Library.",
    -  "version": "1.12.38",
    +  "version": "1.12.39",
       "homepage": "https://github.com/jquery/api.jquery.com",
       "author": {
         "name": "jQuery Foundation and other contributors"
    
    From d3b821b1a5ed1516153076c2dc3eb40182c4c362 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
     
    Date: Fri, 30 Aug 2019 00:18:09 +0200
    Subject: [PATCH 073/222] Build: Make the build compatible with Node.js 12
    
    ---
     .nvmrc            |    1 +
     package-lock.json | 2360 +++++++++++++++++++++++++++++++++++++--------
     package.json      |    6 +-
     3 files changed, 1955 insertions(+), 412 deletions(-)
     create mode 100644 .nvmrc
    
    diff --git a/.nvmrc b/.nvmrc
    new file mode 100644
    index 00000000..f599e28b
    --- /dev/null
    +++ b/.nvmrc
    @@ -0,0 +1 @@
    +10
    diff --git a/package-lock.json b/package-lock.json
    index d2b7ebfd..c0781a3e 100644
    --- a/package-lock.json
    +++ b/package-lock.json
    @@ -4,56 +4,239 @@
       "lockfileVersion": 1,
       "requires": true,
       "dependencies": {
    +    "CSSselect": {
    +      "version": "0.4.1",
    +      "resolved": "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz",
    +      "integrity": "sha1-+Kt+H4QYzmPNput713ioXX7EkrI=",
    +      "requires": {
    +        "CSSwhat": "0.4",
    +        "domutils": "1.4"
    +      }
    +    },
    +    "CSSwhat": {
    +      "version": "0.4.7",
    +      "resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz",
    +      "integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s="
    +    },
         "abbrev": {
    -      "version": "1.1.0",
    -      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.0.tgz",
    -      "integrity": "sha1-0FVMIlZjbi9W58LlrRg/hZQo2B8="
    +      "version": "1.1.1",
    +      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
    +      "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
    +    },
    +    "ansi-styles": {
    +      "version": "3.2.1",
    +      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
    +      "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
    +      "requires": {
    +        "color-convert": "^1.9.0"
    +      }
         },
         "argparse": {
    -      "version": "0.1.16",
    -      "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
    -      "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
    +      "version": "1.0.10",
    +      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
    +      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
           "requires": {
    -        "underscore": "1.7.0",
    -        "underscore.string": "2.4.0"
    +        "sprintf-js": "~1.0.2"
           },
           "dependencies": {
    -        "underscore.string": {
    -          "version": "2.4.0",
    -          "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
    -          "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs="
    +        "sprintf-js": {
    +          "version": "1.0.3",
    +          "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
    +          "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
             }
           }
         },
    +    "arr-diff": {
    +      "version": "4.0.0",
    +      "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
    +      "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA="
    +    },
    +    "arr-flatten": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
    +      "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg=="
    +    },
    +    "arr-union": {
    +      "version": "3.1.0",
    +      "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
    +      "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ="
    +    },
    +    "array-each": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
    +      "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8="
    +    },
    +    "array-find-index": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz",
    +      "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E="
    +    },
    +    "array-slice": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
    +      "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
    +    },
    +    "array-unique": {
    +      "version": "0.3.2",
    +      "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
    +      "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg="
    +    },
    +    "assign-symbols": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
    +      "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c="
    +    },
         "async": {
    -      "version": "0.1.22",
    -      "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
    -      "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE="
    +      "version": "1.5.2",
    +      "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
    +      "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo="
    +    },
    +    "atob": {
    +      "version": "2.1.2",
    +      "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
    +      "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg=="
         },
         "balanced-match": {
           "version": "1.0.0",
           "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
           "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
         },
    +    "base": {
    +      "version": "0.11.2",
    +      "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
    +      "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
    +      "requires": {
    +        "cache-base": "^1.0.1",
    +        "class-utils": "^0.3.5",
    +        "component-emitter": "^1.2.1",
    +        "define-property": "^1.0.0",
    +        "isobject": "^3.0.1",
    +        "mixin-deep": "^1.2.0",
    +        "pascalcase": "^0.1.1"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
    +          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
    +          "requires": {
    +            "is-descriptor": "^1.0.0"
    +          }
    +        },
    +        "is-accessor-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-data-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-descriptor": {
    +          "version": "1.0.2",
    +          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
    +          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
    +          "requires": {
    +            "is-accessor-descriptor": "^1.0.0",
    +            "is-data-descriptor": "^1.0.0",
    +            "kind-of": "^6.0.2"
    +          }
    +        }
    +      }
    +    },
         "brace-expansion": {
    -      "version": "1.1.8",
    -      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz",
    -      "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
    +      "version": "1.1.11",
    +      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
    +      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
           "requires": {
    -        "balanced-match": "1.0.0",
    +        "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
           }
         },
    +    "braces": {
    +      "version": "2.3.2",
    +      "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
    +      "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
    +      "requires": {
    +        "arr-flatten": "^1.1.0",
    +        "array-unique": "^0.3.2",
    +        "extend-shallow": "^2.0.1",
    +        "fill-range": "^4.0.0",
    +        "isobject": "^3.0.1",
    +        "repeat-element": "^1.1.2",
    +        "snapdragon": "^0.8.1",
    +        "snapdragon-node": "^2.0.1",
    +        "split-string": "^3.0.2",
    +        "to-regex": "^3.0.1"
    +      },
    +      "dependencies": {
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
    +          "requires": {
    +            "is-extendable": "^0.1.0"
    +          }
    +        }
    +      }
    +    },
    +    "cache-base": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
    +      "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
    +      "requires": {
    +        "collection-visit": "^1.0.0",
    +        "component-emitter": "^1.2.1",
    +        "get-value": "^2.0.6",
    +        "has-value": "^1.0.0",
    +        "isobject": "^3.0.1",
    +        "set-value": "^2.0.0",
    +        "to-object-path": "^0.3.0",
    +        "union-value": "^1.0.0",
    +        "unset-value": "^1.0.0"
    +      }
    +    },
    +    "camelcase": {
    +      "version": "2.1.1",
    +      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz",
    +      "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8="
    +    },
    +    "camelcase-keys": {
    +      "version": "2.1.0",
    +      "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz",
    +      "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=",
    +      "requires": {
    +        "camelcase": "^2.0.0",
    +        "map-obj": "^1.0.0"
    +      }
    +    },
    +    "chalk": {
    +      "version": "2.4.2",
    +      "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
    +      "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
    +      "requires": {
    +        "ansi-styles": "^3.2.1",
    +        "escape-string-regexp": "^1.0.5",
    +        "supports-color": "^5.3.0"
    +      }
    +    },
         "cheerio": {
           "version": "0.17.0",
           "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz",
           "integrity": "sha1-+lrkLMYBIRM9KW0LRtmDIV9yaOo=",
           "requires": {
    -        "CSSselect": "0.4.1",
    -        "dom-serializer": "0.0.1",
    -        "entities": "1.1.1",
    -        "htmlparser2": "3.7.3",
    -        "lodash": "2.4.2"
    +        "CSSselect": "~0.4.0",
    +        "dom-serializer": "~0.0.0",
    +        "entities": "~1.1.1",
    +        "htmlparser2": "~3.7.2",
    +        "lodash": "~2.4.1"
           },
           "dependencies": {
             "lodash": {
    @@ -63,52 +246,163 @@
             }
           }
         },
    -    "coffee-script": {
    -      "version": "1.3.3",
    -      "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
    -      "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ="
    +    "class-utils": {
    +      "version": "0.3.6",
    +      "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
    +      "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
    +      "requires": {
    +        "arr-union": "^3.1.0",
    +        "define-property": "^0.2.5",
    +        "isobject": "^3.0.0",
    +        "static-extend": "^0.1.1"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "0.2.5",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
    +          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
    +          "requires": {
    +            "is-descriptor": "^0.1.0"
    +          }
    +        }
    +      }
    +    },
    +    "coffeescript": {
    +      "version": "1.10.0",
    +      "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz",
    +      "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4="
    +    },
    +    "collection-visit": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
    +      "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
    +      "requires": {
    +        "map-visit": "^1.0.0",
    +        "object-visit": "^1.0.0"
    +      }
    +    },
    +    "color-convert": {
    +      "version": "1.9.3",
    +      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
    +      "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
    +      "requires": {
    +        "color-name": "1.1.3"
    +      }
    +    },
    +    "color-name": {
    +      "version": "1.1.3",
    +      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
    +      "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU="
         },
         "colors": {
    -      "version": "0.6.2",
    -      "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
    -      "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w="
    +      "version": "1.1.2",
    +      "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz",
    +      "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM="
    +    },
    +    "component-emitter": {
    +      "version": "1.3.0",
    +      "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz",
    +      "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg=="
         },
         "concat-map": {
           "version": "0.0.1",
           "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
           "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
         },
    +    "copy-descriptor": {
    +      "version": "0.1.1",
    +      "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
    +      "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
    +    },
         "core-util-is": {
           "version": "1.0.2",
           "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
           "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
         },
    -    "CSSselect": {
    +    "currently-unhandled": {
           "version": "0.4.1",
    -      "resolved": "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz",
    -      "integrity": "sha1-+Kt+H4QYzmPNput713ioXX7EkrI=",
    +      "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz",
    +      "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=",
           "requires": {
    -        "CSSwhat": "0.4.7",
    -        "domutils": "1.4.3"
    +        "array-find-index": "^1.0.1"
           }
         },
    -    "CSSwhat": {
    -      "version": "0.4.7",
    -      "resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz",
    -      "integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s="
    -    },
         "dateformat": {
    -      "version": "1.0.2-1.2.3",
    -      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
    -      "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk="
    +      "version": "1.0.12",
    +      "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz",
    +      "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=",
    +      "requires": {
    +        "get-stdin": "^4.0.1",
    +        "meow": "^3.3.0"
    +      }
    +    },
    +    "debug": {
    +      "version": "2.6.9",
    +      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
    +      "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
    +      "requires": {
    +        "ms": "2.0.0"
    +      }
    +    },
    +    "decamelize": {
    +      "version": "1.2.0",
    +      "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
    +      "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA="
    +    },
    +    "decode-uri-component": {
    +      "version": "0.2.0",
    +      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
    +      "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU="
    +    },
    +    "define-property": {
    +      "version": "2.0.2",
    +      "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
    +      "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
    +      "requires": {
    +        "is-descriptor": "^1.0.2",
    +        "isobject": "^3.0.1"
    +      },
    +      "dependencies": {
    +        "is-accessor-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-data-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-descriptor": {
    +          "version": "1.0.2",
    +          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
    +          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
    +          "requires": {
    +            "is-accessor-descriptor": "^1.0.0",
    +            "is-data-descriptor": "^1.0.0",
    +            "kind-of": "^6.0.2"
    +          }
    +        }
    +      }
    +    },
    +    "detect-file": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
    +      "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc="
         },
         "dom-serializer": {
           "version": "0.0.1",
           "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz",
           "integrity": "sha1-lYmCfx4y0iw3yCmtq9WbMkevjq8=",
           "requires": {
    -        "domelementtype": "1.1.3",
    -        "entities": "1.1.1"
    +        "domelementtype": "~1.1.1",
    +        "entities": "~1.1.1"
           },
           "dependencies": {
             "domelementtype": {
    @@ -119,16 +413,16 @@
           }
         },
         "domelementtype": {
    -      "version": "1.3.0",
    -      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz",
    -      "integrity": "sha1-sXrtguirWeUt2cGbF1bg/BhyBMI="
    +      "version": "1.3.1",
    +      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
    +      "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w=="
         },
         "domhandler": {
           "version": "2.2.1",
           "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz",
           "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=",
           "requires": {
    -        "domelementtype": "1.3.0"
    +        "domelementtype": "1"
           }
         },
         "domutils": {
    @@ -136,18 +430,31 @@
           "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz",
           "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=",
           "requires": {
    -        "domelementtype": "1.3.0"
    +        "domelementtype": "1"
           }
         },
         "entities": {
    -      "version": "1.1.1",
    -      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz",
    -      "integrity": "sha1-blwtClYhtdra7O+AuQ7ftc13cvA="
    +      "version": "1.1.2",
    +      "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
    +      "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
    +    },
    +    "error-ex": {
    +      "version": "1.3.2",
    +      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
    +      "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
    +      "requires": {
    +        "is-arrayish": "^0.2.1"
    +      }
    +    },
    +    "escape-string-regexp": {
    +      "version": "1.0.5",
    +      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
    +      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ="
         },
         "esprima": {
    -      "version": "1.0.4",
    -      "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
    -      "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0="
    +      "version": "4.0.1",
    +      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
    +      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
         },
         "eventemitter2": {
           "version": "0.4.14",
    @@ -159,288 +466,499 @@
           "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
           "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw="
         },
    -    "findup-sync": {
    -      "version": "0.1.3",
    -      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
    -      "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
    +    "expand-brackets": {
    +      "version": "2.1.4",
    +      "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
    +      "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
           "requires": {
    -        "glob": "3.2.11",
    -        "lodash": "2.4.2"
    +        "debug": "^2.3.3",
    +        "define-property": "^0.2.5",
    +        "extend-shallow": "^2.0.1",
    +        "posix-character-classes": "^0.1.0",
    +        "regex-not": "^1.0.0",
    +        "snapdragon": "^0.8.1",
    +        "to-regex": "^3.0.1"
           },
           "dependencies": {
    -        "glob": {
    -          "version": "3.2.11",
    -          "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
    -          "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
    +        "define-property": {
    +          "version": "0.2.5",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
    +          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
               "requires": {
    -            "inherits": "2.0.3",
    -            "minimatch": "0.3.0"
    +            "is-descriptor": "^0.1.0"
               }
             },
    -        "lodash": {
    -          "version": "2.4.2",
    -          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
    -          "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4="
    -        },
    -        "minimatch": {
    -          "version": "0.3.0",
    -          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
    -          "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
               "requires": {
    -            "lru-cache": "2.7.3",
    -            "sigmund": "1.0.1"
    +            "is-extendable": "^0.1.0"
               }
             }
           }
         },
    -    "getobject": {
    -      "version": "0.1.0",
    -      "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
    -      "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw="
    +    "expand-tilde": {
    +      "version": "2.0.2",
    +      "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
    +      "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
    +      "requires": {
    +        "homedir-polyfill": "^1.0.1"
    +      }
         },
    -    "gilded-wordpress": {
    -      "version": "1.0.3",
    -      "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.3.tgz",
    -      "integrity": "sha1-kh/iJ93yWyxAgp5QUjsOMXRDsz4=",
    +    "extend": {
    +      "version": "3.0.2",
    +      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
    +      "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
    +    },
    +    "extend-shallow": {
    +      "version": "3.0.2",
    +      "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
    +      "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
           "requires": {
    -        "async": "0.9.2",
    -        "glob": "4.0.6",
    -        "wordpress": "1.1.2"
    +        "assign-symbols": "^1.0.0",
    +        "is-extendable": "^1.0.1"
           },
           "dependencies": {
    -        "async": {
    -          "version": "0.9.2",
    -          "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
    -          "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
    +        "is-extendable": {
    +          "version": "1.0.1",
    +          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
    +          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
    +          "requires": {
    +            "is-plain-object": "^2.0.4"
    +          }
    +        }
    +      }
    +    },
    +    "extglob": {
    +      "version": "2.0.4",
    +      "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
    +      "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
    +      "requires": {
    +        "array-unique": "^0.3.2",
    +        "define-property": "^1.0.0",
    +        "expand-brackets": "^2.1.4",
    +        "extend-shallow": "^2.0.1",
    +        "fragment-cache": "^0.2.1",
    +        "regex-not": "^1.0.0",
    +        "snapdragon": "^0.8.1",
    +        "to-regex": "^3.0.1"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
    +          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
    +          "requires": {
    +            "is-descriptor": "^1.0.0"
    +          }
             },
    -        "glob": {
    -          "version": "4.0.6",
    -          "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz",
    -          "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=",
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
               "requires": {
    -            "graceful-fs": "3.0.11",
    -            "inherits": "2.0.3",
    -            "minimatch": "1.0.0",
    -            "once": "1.4.0"
    +            "is-extendable": "^0.1.0"
               }
             },
    -        "graceful-fs": {
    -          "version": "3.0.11",
    -          "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
    -          "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
    +        "is-accessor-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
               "requires": {
    -            "natives": "1.1.0"
    +            "kind-of": "^6.0.0"
               }
             },
    -        "minimatch": {
    +        "is-data-descriptor": {
               "version": "1.0.0",
    -          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
    -          "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=",
    +          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-descriptor": {
    +          "version": "1.0.2",
    +          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
    +          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
               "requires": {
    -            "lru-cache": "2.7.3",
    -            "sigmund": "1.0.1"
    +            "is-accessor-descriptor": "^1.0.0",
    +            "is-data-descriptor": "^1.0.0",
    +            "kind-of": "^6.0.2"
               }
             }
           }
         },
    -    "glob": {
    -      "version": "3.1.21",
    -      "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
    -      "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
    +    "fill-range": {
    +      "version": "4.0.0",
    +      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
    +      "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
           "requires": {
    -        "graceful-fs": "1.2.3",
    -        "inherits": "1.0.2",
    -        "minimatch": "0.2.14"
    +        "extend-shallow": "^2.0.1",
    +        "is-number": "^3.0.0",
    +        "repeat-string": "^1.6.1",
    +        "to-regex-range": "^2.1.0"
           },
           "dependencies": {
    -        "inherits": {
    -          "version": "1.0.2",
    -          "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
    -          "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js="
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
    +          "requires": {
    +            "is-extendable": "^0.1.0"
    +          }
             }
           }
         },
    -    "graceful-fs": {
    -      "version": "1.2.3",
    -      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
    -      "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q="
    -    },
    -    "grunt": {
    -      "version": "0.4.5",
    -      "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
    -      "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
    -      "requires": {
    -        "async": "0.1.22",
    -        "coffee-script": "1.3.3",
    -        "colors": "0.6.2",
    -        "dateformat": "1.0.2-1.2.3",
    -        "eventemitter2": "0.4.14",
    -        "exit": "0.1.2",
    -        "findup-sync": "0.1.3",
    -        "getobject": "0.1.0",
    -        "glob": "3.1.21",
    -        "grunt-legacy-log": "0.1.3",
    -        "grunt-legacy-util": "0.2.0",
    -        "hooker": "0.2.3",
    -        "iconv-lite": "0.2.11",
    -        "js-yaml": "2.0.5",
    -        "lodash": "0.9.2",
    -        "minimatch": "0.2.14",
    -        "nopt": "1.0.10",
    -        "rimraf": "2.2.8",
    -        "underscore.string": "2.2.1",
    -        "which": "1.0.9"
    +    "find-up": {
    +      "version": "1.1.2",
    +      "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
    +      "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
    +      "requires": {
    +        "path-exists": "^2.0.0",
    +        "pinkie-promise": "^2.0.0"
           }
         },
    -    "grunt-check-modules": {
    -      "version": "1.0.0",
    -      "resolved": "https://registry.npmjs.org/grunt-check-modules/-/grunt-check-modules-1.0.0.tgz",
    -      "integrity": "sha1-Y/9erkYTF5tKifaozTcfekAfd4I="
    -    },
    -    "grunt-cli": {
    -      "version": "1.1.0",
    -      "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.1.0.tgz",
    -      "integrity": "sha1-r9eWmTTd8zYg6ER+3B+pTlHlWjQ=",
    +    "findup-sync": {
    +      "version": "0.3.0",
    +      "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
    +      "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
           "requires": {
    -        "findup-sync": "0.3.0",
    -        "nopt": "3.0.6",
    -        "resolve": "1.1.7"
    +        "glob": "~5.0.0"
           },
           "dependencies": {
    -        "findup-sync": {
    -          "version": "0.3.0",
    -          "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
    -          "integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
    -          "requires": {
    -            "glob": "5.0.15"
    -          }
    -        },
             "glob": {
               "version": "5.0.15",
               "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
               "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
               "requires": {
    -            "inflight": "1.0.6",
    -            "inherits": "2.0.3",
    -            "minimatch": "3.0.4",
    -            "once": "1.4.0",
    -            "path-is-absolute": "1.0.1"
    -          }
    -        },
    -        "minimatch": {
    -          "version": "3.0.4",
    -          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
    -          "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
    -          "requires": {
    -            "brace-expansion": "1.1.8"
    -          }
    -        },
    -        "nopt": {
    -          "version": "3.0.6",
    -          "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
    -          "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
    -          "requires": {
    -            "abbrev": "1.1.0"
    +            "inflight": "^1.0.4",
    +            "inherits": "2",
    +            "minimatch": "2 || 3",
    +            "once": "^1.3.0",
    +            "path-is-absolute": "^1.0.0"
               }
             }
           }
         },
    -    "grunt-jquery-content": {
    -      "version": "3.0.1",
    -      "resolved": "https://registry.npmjs.org/grunt-jquery-content/-/grunt-jquery-content-3.0.1.tgz",
    -      "integrity": "sha1-aHdrx0G1SVEdaPBouVCsizd+g90=",
    +    "fined": {
    +      "version": "1.2.0",
    +      "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz",
    +      "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==",
           "requires": {
    -        "async": "0.9.0",
    -        "cheerio": "0.17.0",
    -        "grunt-check-modules": "1.0.0",
    -        "grunt-wordpress": "2.1.2",
    -        "he": "0.5.0",
    -        "highlight.js": "7.3.0",
    -        "marked": "0.3.2",
    -        "rimraf": "2.2.8",
    -        "spawnback": "1.0.0",
    -        "which": "1.0.5",
    -        "wordpress": "1.1.2"
    -      },
    -      "dependencies": {
    -        "async": {
    -          "version": "0.9.0",
    -          "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz",
    -          "integrity": "sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc="
    -        },
    -        "which": {
    -          "version": "1.0.5",
    -          "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz",
    -          "integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk="
    -        }
    +        "expand-tilde": "^2.0.2",
    +        "is-plain-object": "^2.0.3",
    +        "object.defaults": "^1.1.0",
    +        "object.pick": "^1.2.0",
    +        "parse-filepath": "^1.0.1"
           }
         },
    -    "grunt-legacy-log": {
    -      "version": "0.1.3",
    -      "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
    -      "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
    -      "requires": {
    -        "colors": "0.6.2",
    -        "grunt-legacy-log-utils": "0.1.1",
    -        "hooker": "0.2.3",
    -        "lodash": "2.4.2",
    -        "underscore.string": "2.3.3"
    -      },
    -      "dependencies": {
    -        "lodash": {
    -          "version": "2.4.2",
    -          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
    -          "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4="
    -        },
    -        "underscore.string": {
    -          "version": "2.3.3",
    -          "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
    -          "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0="
    -        }
    -      }
    +    "flagged-respawn": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
    +      "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q=="
         },
    -    "grunt-legacy-log-utils": {
    -      "version": "0.1.1",
    -      "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
    -      "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
    +    "for-in": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
    +      "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA="
    +    },
    +    "for-own": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
    +      "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
           "requires": {
    -        "colors": "0.6.2",
    -        "lodash": "2.4.2",
    -        "underscore.string": "2.3.3"
    -      },
    -      "dependencies": {
    -        "lodash": {
    -          "version": "2.4.2",
    -          "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
    -          "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4="
    -        },
    -        "underscore.string": {
    -          "version": "2.3.3",
    -          "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
    -          "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0="
    -        }
    +        "for-in": "^1.0.1"
           }
         },
    -    "grunt-legacy-util": {
    -      "version": "0.2.0",
    -      "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
    -      "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
    +    "fragment-cache": {
    +      "version": "0.2.1",
    +      "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
    +      "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
           "requires": {
    -        "async": "0.1.22",
    -        "exit": "0.1.2",
    -        "getobject": "0.1.0",
    -        "hooker": "0.2.3",
    -        "lodash": "0.9.2",
    -        "underscore.string": "2.2.1",
    -        "which": "1.0.9"
    +        "map-cache": "^0.2.2"
    +      }
    +    },
    +    "fs.realpath": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
    +      "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
    +    },
    +    "get-stdin": {
    +      "version": "4.0.1",
    +      "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
    +      "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4="
    +    },
    +    "get-value": {
    +      "version": "2.0.6",
    +      "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
    +      "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
    +    },
    +    "getobject": {
    +      "version": "0.1.0",
    +      "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
    +      "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw="
    +    },
    +    "gilded-wordpress": {
    +      "version": "1.0.5",
    +      "resolved": "https://registry.npmjs.org/gilded-wordpress/-/gilded-wordpress-1.0.5.tgz",
    +      "integrity": "sha1-EnBg4iv/x6uo+++Xq/Pr+7fsScE=",
    +      "requires": {
    +        "async": "^0.9.0",
    +        "glob": "^4.0.6",
    +        "wordpress": "^1.1.2"
    +      },
    +      "dependencies": {
    +        "async": {
    +          "version": "0.9.2",
    +          "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
    +          "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
    +        },
    +        "glob": {
    +          "version": "4.5.3",
    +          "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
    +          "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=",
    +          "requires": {
    +            "inflight": "^1.0.4",
    +            "inherits": "2",
    +            "minimatch": "^2.0.1",
    +            "once": "^1.3.0"
    +          }
    +        },
    +        "minimatch": {
    +          "version": "2.0.10",
    +          "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
    +          "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=",
    +          "requires": {
    +            "brace-expansion": "^1.0.0"
    +          }
    +        }
    +      }
    +    },
    +    "glob": {
    +      "version": "7.0.6",
    +      "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz",
    +      "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=",
    +      "requires": {
    +        "fs.realpath": "^1.0.0",
    +        "inflight": "^1.0.4",
    +        "inherits": "2",
    +        "minimatch": "^3.0.2",
    +        "once": "^1.3.0",
    +        "path-is-absolute": "^1.0.0"
    +      }
    +    },
    +    "global-modules": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
    +      "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
    +      "requires": {
    +        "global-prefix": "^1.0.1",
    +        "is-windows": "^1.0.1",
    +        "resolve-dir": "^1.0.0"
    +      }
    +    },
    +    "global-prefix": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
    +      "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
    +      "requires": {
    +        "expand-tilde": "^2.0.2",
    +        "homedir-polyfill": "^1.0.1",
    +        "ini": "^1.3.4",
    +        "is-windows": "^1.0.1",
    +        "which": "^1.2.14"
    +      }
    +    },
    +    "graceful-fs": {
    +      "version": "4.2.2",
    +      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz",
    +      "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q=="
    +    },
    +    "grunt": {
    +      "version": "1.0.4",
    +      "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz",
    +      "integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==",
    +      "requires": {
    +        "coffeescript": "~1.10.0",
    +        "dateformat": "~1.0.12",
    +        "eventemitter2": "~0.4.13",
    +        "exit": "~0.1.1",
    +        "findup-sync": "~0.3.0",
    +        "glob": "~7.0.0",
    +        "grunt-cli": "~1.2.0",
    +        "grunt-known-options": "~1.1.0",
    +        "grunt-legacy-log": "~2.0.0",
    +        "grunt-legacy-util": "~1.1.1",
    +        "iconv-lite": "~0.4.13",
    +        "js-yaml": "~3.13.0",
    +        "minimatch": "~3.0.2",
    +        "mkdirp": "~0.5.1",
    +        "nopt": "~3.0.6",
    +        "path-is-absolute": "~1.0.0",
    +        "rimraf": "~2.6.2"
    +      },
    +      "dependencies": {
    +        "grunt-cli": {
    +          "version": "1.2.0",
    +          "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz",
    +          "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=",
    +          "requires": {
    +            "findup-sync": "~0.3.0",
    +            "grunt-known-options": "~1.1.0",
    +            "nopt": "~3.0.6",
    +            "resolve": "~1.1.0"
    +          }
    +        },
    +        "resolve": {
    +          "version": "1.1.7",
    +          "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
    +          "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
    +        }
    +      }
    +    },
    +    "grunt-check-modules": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/grunt-check-modules/-/grunt-check-modules-1.1.0.tgz",
    +      "integrity": "sha1-fBZB28ZlSGdqbVl5Ga35C3s11kQ="
    +    },
    +    "grunt-cli": {
    +      "version": "1.3.2",
    +      "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
    +      "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
    +      "requires": {
    +        "grunt-known-options": "~1.1.0",
    +        "interpret": "~1.1.0",
    +        "liftoff": "~2.5.0",
    +        "nopt": "~4.0.1",
    +        "v8flags": "~3.1.1"
    +      },
    +      "dependencies": {
    +        "nopt": {
    +          "version": "4.0.1",
    +          "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
    +          "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
    +          "requires": {
    +            "abbrev": "1",
    +            "osenv": "^0.1.4"
    +          }
    +        }
    +      }
    +    },
    +    "grunt-jquery-content": {
    +      "version": "3.0.3",
    +      "resolved": "https://registry.npmjs.org/grunt-jquery-content/-/grunt-jquery-content-3.0.3.tgz",
    +      "integrity": "sha1-sqFpjFTz6QZyO3cPuuRJ/ZIRXqM=",
    +      "requires": {
    +        "async": "0.9.0",
    +        "cheerio": "0.17.0",
    +        "grunt-check-modules": "1.1.0",
    +        "grunt-wordpress": "2.1.3",
    +        "he": "0.5.0",
    +        "highlight.js": "7.3.0",
    +        "marked": "0.3.2",
    +        "rimraf": "2.2.8",
    +        "spawnback": "1.0.0",
    +        "which": "1.0.5",
    +        "wordpress": "1.3.0"
    +      },
    +      "dependencies": {
    +        "async": {
    +          "version": "0.9.0",
    +          "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz",
    +          "integrity": "sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc="
    +        },
    +        "rimraf": {
    +          "version": "2.2.8",
    +          "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
    +          "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
    +        },
    +        "which": {
    +          "version": "1.0.5",
    +          "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz",
    +          "integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk="
    +        }
    +      }
    +    },
    +    "grunt-known-options": {
    +      "version": "1.1.1",
    +      "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
    +      "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ=="
    +    },
    +    "grunt-legacy-log": {
    +      "version": "2.0.0",
    +      "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz",
    +      "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==",
    +      "requires": {
    +        "colors": "~1.1.2",
    +        "grunt-legacy-log-utils": "~2.0.0",
    +        "hooker": "~0.2.3",
    +        "lodash": "~4.17.5"
    +      }
    +    },
    +    "grunt-legacy-log-utils": {
    +      "version": "2.0.1",
    +      "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz",
    +      "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==",
    +      "requires": {
    +        "chalk": "~2.4.1",
    +        "lodash": "~4.17.10"
    +      }
    +    },
    +    "grunt-legacy-util": {
    +      "version": "1.1.1",
    +      "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz",
    +      "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==",
    +      "requires": {
    +        "async": "~1.5.2",
    +        "exit": "~0.1.1",
    +        "getobject": "~0.1.0",
    +        "hooker": "~0.2.3",
    +        "lodash": "~4.17.10",
    +        "underscore.string": "~3.3.4",
    +        "which": "~1.3.0"
           }
         },
         "grunt-wordpress": {
    -      "version": "2.1.2",
    -      "resolved": "https://registry.npmjs.org/grunt-wordpress/-/grunt-wordpress-2.1.2.tgz",
    -      "integrity": "sha1-ue3Lv5jp6HM9F6gsMmWf2zbO2LE=",
    +      "version": "2.1.3",
    +      "resolved": "https://registry.npmjs.org/grunt-wordpress/-/grunt-wordpress-2.1.3.tgz",
    +      "integrity": "sha1-fNI9lBN9DDe+PybfZ4Y2FPUABXA=",
    +      "requires": {
    +        "gilded-wordpress": "1.0.5"
    +      }
    +    },
    +    "has-flag": {
    +      "version": "3.0.0",
    +      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
    +      "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0="
    +    },
    +    "has-value": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
    +      "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
           "requires": {
    -        "gilded-wordpress": "1.0.3"
    +        "get-value": "^2.0.6",
    +        "has-values": "^1.0.0",
    +        "isobject": "^3.0.0"
    +      }
    +    },
    +    "has-values": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
    +      "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
    +      "requires": {
    +        "is-number": "^3.0.0",
    +        "kind-of": "^4.0.0"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "4.0.0",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
    +          "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
           }
         },
         "he": {
    @@ -453,21 +971,34 @@
           "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-7.3.0.tgz",
           "integrity": "sha1-bF8PZOcHj2ZAK82/yJEQw/0bqZ8="
         },
    +    "homedir-polyfill": {
    +      "version": "1.0.3",
    +      "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz",
    +      "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==",
    +      "requires": {
    +        "parse-passwd": "^1.0.0"
    +      }
    +    },
         "hooker": {
           "version": "0.2.3",
           "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
           "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk="
         },
    +    "hosted-git-info": {
    +      "version": "2.8.4",
    +      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz",
    +      "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ=="
    +    },
         "htmlparser2": {
           "version": "3.7.3",
           "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz",
           "integrity": "sha1-amTHdjfAjG8w7CqBV6UzM758sF4=",
           "requires": {
    -        "domelementtype": "1.3.0",
    -        "domhandler": "2.2.1",
    -        "domutils": "1.5.1",
    -        "entities": "1.0.0",
    -        "readable-stream": "1.1.14"
    +        "domelementtype": "1",
    +        "domhandler": "2.2",
    +        "domutils": "1.5",
    +        "entities": "1.0",
    +        "readable-stream": "1.1"
           },
           "dependencies": {
             "domutils": {
    @@ -475,8 +1006,8 @@
               "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
               "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
               "requires": {
    -            "dom-serializer": "0.0.1",
    -            "domelementtype": "1.3.0"
    +            "dom-serializer": "0",
    +            "domelementtype": "1"
               }
             },
             "entities": {
    @@ -487,179 +1018,1190 @@
           }
         },
         "iconv-lite": {
    -      "version": "0.2.11",
    -      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
    -      "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg="
    +      "version": "0.4.24",
    +      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
    +      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
    +      "requires": {
    +        "safer-buffer": ">= 2.1.2 < 3"
    +      }
    +    },
    +    "indent-string": {
    +      "version": "2.1.0",
    +      "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz",
    +      "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=",
    +      "requires": {
    +        "repeating": "^2.0.0"
    +      }
         },
         "inflight": {
           "version": "1.0.6",
           "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
           "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
           "requires": {
    -        "once": "1.4.0",
    -        "wrappy": "1.0.2"
    +        "once": "^1.3.0",
    +        "wrappy": "1"
           }
         },
         "inherits": {
    -      "version": "2.0.3",
    -      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
    -      "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
    +      "version": "2.0.4",
    +      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
    +      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
         },
    -    "isarray": {
    -      "version": "0.0.1",
    -      "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
    -      "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
    +    "ini": {
    +      "version": "1.3.5",
    +      "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
    +      "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
         },
    -    "js-yaml": {
    -      "version": "2.0.5",
    -      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
    -      "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
    +    "interpret": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
    +      "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ="
    +    },
    +    "is-absolute": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
    +      "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
           "requires": {
    -        "argparse": "0.1.16",
    -        "esprima": "1.0.4"
    +        "is-relative": "^1.0.0",
    +        "is-windows": "^1.0.1"
           }
         },
    -    "lodash": {
    -      "version": "0.9.2",
    -      "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
    -      "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw="
    +    "is-accessor-descriptor": {
    +      "version": "0.1.6",
    +      "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
    +      "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
    +      "requires": {
    +        "kind-of": "^3.0.2"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
    +      }
         },
    -    "lru-cache": {
    -      "version": "2.7.3",
    -      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
    -      "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI="
    +    "is-arrayish": {
    +      "version": "0.2.1",
    +      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
    +      "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0="
         },
    -    "marked": {
    -      "version": "0.3.2",
    -      "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz",
    -      "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk="
    +    "is-buffer": {
    +      "version": "1.1.6",
    +      "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
    +      "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
         },
    -    "minimatch": {
    -      "version": "0.2.14",
    -      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
    -      "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
    +    "is-data-descriptor": {
    +      "version": "0.1.4",
    +      "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
    +      "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
           "requires": {
    -        "lru-cache": "2.7.3",
    -        "sigmund": "1.0.1"
    +        "kind-of": "^3.0.2"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
           }
         },
    -    "natives": {
    -      "version": "1.1.0",
    -      "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz",
    -      "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE="
    +    "is-descriptor": {
    +      "version": "0.1.6",
    +      "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
    +      "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
    +      "requires": {
    +        "is-accessor-descriptor": "^0.1.6",
    +        "is-data-descriptor": "^0.1.4",
    +        "kind-of": "^5.0.0"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "5.1.0",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
    +          "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw=="
    +        }
    +      }
         },
    -    "nopt": {
    -      "version": "1.0.10",
    -      "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
    -      "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
    +    "is-extendable": {
    +      "version": "0.1.1",
    +      "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
    +      "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik="
    +    },
    +    "is-extglob": {
    +      "version": "2.1.1",
    +      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
    +      "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI="
    +    },
    +    "is-finite": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz",
    +      "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=",
           "requires": {
    -        "abbrev": "1.1.0"
    +        "number-is-nan": "^1.0.0"
           }
         },
    -    "once": {
    -      "version": "1.4.0",
    -      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
    -      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
    +    "is-glob": {
    +      "version": "3.1.0",
    +      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
    +      "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
           "requires": {
    -        "wrappy": "1.0.2"
    +        "is-extglob": "^2.1.0"
           }
         },
    -    "path-is-absolute": {
    -      "version": "1.0.1",
    -      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
    -      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
    +    "is-number": {
    +      "version": "3.0.0",
    +      "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
    +      "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
    +      "requires": {
    +        "kind-of": "^3.0.2"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
    +      }
         },
    -    "readable-stream": {
    -      "version": "1.1.14",
    -      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
    -      "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
    +    "is-plain-object": {
    +      "version": "2.0.4",
    +      "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
    +      "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
           "requires": {
    -        "core-util-is": "1.0.2",
    -        "inherits": "2.0.3",
    -        "isarray": "0.0.1",
    -        "string_decoder": "0.10.31"
    +        "isobject": "^3.0.1"
           }
         },
    -    "resolve": {
    -      "version": "1.1.7",
    -      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
    -      "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs="
    +    "is-relative": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
    +      "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
    +      "requires": {
    +        "is-unc-path": "^1.0.0"
    +      }
         },
    -    "rimraf": {
    -      "version": "2.2.8",
    -      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
    -      "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI="
    +    "is-unc-path": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
    +      "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
    +      "requires": {
    +        "unc-path-regex": "^0.1.2"
    +      }
         },
    -    "sax": {
    -      "version": "0.6.1",
    -      "resolved": "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz",
    -      "integrity": "sha1-VjsZx8HeiS4Jv8Ty/DDjwn8JUrk="
    +    "is-utf8": {
    +      "version": "0.2.1",
    +      "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
    +      "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI="
         },
    -    "sigmund": {
    -      "version": "1.0.1",
    -      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
    -      "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA="
    +    "is-windows": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
    +      "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA=="
         },
    -    "spawnback": {
    +    "isarray": {
           "version": "1.0.0",
    -      "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz",
    -      "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8="
    -    },
    -    "string_decoder": {
    -      "version": "0.10.31",
    -      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
    -      "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
    -    },
    -    "underscore": {
    -      "version": "1.7.0",
    -      "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
    -      "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk="
    +      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
    +      "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE="
         },
    -    "underscore.string": {
    -      "version": "2.2.1",
    -      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
    -      "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk="
    +    "isexe": {
    +      "version": "2.0.0",
    +      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
    +      "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
         },
    -    "which": {
    -      "version": "1.0.9",
    -      "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
    -      "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8="
    +    "isobject": {
    +      "version": "3.0.1",
    +      "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
    +      "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8="
         },
    -    "wordpress": {
    -      "version": "1.1.2",
    -      "resolved": "https://registry.npmjs.org/wordpress/-/wordpress-1.1.2.tgz",
    -      "integrity": "sha1-uDZhhSBVSXESG8VsQ7A5yzgg94M=",
    +    "js-yaml": {
    +      "version": "3.13.1",
    +      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
    +      "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
           "requires": {
    -        "xmlrpc": "1.3.1"
    +        "argparse": "^1.0.7",
    +        "esprima": "^4.0.0"
           }
         },
    -    "wrappy": {
    -      "version": "1.0.2",
    -      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
    -      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
    +    "kind-of": {
    +      "version": "6.0.2",
    +      "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
    +      "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA=="
         },
    -    "xmlbuilder": {
    -      "version": "2.6.5",
    -      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.5.tgz",
    -      "integrity": "sha1-b/etYPty0idk8AehZLd/K/FABSY=",
    +    "liftoff": {
    +      "version": "2.5.0",
    +      "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
    +      "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
           "requires": {
    -        "lodash": "3.10.1"
    +        "extend": "^3.0.0",
    +        "findup-sync": "^2.0.0",
    +        "fined": "^1.0.1",
    +        "flagged-respawn": "^1.0.0",
    +        "is-plain-object": "^2.0.4",
    +        "object.map": "^1.0.0",
    +        "rechoir": "^0.6.2",
    +        "resolve": "^1.1.7"
           },
           "dependencies": {
    -        "lodash": {
    -          "version": "3.10.1",
    -          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
    -          "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y="
    +        "findup-sync": {
    +          "version": "2.0.0",
    +          "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
    +          "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
    +          "requires": {
    +            "detect-file": "^1.0.0",
    +            "is-glob": "^3.1.0",
    +            "micromatch": "^3.0.4",
    +            "resolve-dir": "^1.0.1"
    +          }
             }
           }
         },
    -    "xmlrpc": {
    -      "version": "1.3.1",
    -      "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.1.tgz",
    -      "integrity": "sha1-OqWCCG/vUwz+Hc2qDEyd3F0ORFE=",
    +    "load-json-file": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz",
    +      "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=",
    +      "requires": {
    +        "graceful-fs": "^4.1.2",
    +        "parse-json": "^2.2.0",
    +        "pify": "^2.0.0",
    +        "pinkie-promise": "^2.0.0",
    +        "strip-bom": "^2.0.0"
    +      }
    +    },
    +    "lodash": {
    +      "version": "4.17.15",
    +      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
    +      "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
    +    },
    +    "loud-rejection": {
    +      "version": "1.6.0",
    +      "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz",
    +      "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=",
    +      "requires": {
    +        "currently-unhandled": "^0.4.1",
    +        "signal-exit": "^3.0.0"
    +      }
    +    },
    +    "make-iterator": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
    +      "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
    +      "requires": {
    +        "kind-of": "^6.0.2"
    +      }
    +    },
    +    "map-cache": {
    +      "version": "0.2.2",
    +      "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
    +      "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8="
    +    },
    +    "map-obj": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz",
    +      "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0="
    +    },
    +    "map-visit": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
    +      "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
    +      "requires": {
    +        "object-visit": "^1.0.0"
    +      }
    +    },
    +    "marked": {
    +      "version": "0.3.2",
    +      "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz",
    +      "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk="
    +    },
    +    "meow": {
    +      "version": "3.7.0",
    +      "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz",
    +      "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=",
    +      "requires": {
    +        "camelcase-keys": "^2.0.0",
    +        "decamelize": "^1.1.2",
    +        "loud-rejection": "^1.0.0",
    +        "map-obj": "^1.0.1",
    +        "minimist": "^1.1.3",
    +        "normalize-package-data": "^2.3.4",
    +        "object-assign": "^4.0.1",
    +        "read-pkg-up": "^1.0.1",
    +        "redent": "^1.0.0",
    +        "trim-newlines": "^1.0.0"
    +      }
    +    },
    +    "micromatch": {
    +      "version": "3.1.10",
    +      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
    +      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
    +      "requires": {
    +        "arr-diff": "^4.0.0",
    +        "array-unique": "^0.3.2",
    +        "braces": "^2.3.1",
    +        "define-property": "^2.0.2",
    +        "extend-shallow": "^3.0.2",
    +        "extglob": "^2.0.4",
    +        "fragment-cache": "^0.2.1",
    +        "kind-of": "^6.0.2",
    +        "nanomatch": "^1.2.9",
    +        "object.pick": "^1.3.0",
    +        "regex-not": "^1.0.0",
    +        "snapdragon": "^0.8.1",
    +        "to-regex": "^3.0.2"
    +      }
    +    },
    +    "minimatch": {
    +      "version": "3.0.4",
    +      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
    +      "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
    +      "requires": {
    +        "brace-expansion": "^1.1.7"
    +      }
    +    },
    +    "minimist": {
    +      "version": "1.2.0",
    +      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
    +      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
    +    },
    +    "mixin-deep": {
    +      "version": "1.3.2",
    +      "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
    +      "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
    +      "requires": {
    +        "for-in": "^1.0.2",
    +        "is-extendable": "^1.0.1"
    +      },
    +      "dependencies": {
    +        "is-extendable": {
    +          "version": "1.0.1",
    +          "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
    +          "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
    +          "requires": {
    +            "is-plain-object": "^2.0.4"
    +          }
    +        }
    +      }
    +    },
    +    "mkdirp": {
    +      "version": "0.5.1",
    +      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
    +      "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
    +      "requires": {
    +        "minimist": "0.0.8"
    +      },
    +      "dependencies": {
    +        "minimist": {
    +          "version": "0.0.8",
    +          "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
    +          "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
    +        }
    +      }
    +    },
    +    "ms": {
    +      "version": "2.0.0",
    +      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
    +      "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
    +    },
    +    "nanomatch": {
    +      "version": "1.2.13",
    +      "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
    +      "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
    +      "requires": {
    +        "arr-diff": "^4.0.0",
    +        "array-unique": "^0.3.2",
    +        "define-property": "^2.0.2",
    +        "extend-shallow": "^3.0.2",
    +        "fragment-cache": "^0.2.1",
    +        "is-windows": "^1.0.2",
    +        "kind-of": "^6.0.2",
    +        "object.pick": "^1.3.0",
    +        "regex-not": "^1.0.0",
    +        "snapdragon": "^0.8.1",
    +        "to-regex": "^3.0.1"
    +      }
    +    },
    +    "nopt": {
    +      "version": "3.0.6",
    +      "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
    +      "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
    +      "requires": {
    +        "abbrev": "1"
    +      }
    +    },
    +    "normalize-package-data": {
    +      "version": "2.5.0",
    +      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz",
    +      "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
    +      "requires": {
    +        "hosted-git-info": "^2.1.4",
    +        "resolve": "^1.10.0",
    +        "semver": "2 || 3 || 4 || 5",
    +        "validate-npm-package-license": "^3.0.1"
    +      }
    +    },
    +    "number-is-nan": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
    +      "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0="
    +    },
    +    "object-assign": {
    +      "version": "4.1.1",
    +      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
    +      "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM="
    +    },
    +    "object-copy": {
    +      "version": "0.1.0",
    +      "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
    +      "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
    +      "requires": {
    +        "copy-descriptor": "^0.1.0",
    +        "define-property": "^0.2.5",
    +        "kind-of": "^3.0.3"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "0.2.5",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
    +          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
    +          "requires": {
    +            "is-descriptor": "^0.1.0"
    +          }
    +        },
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
    +      }
    +    },
    +    "object-visit": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
    +      "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
    +      "requires": {
    +        "isobject": "^3.0.0"
    +      }
    +    },
    +    "object.defaults": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
    +      "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
    +      "requires": {
    +        "array-each": "^1.0.1",
    +        "array-slice": "^1.0.0",
    +        "for-own": "^1.0.0",
    +        "isobject": "^3.0.0"
    +      }
    +    },
    +    "object.map": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
    +      "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
    +      "requires": {
    +        "for-own": "^1.0.0",
    +        "make-iterator": "^1.0.0"
    +      }
    +    },
    +    "object.pick": {
    +      "version": "1.3.0",
    +      "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
    +      "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
    +      "requires": {
    +        "isobject": "^3.0.1"
    +      }
    +    },
    +    "once": {
    +      "version": "1.4.0",
    +      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
    +      "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
    +      "requires": {
    +        "wrappy": "1"
    +      }
    +    },
    +    "os-homedir": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
    +      "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
    +    },
    +    "os-tmpdir": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
    +      "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ="
    +    },
    +    "osenv": {
    +      "version": "0.1.5",
    +      "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
    +      "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
    +      "requires": {
    +        "os-homedir": "^1.0.0",
    +        "os-tmpdir": "^1.0.0"
    +      }
    +    },
    +    "parse-filepath": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
    +      "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
    +      "requires": {
    +        "is-absolute": "^1.0.0",
    +        "map-cache": "^0.2.0",
    +        "path-root": "^0.1.1"
    +      }
    +    },
    +    "parse-json": {
    +      "version": "2.2.0",
    +      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz",
    +      "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=",
    +      "requires": {
    +        "error-ex": "^1.2.0"
    +      }
    +    },
    +    "parse-passwd": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
    +      "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY="
    +    },
    +    "pascalcase": {
    +      "version": "0.1.1",
    +      "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
    +      "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ="
    +    },
    +    "path-exists": {
    +      "version": "2.1.0",
    +      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
    +      "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
    +      "requires": {
    +        "pinkie-promise": "^2.0.0"
    +      }
    +    },
    +    "path-is-absolute": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
    +      "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
    +    },
    +    "path-parse": {
    +      "version": "1.0.6",
    +      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
    +      "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
    +    },
    +    "path-root": {
    +      "version": "0.1.1",
    +      "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
    +      "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
    +      "requires": {
    +        "path-root-regex": "^0.1.0"
    +      }
    +    },
    +    "path-root-regex": {
    +      "version": "0.1.2",
    +      "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
    +      "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0="
    +    },
    +    "path-type": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz",
    +      "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=",
    +      "requires": {
    +        "graceful-fs": "^4.1.2",
    +        "pify": "^2.0.0",
    +        "pinkie-promise": "^2.0.0"
    +      }
    +    },
    +    "pify": {
    +      "version": "2.3.0",
    +      "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
    +      "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
    +    },
    +    "pinkie": {
    +      "version": "2.0.4",
    +      "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
    +      "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA="
    +    },
    +    "pinkie-promise": {
    +      "version": "2.0.1",
    +      "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
    +      "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
    +      "requires": {
    +        "pinkie": "^2.0.0"
    +      }
    +    },
    +    "posix-character-classes": {
    +      "version": "0.1.1",
    +      "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
    +      "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs="
    +    },
    +    "read-pkg": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz",
    +      "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=",
    +      "requires": {
    +        "load-json-file": "^1.0.0",
    +        "normalize-package-data": "^2.3.2",
    +        "path-type": "^1.0.0"
    +      }
    +    },
    +    "read-pkg-up": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz",
    +      "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=",
    +      "requires": {
    +        "find-up": "^1.0.0",
    +        "read-pkg": "^1.0.0"
    +      }
    +    },
    +    "readable-stream": {
    +      "version": "1.1.14",
    +      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
    +      "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
    +      "requires": {
    +        "core-util-is": "~1.0.0",
    +        "inherits": "~2.0.1",
    +        "isarray": "0.0.1",
    +        "string_decoder": "~0.10.x"
    +      },
    +      "dependencies": {
    +        "isarray": {
    +          "version": "0.0.1",
    +          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
    +          "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8="
    +        }
    +      }
    +    },
    +    "rechoir": {
    +      "version": "0.6.2",
    +      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
    +      "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
    +      "requires": {
    +        "resolve": "^1.1.6"
    +      }
    +    },
    +    "redent": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz",
    +      "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=",
    +      "requires": {
    +        "indent-string": "^2.1.0",
    +        "strip-indent": "^1.0.1"
    +      }
    +    },
    +    "regex-not": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
    +      "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
    +      "requires": {
    +        "extend-shallow": "^3.0.2",
    +        "safe-regex": "^1.1.0"
    +      }
    +    },
    +    "repeat-element": {
    +      "version": "1.1.3",
    +      "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
    +      "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g=="
    +    },
    +    "repeat-string": {
    +      "version": "1.6.1",
    +      "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
    +      "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc="
    +    },
    +    "repeating": {
    +      "version": "2.0.1",
    +      "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz",
    +      "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=",
    +      "requires": {
    +        "is-finite": "^1.0.0"
    +      }
    +    },
    +    "resolve": {
    +      "version": "1.12.0",
    +      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz",
    +      "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==",
    +      "requires": {
    +        "path-parse": "^1.0.6"
    +      }
    +    },
    +    "resolve-dir": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
    +      "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
    +      "requires": {
    +        "expand-tilde": "^2.0.0",
    +        "global-modules": "^1.0.0"
    +      }
    +    },
    +    "resolve-url": {
    +      "version": "0.2.1",
    +      "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
    +      "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo="
    +    },
    +    "ret": {
    +      "version": "0.1.15",
    +      "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
    +      "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg=="
    +    },
    +    "rimraf": {
    +      "version": "2.6.3",
    +      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz",
    +      "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==",
    +      "requires": {
    +        "glob": "^7.1.3"
    +      },
    +      "dependencies": {
    +        "glob": {
    +          "version": "7.1.4",
    +          "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
    +          "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==",
    +          "requires": {
    +            "fs.realpath": "^1.0.0",
    +            "inflight": "^1.0.4",
    +            "inherits": "2",
    +            "minimatch": "^3.0.4",
    +            "once": "^1.3.0",
    +            "path-is-absolute": "^1.0.0"
    +          }
    +        }
    +      }
    +    },
    +    "safe-regex": {
    +      "version": "1.1.0",
    +      "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
    +      "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
    +      "requires": {
    +        "ret": "~0.1.10"
    +      }
    +    },
    +    "safer-buffer": {
    +      "version": "2.1.2",
    +      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
    +      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
    +    },
    +    "sax": {
    +      "version": "1.2.4",
    +      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
    +      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
    +    },
    +    "semver": {
    +      "version": "5.7.1",
    +      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
    +      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
    +    },
    +    "set-value": {
    +      "version": "2.0.1",
    +      "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz",
    +      "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==",
    +      "requires": {
    +        "extend-shallow": "^2.0.1",
    +        "is-extendable": "^0.1.1",
    +        "is-plain-object": "^2.0.3",
    +        "split-string": "^3.0.1"
    +      },
    +      "dependencies": {
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
    +          "requires": {
    +            "is-extendable": "^0.1.0"
    +          }
    +        }
    +      }
    +    },
    +    "signal-exit": {
    +      "version": "3.0.2",
    +      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
    +      "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0="
    +    },
    +    "snapdragon": {
    +      "version": "0.8.2",
    +      "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
    +      "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
    +      "requires": {
    +        "base": "^0.11.1",
    +        "debug": "^2.2.0",
    +        "define-property": "^0.2.5",
    +        "extend-shallow": "^2.0.1",
    +        "map-cache": "^0.2.2",
    +        "source-map": "^0.5.6",
    +        "source-map-resolve": "^0.5.0",
    +        "use": "^3.1.0"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "0.2.5",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
    +          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
    +          "requires": {
    +            "is-descriptor": "^0.1.0"
    +          }
    +        },
    +        "extend-shallow": {
    +          "version": "2.0.1",
    +          "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
    +          "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
    +          "requires": {
    +            "is-extendable": "^0.1.0"
    +          }
    +        }
    +      }
    +    },
    +    "snapdragon-node": {
    +      "version": "2.1.1",
    +      "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
    +      "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
    +      "requires": {
    +        "define-property": "^1.0.0",
    +        "isobject": "^3.0.0",
    +        "snapdragon-util": "^3.0.1"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
    +          "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
    +          "requires": {
    +            "is-descriptor": "^1.0.0"
    +          }
    +        },
    +        "is-accessor-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-data-descriptor": {
    +          "version": "1.0.0",
    +          "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
    +          "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
    +          "requires": {
    +            "kind-of": "^6.0.0"
    +          }
    +        },
    +        "is-descriptor": {
    +          "version": "1.0.2",
    +          "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
    +          "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
    +          "requires": {
    +            "is-accessor-descriptor": "^1.0.0",
    +            "is-data-descriptor": "^1.0.0",
    +            "kind-of": "^6.0.2"
    +          }
    +        }
    +      }
    +    },
    +    "snapdragon-util": {
    +      "version": "3.0.1",
    +      "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
    +      "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
    +      "requires": {
    +        "kind-of": "^3.2.0"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
    +      }
    +    },
    +    "source-map": {
    +      "version": "0.5.7",
    +      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
    +      "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w="
    +    },
    +    "source-map-resolve": {
    +      "version": "0.5.2",
    +      "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
    +      "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
    +      "requires": {
    +        "atob": "^2.1.1",
    +        "decode-uri-component": "^0.2.0",
    +        "resolve-url": "^0.2.1",
    +        "source-map-url": "^0.4.0",
    +        "urix": "^0.1.0"
    +      }
    +    },
    +    "source-map-url": {
    +      "version": "0.4.0",
    +      "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
    +      "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM="
    +    },
    +    "spawnback": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz",
    +      "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8="
    +    },
    +    "spdx-correct": {
    +      "version": "3.1.0",
    +      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz",
    +      "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==",
    +      "requires": {
    +        "spdx-expression-parse": "^3.0.0",
    +        "spdx-license-ids": "^3.0.0"
    +      }
    +    },
    +    "spdx-exceptions": {
    +      "version": "2.2.0",
    +      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz",
    +      "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA=="
    +    },
    +    "spdx-expression-parse": {
    +      "version": "3.0.0",
    +      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz",
    +      "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==",
    +      "requires": {
    +        "spdx-exceptions": "^2.1.0",
    +        "spdx-license-ids": "^3.0.0"
    +      }
    +    },
    +    "spdx-license-ids": {
    +      "version": "3.0.5",
    +      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz",
    +      "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q=="
    +    },
    +    "split-string": {
    +      "version": "3.1.0",
    +      "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
    +      "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
    +      "requires": {
    +        "extend-shallow": "^3.0.0"
    +      }
    +    },
    +    "sprintf-js": {
    +      "version": "1.1.2",
    +      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
    +      "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
    +    },
    +    "static-extend": {
    +      "version": "0.1.2",
    +      "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
    +      "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
    +      "requires": {
    +        "define-property": "^0.2.5",
    +        "object-copy": "^0.1.0"
    +      },
    +      "dependencies": {
    +        "define-property": {
    +          "version": "0.2.5",
    +          "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
    +          "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
    +          "requires": {
    +            "is-descriptor": "^0.1.0"
    +          }
    +        }
    +      }
    +    },
    +    "string_decoder": {
    +      "version": "0.10.31",
    +      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
    +      "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
    +    },
    +    "strip-bom": {
    +      "version": "2.0.0",
    +      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
    +      "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
    +      "requires": {
    +        "is-utf8": "^0.2.0"
    +      }
    +    },
    +    "strip-indent": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz",
    +      "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=",
    +      "requires": {
    +        "get-stdin": "^4.0.1"
    +      }
    +    },
    +    "supports-color": {
    +      "version": "5.5.0",
    +      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
    +      "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
    +      "requires": {
    +        "has-flag": "^3.0.0"
    +      }
    +    },
    +    "to-object-path": {
    +      "version": "0.3.0",
    +      "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
    +      "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
    +      "requires": {
    +        "kind-of": "^3.0.2"
    +      },
    +      "dependencies": {
    +        "kind-of": {
    +          "version": "3.2.2",
    +          "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
    +          "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
    +          "requires": {
    +            "is-buffer": "^1.1.5"
    +          }
    +        }
    +      }
    +    },
    +    "to-regex": {
    +      "version": "3.0.2",
    +      "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
    +      "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
    +      "requires": {
    +        "define-property": "^2.0.2",
    +        "extend-shallow": "^3.0.2",
    +        "regex-not": "^1.0.2",
    +        "safe-regex": "^1.1.0"
    +      }
    +    },
    +    "to-regex-range": {
    +      "version": "2.1.1",
    +      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
    +      "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
    +      "requires": {
    +        "is-number": "^3.0.0",
    +        "repeat-string": "^1.6.1"
    +      }
    +    },
    +    "trim-newlines": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz",
    +      "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM="
    +    },
    +    "unc-path-regex": {
    +      "version": "0.1.2",
    +      "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
    +      "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
    +    },
    +    "underscore.string": {
    +      "version": "3.3.5",
    +      "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz",
    +      "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==",
    +      "requires": {
    +        "sprintf-js": "^1.0.3",
    +        "util-deprecate": "^1.0.2"
    +      }
    +    },
    +    "union-value": {
    +      "version": "1.0.1",
    +      "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
    +      "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==",
    +      "requires": {
    +        "arr-union": "^3.1.0",
    +        "get-value": "^2.0.6",
    +        "is-extendable": "^0.1.1",
    +        "set-value": "^2.0.1"
    +      }
    +    },
    +    "unset-value": {
    +      "version": "1.0.0",
    +      "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
    +      "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
    +      "requires": {
    +        "has-value": "^0.3.1",
    +        "isobject": "^3.0.0"
    +      },
    +      "dependencies": {
    +        "has-value": {
    +          "version": "0.3.1",
    +          "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
    +          "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
    +          "requires": {
    +            "get-value": "^2.0.3",
    +            "has-values": "^0.1.4",
    +            "isobject": "^2.0.0"
    +          },
    +          "dependencies": {
    +            "isobject": {
    +              "version": "2.1.0",
    +              "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
    +              "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
    +              "requires": {
    +                "isarray": "1.0.0"
    +              }
    +            }
    +          }
    +        },
    +        "has-values": {
    +          "version": "0.1.4",
    +          "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
    +          "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E="
    +        }
    +      }
    +    },
    +    "urix": {
    +      "version": "0.1.0",
    +      "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
    +      "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI="
    +    },
    +    "use": {
    +      "version": "3.1.1",
    +      "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
    +      "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ=="
    +    },
    +    "util-deprecate": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
    +      "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8="
    +    },
    +    "v8flags": {
    +      "version": "3.1.3",
    +      "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz",
    +      "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==",
    +      "requires": {
    +        "homedir-polyfill": "^1.0.1"
    +      }
    +    },
    +    "validate-npm-package-license": {
    +      "version": "3.0.4",
    +      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
    +      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
    +      "requires": {
    +        "spdx-correct": "^3.0.0",
    +        "spdx-expression-parse": "^3.0.0"
    +      }
    +    },
    +    "which": {
    +      "version": "1.3.1",
    +      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
    +      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
    +      "requires": {
    +        "isexe": "^2.0.0"
    +      }
    +    },
    +    "wordpress": {
    +      "version": "1.3.0",
    +      "resolved": "https://registry.npmjs.org/wordpress/-/wordpress-1.3.0.tgz",
    +      "integrity": "sha1-0LxIUVOktTh3B+O8yRZqDBPpcS8=",
    +      "requires": {
    +        "xmlrpc": "1.3.2"
    +      }
    +    },
    +    "wrappy": {
    +      "version": "1.0.2",
    +      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
    +      "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
    +    },
    +    "xmlbuilder": {
    +      "version": "8.2.2",
    +      "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz",
    +      "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M="
    +    },
    +    "xmlrpc": {
    +      "version": "1.3.2",
    +      "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz",
    +      "integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=",
           "requires": {
    -        "sax": "0.6.1",
    -        "xmlbuilder": "2.6.5"
    +        "sax": "1.2.x",
    +        "xmlbuilder": "8.2.x"
           }
         }
       }
    diff --git a/package.json b/package.json
    index 355f6217..e0cf10d1 100644
    --- a/package.json
    +++ b/package.json
    @@ -24,8 +24,8 @@
         "test": "grunt lint"
       },
       "dependencies": {
    -    "grunt": "0.4.5",
    -    "grunt-cli": "1.1.0",
    -    "grunt-jquery-content": "3.0.1"
    +    "grunt": "1.0.4",
    +    "grunt-cli": "1.3.2",
    +    "grunt-jquery-content": "3.0.3"
       }
     }
    
    From 92a40f605de36947b784c05786b59e70eda21ac0 Mon Sep 17 00:00:00 2001
    From: Brian Leishman 
    Date: Thu, 29 Aug 2019 19:51:44 -0400
    Subject: [PATCH 074/222] find: Clarify selectors are scoped to context
    
    Clarify that jQuery uses a different context scoping mechanism than native querySelectorAll.
    
    Closes gh-1135
    ---
     entries/find.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/entries/find.xml b/entries/find.xml
    index c6a32e84..fc10241b 100644
    --- a/entries/find.xml
    +++ b/entries/find.xml
    @@ -18,7 +18,7 @@
       Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element.
       
         

    Given a jQuery object that represents a set of DOM elements, the .find() method allows us to search through the descendants of these elements in the DOM tree and construct a new jQuery object from the matching elements. The .find() and .children() methods are similar, except that the latter only travels a single level down the DOM tree.

    -

    The first signature for the .find()method accepts a selector expression of the same type that we can pass to the $() function. The elements will be filtered by testing whether they match this selector. The expressions allowed include selectors like > p which will find all the paragraphs that are children of the elements in the jQuery object.

    +

    The first signature for the .find()method accepts a selector expression of the same type that we can pass to the $() function. The elements will be filtered by testing whether they match this selector; all parts of the selector must lie inside of an element on which .find() is called. The expressions allowed include selectors like > p which will find all the paragraphs that are children of the elements in the jQuery object.

    Consider a page with a basic nested list on it:

    
     <ul class="level-1">
    
    From 9e4b6b8260a0f020a42ec0f16652194e2fb4b927 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
     
    Date: Fri, 30 Aug 2019 01:52:40 +0200
    Subject: [PATCH 075/222] 1.12.40
    
    ---
     package-lock.json | 2 +-
     package.json      | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/package-lock.json b/package-lock.json
    index c0781a3e..7a361581 100644
    --- a/package-lock.json
    +++ b/package-lock.json
    @@ -1,6 +1,6 @@
     {
       "name": "api.jquery.com",
    -  "version": "1.12.39",
    +  "version": "1.12.40",
       "lockfileVersion": 1,
       "requires": true,
       "dependencies": {
    diff --git a/package.json b/package.json
    index e0cf10d1..f76c24d0 100644
    --- a/package.json
    +++ b/package.json
    @@ -2,7 +2,7 @@
       "name": "api.jquery.com",
       "title": "jQuery API Docs",
       "description": "API reference documentation for the jQuery JavaScript Library.",
    -  "version": "1.12.39",
    +  "version": "1.12.40",
       "homepage": "https://github.com/jquery/api.jquery.com",
       "author": {
         "name": "jQuery Foundation and other contributors"
    
    From 21e1e632887c9ff57a137957b823b01331d0a8b5 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
     
    Date: Fri, 30 Aug 2019 12:33:51 +0200
    Subject: [PATCH 076/222] 1.12.41
    
    ---
     package.json | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/package.json b/package.json
    index f76c24d0..079abd1d 100644
    --- a/package.json
    +++ b/package.json
    @@ -2,7 +2,7 @@
       "name": "api.jquery.com",
       "title": "jQuery API Docs",
       "description": "API reference documentation for the jQuery JavaScript Library.",
    -  "version": "1.12.40",
    +  "version": "1.12.41",
       "homepage": "https://github.com/jquery/api.jquery.com",
       "author": {
         "name": "jQuery Foundation and other contributors"
    
    From eb5c9002b60327e0666f103159c120863e2c6665 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?=
     
    Date: Mon, 2 Sep 2019 18:11:57 +0200
    Subject: [PATCH 077/222] All: Mark positional selectors as deprecated since
     jQuery 3.4.0
    
    Positional selectors: :first, :last, :eq, :even, :odd, :lt, :gt, and :nth are
    deprecated since jQuery 3.4.0. This is now reflected in the docs & deprecated
    pseudo-classes are not used in examples on other API pages.
    
    Fixes gh-1144
    Closes gh-1145
    ---
     categories.xml                        |  9 +++++++--
     entries/addClass.xml                  |  2 +-
     entries/animate.xml                   |  4 ++--
     entries/children.xml                  |  4 ++--
     entries/contextmenu.xml               |  2 +-
     entries/data.xml                      |  4 ++--
     entries/dblclick.xml                  |  2 +-
     entries/end.xml                       |  2 +-
     entries/eq-selector.xml               |  4 +++-
     entries/even-selector.xml             |  3 ++-
     entries/fadeIn.xml                    |  2 +-
     entries/fadeTo.xml                    |  6 +++---
     entries/fadeToggle.xml                |  8 ++++----
     entries/first-child-selector.xml      |  2 +-
     entries/first-selector.xml            |  4 +++-
     entries/get.xml                       |  2 +-
     entries/gt-selector.xml               |  4 +++-
     entries/hasClass.xml                  |  4 ++--
     entries/hidden-selector.xml           |  4 ++--
     entries/hover.xml                     |  2 +-
     entries/index.xml                     |  4 ++--
     entries/innerHeight.xml               |  4 ++--
     entries/innerWidth.xml                |  4 ++--
     entries/is.xml                        |  2 --
     entries/jQuery.data.xml               |  4 ++--
     entries/jQuery.removeData.xml         |  8 ++++----
     entries/jQuery.unique.xml             |  4 ++--
     entries/jQuery.uniqueSort.xml         |  4 ++--
     entries/last-child-selector.xml       |  2 +-
     entries/last-selector.xml             |  6 ++++--
     entries/lt-selector.xml               |  4 +++-
     entries/mouseenter.xml                | 12 ++++++------
     entries/mouseleave.xml                | 12 ++++++------
     entries/mousemove.xml                 |  4 ++--
     entries/mouseout.xml                  | 12 ++++++------
     entries/nextAll.xml                   |  2 +-
     entries/nth-child-selector.xml        |  4 ++--
     entries/nth-last-child-selector.xml   |  2 +-
     entries/nth-last-of-type-selector.xml |  2 +-
     entries/nth-of-type-selector.xml      |  2 +-
     entries/odd-selector.xml              |  3 ++-
     entries/offset.xml                    |  4 ++--
     entries/outerHeight.xml               |  4 ++--
     entries/outerWidth.xml                |  4 ++--
     entries/position.xml                  |  4 ++--
     entries/prevAll.xml                   |  2 +-
     entries/removeClass.xml               |  4 ++--
     entries/removeData.xml                |  8 ++++----
     entries/scrollLeft.xml                |  4 ++--
     entries/scrollTop.xml                 |  4 ++--
     entries/slideDown.xml                 |  2 +-
     entries/slideUp.xml                   |  2 +-
     entries/submit.xml                    |  4 ++--
     entries/text.xml                      |  4 ++--
     entries/trigger.xml                   | 14 +++++++-------
     55 files changed, 127 insertions(+), 112 deletions(-)
    
    diff --git a/categories.xml b/categories.xml
    index c02b93b3..78f012b1 100644
    --- a/categories.xml
    +++ b/categories.xml
    @@ -71,14 +71,19 @@
             

    For more information, see the Release Notes/Changelog at https://blog.jquery.com/2016/06/09/jquery-3-0-final-released/

    ]]> - + + + + - + diff --git a/entries/addClass.xml b/entries/addClass.xml index 5dd99ec5..3b28a708 100644 --- a/entries/addClass.xml +++ b/entries/addClass.xml @@ -64,7 +64,7 @@ $( "p" ).last().addClass( "selected" ); Add the classes "selected" and "highlight" to the matched elements. Store then retrieve a value from the div element.
    @@ -128,8 +128,8 @@ var getPos = function( n ) { $( "p" ).each(function( n ) { var r = Math.floor( Math.random() * 3 ); var tmp = $( this ).text(); - $( this ).text( $( "p:eq(" + r + ")" ).text() ); - $( "p:eq(" + r + ")" ).text( tmp ); + $( this ).text( $( "p" ).eq( r ).text() ); + $( "p" ).eq( r ).text( tmp ); $( this ).css( "left", getPos( n ) ); }); $( "div" ) diff --git a/entries/fadeToggle.xml b/entries/fadeToggle.xml index f3906b45..b4d4fb0b 100644 --- a/entries/fadeToggle.xml +++ b/entries/fadeToggle.xml @@ -26,11 +26,11 @@ Fades first paragraph in or out, completing the animation within 600 milliseconds and using a linear easing. Fades last paragraph in or out for 200 milliseconds, inserting a "finished" message upon completion.
    300 diff --git a/entries/mouseout.xml b/entries/mouseout.xml index 57304cb1..d95273c5 100644 --- a/entries/mouseout.xml +++ b/entries/mouseout.xml @@ -85,21 +85,21 @@ $( "#other" ).click(function() { var i = 0; $( "div.overout" ) .mouseout(function() { - $( "p:first", this ).text( "mouse out" ); - $( "p:last", this ).text( ++i ); + $( "p", this ).first().text( "mouse out" ); + $( "p", this ).last().text( ++i ); }) .mouseover(function() { - $( "p:first", this ).text( "mouse over" ); + $( "p", this ).first().text( "mouse over" ); }); var n = 0; $( "div.enterleave" ) .on( "mouseenter", function() { - $( "p:first", this ).text( "mouse enter" ); + $( "p", this ).first().text( "mouse enter" ); }) .on( "mouseleave", function() { - $( "p:first", this ).text( "mouse leave" ); - $( "p:last", this ).text( ++n ); + $( "p", this ).first().text( "mouse leave" ); + $( "p", this ).last().text( ++n ); }); ]]> @@ -101,7 +101,7 @@ $( "*", document.body ).click(function( event ) { Set the offset of the second paragraph: diff --git a/entries/outerWidth.xml b/entries/outerWidth.xml index cfb07bc8..c8e6f87e 100644 --- a/entries/outerWidth.xml +++ b/entries/outerWidth.xml @@ -23,8 +23,8 @@ Get the outerWidth of a paragraph. diff --git a/entries/position.xml b/entries/position.xml index 3eed46b4..60b3e6a2 100644 --- a/entries/position.xml +++ b/entries/position.xml @@ -16,9 +16,9 @@ Access the position of the second paragraph: diff --git a/entries/text.xml b/entries/text.xml index 3752dd10..ff9c537e 100644 --- a/entries/text.xml +++ b/entries/text.xml @@ -28,8 +28,8 @@ Find the text in the first paragraph (stripping out the html), then set the html of the last paragraph to show it is just text (the red bold is gone). Clicks to button #2 also trigger a click for button #1. To submit the first form without using the submit() function, try: Date: Tue, 3 Sep 2019 20:14:25 +0200 Subject: [PATCH 079/222] All: Upgrade jQuery used in examples from 1.10.2 to 3.4.1 The upgrade is necessary to be able to write examples for newer APIs. Examples for removed APIs have been removed as they'd no longer work. Fixes gh-982 Closes gh-1148 --- entries/andSelf.xml | 68 ++------------------------------- entries/context.xml | 7 ++-- entries/deferred.isRejected.xml | 4 +- entries/deferred.isResolved.xml | 4 +- entries/die.xml | 3 ++ entries/error.xml | 5 ++- entries/jQuery.boxModel.xml | 8 +++- entries/jQuery.browser.xml | 6 +++ entries/jQuery.sub.xml | 6 +-- entries/live.xml | 4 +- entries/load-event.xml | 3 ++ entries/selector.xml | 4 +- entries/size.xml | 26 ++----------- entries/unload.xml | 3 ++ entries2html.xsl | 2 +- 15 files changed, 50 insertions(+), 103 deletions(-) diff --git a/entries/andSelf.xml b/entries/andSelf.xml index 5adfd1ae..967c72ef 100644 --- a/entries/andSelf.xml +++ b/entries/andSelf.xml @@ -6,72 +6,10 @@ Add the previous set of elements on the stack to the current set. -

    Note: This function has been deprecated and is now an alias for .addBack(), which should be used with jQuery 1.8 and later.

    -

    As described in the discussion for .end(), jQuery objects maintain an internal stack that keeps track of changes to the matched set of elements. When one of the DOM traversal methods is called, the new set of elements is pushed onto the stack. If the previous set of elements is desired as well, .andSelf() can help.

    -

    Consider a page with a simple list on it:

    -
    
    -<ul>
    -  <li>list item 1</li>
    -  <li>list item 2</li>
    -  <li class="third-item">list item 3</li>
    -  <li>list item 4</li>
    -  <li>list item 5</li>
    -</ul>
    -    
    -

    The result of the following code is a red background behind items 3, 4 and 5:

    -
    
    -$( "li.third-item" ).nextAll().andSelf()
    -  .css( "background-color", "red" );
    -    
    -

    First, the initial selector locates item 3, initializing the stack with the set containing just this item. The call to .nextAll() then pushes the set of items 4 and 5 onto the stack. Finally, the .andSelf() invocation merges these two sets together, creating a jQuery object that points to all three items in document order: [ <li.third-item>, <li>, <li> ].

    +
    +

    Note: This API has been removed in jQuery 3.0; use .addBack() instead, which should work identically.

    +
    - - The .andSelf() method causes the previous set of DOM elements in the traversal stack to be added to the current set. In the first example, the top stack contains the set resulting from .find("p"). In the second example, .andSelf() adds the previous set of elements on the stack — in this case $( "div.after-andself" ) — to the current set, selecting both the div and its enclosed paragraphs. - - - - diff --git a/entries/context.xml b/entries/context.xml index 5fc5362a..496c833a 100644 --- a/entries/context.xml +++ b/entries/context.xml @@ -6,7 +6,9 @@ The DOM node context originally passed to jQuery(); if none was passed then context will likely be the document. -

    The .context property was deprecated in jQuery 1.10 and is only maintained to the extent needed for supporting .live() in the jQuery Migrate plugin. It may be removed without notice in a future version.

    +
    +

    Note: This API has been removed in jQuery 3.0.

    +

    The .live() method for binding event handlers uses this property to determine the root element to use for its event delegation needs.

    The value of this property is typically equal to document, as this is the default context for jQuery objects if none is supplied. The context may differ if, for example, the object was created by searching within an <iframe> or XML document.

    Note that the context property may only apply to the elements originally selected by jQuery(), as it is possible for the user to add elements to the collection via methods such as .add() and these may have a different context.

    @@ -18,9 +20,6 @@ $( "ul" ) .append( "
  • " + $( "ul" ).context + "
  • " ) .append( "
  • " + $( "ul", document.body ).context.nodeName + "
  • " ); ]]>
    -
    diff --git a/entries/deferred.isRejected.xml b/entries/deferred.isRejected.xml index 5fdd1e95..60ddb77b 100644 --- a/entries/deferred.isRejected.xml +++ b/entries/deferred.isRejected.xml @@ -6,7 +6,9 @@ Determine whether a Deferred object has been rejected. -

    As of jQuery 1.7 this API has been deprecated; please use deferred.state() instead.

    +
    +

    Note: This API has been removed in jQuery 1.8; please use deferred.state() instead.

    +

    Returns true if the Deferred object is in the rejected state, meaning that either deferred.reject() or deferred.rejectWith() has been called for the object and the failCallbacks have been called (or are in the process of being called).

    Note that a Deferred object can be in one of three states: pending, resolved, or rejected; use deferred.isResolved() to determine whether the Deferred object is in the resolved state. These methods are primarily useful for debugging, for example to determine whether a Deferred has already been resolved even though you are inside code that intended to reject it.

    diff --git a/entries/deferred.isResolved.xml b/entries/deferred.isResolved.xml index b5941322..9c046e5a 100644 --- a/entries/deferred.isResolved.xml +++ b/entries/deferred.isResolved.xml @@ -6,7 +6,9 @@ Determine whether a Deferred object has been resolved. -

    This API is deprecated as of jQuery 1.7 and removed as of jQuery 1.8; please use deferred.state() instead.

    +
    +

    Note: This API has been removed in jQuery 1.8; please use deferred.state() instead.

    +

    Returns true if the Deferred object is in the resolved state, meaning that either deferred.resolve() or deferred.resolveWith() has been called for the object and the doneCallbacks have been called (or are in the process of being called).

    Note that a Deferred object can be in one of three states: pending, resolved, or rejected; use deferred.isRejected() to determine whether the Deferred object is in the rejected state. These methods are primarily useful for debugging, for example to determine whether a Deferred has already been resolved even though you are inside code that intended to reject it.

    diff --git a/entries/die.xml b/entries/die.xml index a3d038ec..efe2e614 100644 --- a/entries/die.xml +++ b/entries/die.xml @@ -21,6 +21,9 @@ +
    +

    Note: This API has been removed in jQuery 1.9; please use on() instead.

    +

    Any handler that has been attached with .live() can be removed with .die(). This method is analogous to calling .off() with no arguments, which is used to remove all handlers attached with .on(). See the discussions of .live() and .off() for further details.

    If used without an argument, .die() removes all event handlers previously attached using .live() from the elements.

    diff --git a/entries/error.xml b/entries/error.xml index 6f646aa2..47d9e0e9 100644 --- a/entries/error.xml +++ b/entries/error.xml @@ -20,8 +20,9 @@ -

    This method is a shortcut for .on( "error", handler ).

    -

    As of jQuery 1.8, the .error() method is deprecated. Use .on( "error", handler ) to attach event handlers to the error event instead.

    +
    +

    Note: This API has been removed in jQuery 3.0; please use .on( "error", handler ) instead of .error( handler ) and .trigger( "error" ) instead of .error().

    +

    The error event is sent to elements, such as images, that are referenced by a document and loaded by the browser. It is called if the element was not loaded correctly.

    For example, consider a page with a simple image element:

    
    diff --git a/entries/jQuery.boxModel.xml b/entries/jQuery.boxModel.xml
    index ac464850..b80abe29 100644
    --- a/entries/jQuery.boxModel.xml
    +++ b/entries/jQuery.boxModel.xml
    @@ -4,8 +4,12 @@
       
         1.0
       
    -  States if the current page, in the user's browser, is being rendered using the W3C CSS Box Model. This property was removed in jQuery 1.8. Please try to use feature detection instead.
    -  
    +  States if the current page, in the user's browser, is being rendered using the W3C CSS Box Model.
    +  
    +    
    +

    Note: This API has been removed in jQuery 3.0; check if .document.compatMode is equal to "CSS1Compat" instead. Or, even better - always specify a DOCTYPE and avoid using quirks mode which jQuery doesn't support.

    +
    +
    diff --git a/entries/jQuery.browser.xml b/entries/jQuery.browser.xml index 667ed5f1..11686eae 100644 --- a/entries/jQuery.browser.xml +++ b/entries/jQuery.browser.xml @@ -7,6 +7,9 @@ Contains flags for the useragent, read from navigator.userAgent. This property was removed in jQuery 1.9 and is available only through the jQuery.migrate plugin. Please try to use feature detection instead. +
    +

    Note: This API has been removed in jQuery 1.9; please rely on feature detection instead.

    +

    The $.browser property provides information about the web browser that is accessing the page, as reported by the browser itself. It contains flags for each of the four most prevalent browser classes (Internet Explorer, Mozilla, Webkit, and Opera) as well as version information.

    Available flags are:

      @@ -56,6 +59,9 @@ $.browser.msie; The version number of the rendering engine for the user's browser. This property was removed in jQuery 1.9 and is available only through the jQuery.migrate plugin. +
      +

      Note: This API has been removed in jQuery 1.9; please rely on feature detection instead.

      +

      Here are some typical results:

      • Internet Explorer: 6.0, 7.0, 8.0
      • diff --git a/entries/jQuery.sub.xml b/entries/jQuery.sub.xml index a52c9ab6..bc0330e4 100644 --- a/entries/jQuery.sub.xml +++ b/entries/jQuery.sub.xml @@ -6,9 +6,9 @@ Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object. -

        - This method is deprecated as of jQuery 1.7 and will be moved to a plugin in jQuery 1.8. -

        +
        +

        Note: This API has been removed in jQuery 1.9.

        +

        There are two specific use cases for which jQuery.sub() was created. The first was for providing a painless way of overriding jQuery methods without completely destroying the original methods and another was for helping to do encapsulation and basic namespacing for jQuery plugins.

        Note that jQuery.sub() doesn't attempt to do any sort of isolation - that's not its intention. All the methods on the sub'd version of jQuery will still point to the original jQuery (events bound and triggered will still be through the main jQuery, data will be bound to elements through the main jQuery, Ajax queries and events will run through the main jQuery, etc.).

        Note that if you're looking to use this for plugin development you should first strongly consider using something like the jQuery UI widget factory which manages both state and plugin sub-methods. Some examples of using the jQuery UI widget factory to build a plugin.

        diff --git a/entries/live.xml b/entries/live.xml index 049322e2..e88a67ce 100644 --- a/entries/live.xml +++ b/entries/live.xml @@ -32,7 +32,9 @@ -

        As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers. Users of older versions of jQuery should use .delegate() in preference to .live().

        +
        +

        Note: This API has been removed in jQuery 1.9; please use on() instead.

        +

        This method provides a means to attach delegated event handlers to the document element of a page, which simplifies the use of event handlers when content is dynamically added to a page. See the discussion of direct versus delegated events in the .on() method for more information.

        Rewriting the .live() method in terms of its successors is straightforward; these are templates for equivalent calls for all three event attachment methods:

        
        diff --git a/entries/load-event.xml b/entries/load-event.xml
        index e3739cb7..b9669cc6 100644
        --- a/entries/load-event.xml
        +++ b/entries/load-event.xml
        @@ -20,6 +20,9 @@
             
           
           
        +    
        +

        Note: This API has been removed in jQuery 3.0; please use .on( "load", handler ) instead of .load( handler ) and .trigger( "load" ) instead of .load().

        +

        This method is a shortcut for .on( "load", handler ).

        The load event is sent to an element when it and all sub-elements have been completely loaded. This event can be sent to any element associated with a URL: images, scripts, frames, iframes, and the window object.

        For example, consider a page with a simple image:

        diff --git a/entries/selector.xml b/entries/selector.xml index d64fc0aa..229e674b 100644 --- a/entries/selector.xml +++ b/entries/selector.xml @@ -6,7 +6,9 @@ A selector representing selector passed to jQuery(), if any, when creating the original set. -

        The .selector property was deprecated in jQuery 1.7 and is only maintained to the extent needed for supporting .live() in the jQuery Migrate plugin. It may be removed without notice in a future version. The property was never a reliable indicator of the selector that could be used to obtain the set of elements currently contained in the jQuery set where it was a property, since subsequent traversal methods may have changed the set. Plugins that need to use a selector string within their plugin can require it as a parameter of the method. For example, a "foo" plugin could be written as $.fn.foo = function( selector, options ) { /* plugin code goes here */ };, and the person using the plugin would write $( "div.bar" ).foo( "div.bar", {dog: "bark"} ); with the "div.bar" selector repeated as the first argument of .foo().

        +
        +

        Note: This API has been removed in jQuery 3.0. The property was never a reliable indicator of the selector that could be used to obtain the set of elements currently contained in the jQuery set where it was a property, since subsequent traversal methods may have changed the set. Plugins that need to use a selector string within their plugin can require it as a parameter of the method. For example, a "foo" plugin could be written as $.fn.foo = function( selector, options ) { /* plugin code goes here */ };, and the person using the plugin would write $( "div.bar" ).foo( "div.bar", {dog: "bark"} ); with the "div.bar" selector repeated as the first argument of .foo().

        +
        diff --git a/entries/size.xml b/entries/size.xml index e7dd1223..18052147 100644 --- a/entries/size.xml +++ b/entries/size.xml @@ -6,7 +6,9 @@ Return the number of elements in the jQuery object. -

        The .size() method is deprecated as of jQuery 1.8. Use the .length property instead.

        +
        +

        Note: This method has been removed in jQuery 3.0. Use the .length property instead.

        +

        The .size() method is functionally equivalent to the .length property; however, the .length property is preferred because it does not have the overhead of a function call.

        Given a simple unordered list on the page:

        @@ -30,7 +32,7 @@ alert( "Size: " + $( "li" ).length );

        - Count the divs. Click to add more. + Count the divs. - - diff --git a/entries/unload.xml b/entries/unload.xml index 1306ddd6..b57d14f4 100644 --- a/entries/unload.xml +++ b/entries/unload.xml @@ -20,6 +20,9 @@ Bind an event handler to the "unload" JavaScript event. +
        +

        Note: This API has been removed in jQuery 3.0; please use .on( "unload", handler ) instead of .unload( handler ) and .trigger( "unload" ) instead of .unload().

        +

        This method is a shortcut for .on( "unload", handler ).

        The unload event is sent to the window element when the user navigates away from the page. This could mean one of many things. The user could have clicked on a link to leave the page, or typed in a new URL in the address bar. The forward and back buttons will trigger the event. Closing the browser window will cause the event to be triggered. Even a page reload will first create an unload event.

        diff --git a/entries2html.xsl b/entries2html.xsl index fe2dc09b..8237a92f 100755 --- a/entries2html.xsl +++ b/entries2html.xsl @@ -12,7 +12,7 @@ <meta charset="utf-8"> <title> demo</title> <style> </style> - <script src="https://code.jquery.com/jquery-1.10.2.js"></script> + <script src="https://code.jquery.com/jquery-3.4.1.js"></script> <script> </script> From 28d2e7daf668bf53b54d8ed45b4864cd44f6a17b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Tue, 3 Sep 2019 20:15:21 +0200 Subject: [PATCH 080/222] 1.12.43 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index eabb5ac2..b5140bce 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.42", + "version": "1.12.43", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 1065425a..69a0906c 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.42", + "version": "1.12.43", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 7010c4cf78b4333724084720ba536b2b0750e205 Mon Sep 17 00:00:00 2001 From: Andrea Rendine Date: Fri, 4 Oct 2019 19:23:44 +0200 Subject: [PATCH 081/222] jQuery.post: Reference $.post instead of $.get Fixed a copypaste misprint from get to post. Closes #1151 --- entries/jQuery.post.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.post.xml b/entries/jQuery.post.xml index 6152350a..06e353f8 100644 --- a/entries/jQuery.post.xml +++ b/entries/jQuery.post.xml @@ -50,7 +50,7 @@ $.post( "ajax/test.html", function( data ) {

        This example fetches the requested HTML snippet and inserts it on the page.

        Pages fetched with POST are never cached, so the cache and ifModified options in jQuery.ajaxSetup() have no effect on these requests.

        The jqXHR Object

        -

        As of jQuery 1.5, all of jQuery's Ajax methods return a superset of the XMLHTTPRequest object. This jQuery XHR object, or "jqXHR," returned by $.get() implements the Promise interface, giving it all the properties, methods, and behavior of a Promise (see Deferred object for more information). The jqXHR.done() (for success), jqXHR.fail() (for error), and jqXHR.always() (for completion, whether success or error; added in jQuery 1.6) methods take a function argument that is called when the request terminates. For information about the arguments this function receives, see the jqXHR Object section of the $.ajax() documentation.

        +

        As of jQuery 1.5, all of jQuery's Ajax methods return a superset of the XMLHTTPRequest object. This jQuery XHR object, or "jqXHR," returned by $.post() implements the Promise interface, giving it all the properties, methods, and behavior of a Promise (see Deferred object for more information). The jqXHR.done() (for success), jqXHR.fail() (for error), and jqXHR.always() (for completion, whether success or error; added in jQuery 1.6) methods take a function argument that is called when the request terminates. For information about the arguments this function receives, see the jqXHR Object section of the $.ajax() documentation.

        The Promise interface also allows jQuery's Ajax methods, including $.get(), to chain multiple .done(), .fail(), and .always() callbacks on a single request, and even to assign these callbacks after the request may have completed. If the request is already complete, the callback is fired immediately.

        
         // Assign handlers immediately after making the request,
        
        From d786cbf630fcbd23894cd9bf0b6ccd659ee84b6f Mon Sep 17 00:00:00 2001
        From: Andrea Rendine 
        Date: Fri, 4 Oct 2019 19:27:33 +0200
        Subject: [PATCH 082/222] jQuery.getJSON: Change the removed jqXHR.complete to
         jqXHR.always
        
        `jqXHR.complete` has been removed in jQuery 3.0.
        
        Closes #1150
        ---
         entries/jQuery.getJSON.xml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/entries/jQuery.getJSON.xml b/entries/jQuery.getJSON.xml
        index 07a926cc..1449293d 100644
        --- a/entries/jQuery.getJSON.xml
        +++ b/entries/jQuery.getJSON.xml
        @@ -82,7 +82,7 @@ var jqxhr = $.getJSON( "example.json", function() {
         // Perform other work here ...
         
         // Set another completion function for the request above
        -jqxhr.complete(function() {
        +jqxhr.always(function() {
           console.log( "second complete" );
         });
             
        From 9580ed588314195835a72b846a584cb6ea885d6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Fri, 4 Oct 2019 19:28:01 +0200 Subject: [PATCH 083/222] 1.12.44 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b5140bce..a6997d27 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.43", + "version": "1.12.44", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 69a0906c..1e74de29 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.43", + "version": "1.12.44", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From be6de733d57d67634ef07dcfc38163d18945c0e4 Mon Sep 17 00:00:00 2001 From: Veniamin Krol <153412+vkrol@users.noreply.github.com> Date: Sat, 5 Oct 2019 15:48:30 +0300 Subject: [PATCH 084/222] jQuery.ajax: Clarify errorThrown and statusText may be empty in HTTP/2 Fixes #1063 Closes #1146 --- entries/jQuery.ajax.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index f75de949..c22347fb 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -109,7 +109,7 @@ $.ajax({ - A function to be called if the request fails. The function receives three arguments: The jqXHR (in jQuery 1.4.x, XMLHttpRequest) object, a string describing the type of error that occurred and an optional exception object, if one occurred. Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror". When an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, such as "Not Found" or "Internal Server Error." As of jQuery 1.5, the error setting can accept an array of functions. Each function will be called in turn. Note: This handler is not called for cross-domain script and cross-domain JSONP requests. This is an Ajax Event. + A function to be called if the request fails. The function receives three arguments: The jqXHR (in jQuery 1.4.x, XMLHttpRequest) object, a string describing the type of error that occurred and an optional exception object, if one occurred. Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror". When an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, such as "Not Found" or "Internal Server Error." (in HTTP/2 it may instead be an empty string) As of jQuery 1.5, the error setting can accept an array of functions. Each function will be called in turn. Note: This handler is not called for cross-domain script and cross-domain JSONP requests. This is an Ajax Event. Whether to trigger global Ajax event handlers for this request. The default is true. Set to false to prevent the global handlers like ajaxStart or ajaxStop from being triggered. This can be used to control various Ajax Events. @@ -290,7 +290,7 @@ jqxhr.always(function() { status
      • - statusText + statusText (may be an empty string in HTTP/2)
      • abort( [ statusText ] ) From 660e0a1a87b75dad5da7c878021178b5130852f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Sat, 5 Oct 2019 14:49:13 +0200 Subject: [PATCH 085/222] 1.12.45 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a6997d27..2cde7b4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.44", + "version": "1.12.45", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 1e74de29..f53f2e26 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.44", + "version": "1.12.45", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From b1951ddfd19ceae1746bb91e1f8e5de6486ddfda Mon Sep 17 00:00:00 2001 From: Ed S Date: Wed, 13 Nov 2019 17:50:24 +0000 Subject: [PATCH 086/222] jQuery.queue: document it returns an array Fixes #1153 Closes #1155 --- entries/jQuery.queue.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.queue.xml b/entries/jQuery.queue.xml index 3921e020..b15912ab 100644 --- a/entries/jQuery.queue.xml +++ b/entries/jQuery.queue.xml @@ -70,7 +70,7 @@ runIt(); - + 1.3 From 81f438d5dfc02fcdbfed08f3caa177c23404244a Mon Sep 17 00:00:00 2001 From: Ed S Date: Wed, 13 Nov 2019 17:50:58 +0000 Subject: [PATCH 087/222] jQuery.removeData: document it returns undefined Not to be confused with the `removeData` method, which does return a jQuery collection. Fixes #1153 Closes #1154 --- entries/jQuery.removeData.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.removeData.xml b/entries/jQuery.removeData.xml index f85d622b..6a92a25f 100644 --- a/entries/jQuery.removeData.xml +++ b/entries/jQuery.removeData.xml @@ -1,5 +1,5 @@ - + jQuery.removeData() 1.2.3 From 86ddf41e86ee2d2ac4dd16730a9945f467de8a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 13 Nov 2019 18:53:39 +0100 Subject: [PATCH 088/222] 1.12.46 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2cde7b4e..00769c62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.45", + "version": "1.12.46", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f53f2e26..71a1d282 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.45", + "version": "1.12.46", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From f79b51cfb1f15f756ca842afcb2d76ed3290a63d Mon Sep 17 00:00:00 2001 From: Theodore Keloglou Date: Fri, 28 Feb 2020 12:19:45 +0000 Subject: [PATCH 089/222] insertAfter: Change hyphen with em dash Closes gh-1158 --- entries/insertAfter.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/insertAfter.xml b/entries/insertAfter.xml index 9065d305..8c406cfa 100644 --- a/entries/insertAfter.xml +++ b/entries/insertAfter.xml @@ -14,7 +14,7 @@ Insert every element in the set of matched elements after the target. -

        The .after() and .insertAfter() methods perform the same task. The major difference is in the syntax-specifically, in the placement of the content and target. With .after(), the selector expression preceding the method is the container after which the content is inserted. With .insertAfter(), on the other hand, the content precedes the method, either as a selector expression or as markup created on the fly, and it is inserted after the target container.

        +

        The .after() and .insertAfter() methods perform the same task. The major difference is in the syntax—specifically, in the placement of the content and target. With .after(), the selector expression preceding the method is the container after which the content is inserted. With .insertAfter(), on the other hand, the content precedes the method, either as a selector expression or as markup created on the fly, and it is inserted after the target container.

        Consider the following HTML:

        
         <div class="container">
        
        From 324e63d55ba02378b881608c69f26ba8d407023a Mon Sep 17 00:00:00 2001
        From: Kostiantyn Plakhotia 
        Date: Mon, 13 Apr 2020 18:23:59 +0300
        Subject: [PATCH 090/222] Types: Update link to QUnit.assert docs
        
        Closes #1159
        ---
         pages/Types.html | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/pages/Types.html b/pages/Types.html
        index fd4df2ca..6221434f 100644
        --- a/pages/Types.html
        +++ b/pages/Types.html
        @@ -666,4 +666,4 @@ 

        Callbacks Object

        XML Document

        A document object created by the browser's XML DOM parser, usually from a string representing XML. XML documents have different semantics than HTML documents, but most of the traversing and manipulation methods provided by jQuery will work with them.

        Assert

        -

        A reference to or instance of the object holding all of QUnit's assertions. See the API documentation for QUnit.assert for details.

        +

        A reference to or instance of the object holding all of QUnit's assertions. See the API documentation for QUnit.assert for details.

        From 0b081f2a3daa2697255045283c54c58fd12beaa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Fri, 17 Apr 2020 11:53:05 +0200 Subject: [PATCH 091/222] 1.12.47 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00769c62..d1c4096e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "1.12.46", + "version": "1.12.47", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 71a1d282..63c7e90a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "1.12.46", + "version": "1.12.47", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 67942f9092c56edaf01327b21db4405748b24fd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 29 Apr 2020 17:42:50 +0200 Subject: [PATCH 092/222] Travis: Test on Node 10 instead of 8 which is EOL --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 8b645e42..c4177e89 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: node_js node_js: - - "8" + - "10" addons: apt: packages: From 13b661bd061b7c341cc74a44e6653937ebb9f556 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Wed, 29 Apr 2020 17:46:39 +0200 Subject: [PATCH 093/222] All: Updates for jQuery 1.12/2.2-3.5 Fixes #947 Fixes #949 Fixes #950 Fixes #1142 Ref #970 Ref #972 Closes #1160 --- categories.xml | 43 +++++++++++++++++++- entries/addClass.xml | 33 +++++++++++++++- entries/contents.xml | 2 + entries/css.xml | 4 ++ entries/eq-selector.xml | 4 +- entries/even-selector.xml | 5 ++- entries/even.xml | 47 ++++++++++++++++++++++ entries/filter.xml | 4 +- entries/first-selector.xml | 4 +- entries/first.xml | 19 ++++----- entries/gt-selector.xml | 4 +- entries/hover.xml | 4 +- entries/jQuery.ajax.xml | 3 +- entries/jQuery.extend.xml | 2 + entries/jQuery.get.xml | 3 +- entries/jQuery.getScript.xml | 2 + entries/jQuery.holdReady.xml | 13 +++++- entries/jQuery.htmlPrefilter.xml | 68 ++------------------------------ entries/jQuery.isArray.xml | 6 ++- entries/jQuery.isFunction.xml | 4 +- entries/jQuery.isNumeric.xml | 6 ++- entries/jQuery.isWindow.xml | 6 +++ entries/jQuery.now.xml | 10 +++-- entries/jQuery.post.xml | 3 +- entries/jQuery.proxy.xml | 6 ++- entries/jQuery.trim.xml | 6 ++- entries/jQuery.type.xml | 14 ++++--- entries/jQuery.uniqueSort.xml | 4 +- entries/last-selector.xml | 4 +- entries/last.xml | 11 ++++-- entries/lt-selector.xml | 4 +- entries/not.xml | 4 +- entries/nth-child-selector.xml | 13 ++++-- entries/odd-selector.xml | 5 ++- entries/odd.xml | 47 ++++++++++++++++++++++ entries/removeClass.xml | 44 +++++++++++++++++++-- entries/toggleClass.xml | 31 +++++++++++---- entries2html.xsl | 2 +- 38 files changed, 367 insertions(+), 127 deletions(-) create mode 100644 entries/even.xml create mode 100644 entries/odd.xml diff --git a/categories.xml b/categories.xml index 78f012b1..22dbd59b 100644 --- a/categories.xml +++ b/categories.xml @@ -71,6 +71,11 @@

        For more information, see the Release Notes/Changelog at https://blog.jquery.com/2016/06/09/jquery-3-0-final-released/

        ]]> + + + + + + @@ -429,7 +439,7 @@ var files = event.originalEvent.dataTransfer.files;
        ]]>
        - + + + + + + + + + + + + + diff --git a/entries/addClass.xml b/entries/addClass.xml index 3b28a708..9af9723a 100644 --- a/entries/addClass.xml +++ b/entries/addClass.xml @@ -7,10 +7,16 @@ One or more space-separated classes to be added to the class attribute of each matched element. + + 3.3 + + An array of classes to be added to the class attribute of each matched element. + + 1.4 - A function returning one or more space-separated class names to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. + A function returning one or more space-separated classes or an array of classes to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. @@ -82,6 +88,29 @@ $( "p" ).last().addClass( "selected highlight" );

        Hello

        and

        Goodbye

        +]]> + + + Add the classes "selected" and "highlight" to the matched elements (3.3+ syntax). + + + @@ -122,4 +151,6 @@ $( "div" ).addClass(function( index, currentClass ) { + + diff --git a/entries/contents.xml b/entries/contents.xml index f4118e0c..950411ba 100644 --- a/entries/contents.xml +++ b/entries/contents.xml @@ -8,6 +8,7 @@

        Given a jQuery object that represents a set of DOM elements, the .contents() method allows us to search through the immediate children of these elements in the DOM tree and construct a new jQuery object from the matching elements. The .contents() and .children() methods are similar, except that the former includes text nodes and comment nodes as well as HTML elements in the resulting jQuery object. Please note that most jQuery operations don't support text nodes and comment nodes. The few that do will have an explicit note on their API documentation page.

        The .contents() method can also be used to get the content document of an iframe, if the iframe is on the same domain as the main page.

        +

        As of jQuery 3.2, .contents() returns contents of <template> elements as well.

        Consider a simple <div> with a number of text nodes, each of which is separated by two line break elements (<br>):

        
         <div class="container">
        @@ -60,4 +61,5 @@ $( "#frameDemo" ).contents().find( "a" ).css( "background-color", "#BADA55" );
           
           
           
        +  
         
        diff --git a/entries/css.xml b/entries/css.xml
        index 34fc7237..0fd97457 100644
        --- a/entries/css.xml
        +++ b/entries/css.xml
        @@ -23,6 +23,7 @@
               

        Retrieval of shorthand CSS properties (e.g., margin, background, border), although functional with some browsers, is not guaranteed. For example, if you want to retrieve the rendered border-width, use: $( elem ).css( "borderTopWidth" ), $( elem ).css( "borderBottomWidth" ), and so on.

        An element should be connected to the DOM when calling .css() on it. If it isn't, jQuery may throw an error.

        As of jQuery 1.9, passing an array of style properties to .css() will result in an object of property-value pairs. For example, to retrieve all four rendered border-width values, you could use $( elem ).css([ "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth" ]).

        +

        As of jQuery 3.2, CSS Custom Properties (also called CSS Variables) are supported: $( "p" ).css( "--custom-property" ). Note that you need to provide the property name as-is, camelCasing it won't work as it does for regular CSS properties.

        Get the background color of a clicked div. @@ -106,6 +107,7 @@ $( "div" ).click(function() { + @@ -157,6 +159,7 @@ $( "div.example" ).css( "width", function( index ) {

        This example sets the widths of the matched elements to incrementally larger values.

        Note: If nothing is returned in the setter function (ie. function( index, style ){} ), or if undefined is returned, the current value is not changed. This is useful for selectively setting values only when certain criteria are met.

        +

        As of jQuery 3.2, CSS Custom Properties (also called CSS Variables) are supported: $( "p" ).css( "--custom-property", "value" ). Note that you need to provide the property name as-is, camelCasing it won't work as it does for regular CSS properties.

        Change the color of any paragraph to red on mouseover event. @@ -282,5 +285,6 @@ $( "div" ).on( "click", function() { + diff --git a/entries/eq-selector.xml b/entries/eq-selector.xml index 0c985fca..a191d31b 100644 --- a/entries/eq-selector.xml +++ b/entries/eq-selector.xml @@ -17,7 +17,9 @@
        Select the element at index n within the matched set. -

        As of jQuery 3.4, the :eq pseudo-class is deprecated. Remove it from your selectors and filter the results later using .eq().

        +
        +

        As of jQuery 3.4, the :eq pseudo-class is deprecated. Remove it from your selectors and filter the results later using .eq().

        +

        The index-related selectors (:eq(), :lt(), :gt(), :even, :odd) filter the set of elements that have matched the expressions that precede them. They narrow the set down based on the order of the elements within this matched set. For example, if elements are first selected with a class selector (.myclass) and four elements are returned, these elements are given indices 0 through 3 for the purposes of these selectors.

        Note that since JavaScript arrays use 0-based indexing, these selectors reflect that fact. This is why $( ".myclass:eq(1)" ) selects the second element in the document with the class myclass, rather than the first. In contrast, :nth-child(n) uses 1-based indexing to conform to the CSS specification.

        Prior to jQuery 1.8, the :eq(index) selector did not accept a negative value for index (though the .eq(index) method did).

        diff --git a/entries/even-selector.xml b/entries/even-selector.xml index ba2dc5d5..bfc8038a 100644 --- a/entries/even-selector.xml +++ b/entries/even-selector.xml @@ -5,8 +5,11 @@ 1.0 - Selects even elements, zero-indexed. See also odd. + Selects even elements, zero-indexed. See also :odd. +
        +

        As of jQuery 3.4, the :even pseudo-class is deprecated. Remove it from your selectors and filter the results later using .even() (available in jQuery 3.5.0 or newer).

        +

        In particular, note that the 0-based indexing means that, counter-intuitively, :even selects the first element, third element, and so on within the matched set.

        diff --git a/entries/even.xml b/entries/even.xml new file mode 100644 index 00000000..cecff9e4 --- /dev/null +++ b/entries/even.xml @@ -0,0 +1,47 @@ + + + .even() + + 3.5 + + Reduce the set of matched elements to the even ones in the set, numbered from zero. + +

        Given a jQuery object that represents a set of DOM elements, the .even() method constructs a new jQuery object from the even elements in that set. Counting starts from zero!

        +

        Consider a page with a simple list on it:

        +
        
        +<ul>
        +  <li>list item 1</li>
        +  <li>list item 2</li>
        +  <li>list item 3</li>
        +  <li>list item 4</li>
        +  <li>list item 5</li>
        +</ul>
        +    
        +

        We can apply this method to the set of list items:

        +
        
        +$( "li" ).even().css( "background-color", "red" );
        +    
        +

        The result of this call is a red background for the first, third & 5th items.

        +
        + + Highlight the even items in a list. + + + + + + +
        diff --git a/entries/filter.xml b/entries/filter.xml index 01489193..ed92d385 100644 --- a/entries/filter.xml +++ b/entries/filter.xml @@ -42,9 +42,9 @@

        We can apply this method to the set of list items:

        
        -$( "li" ).filter( ":even" ).css( "background-color", "red" );
        +$( "li" ).filter( ":nth-child(2n)" ).css( "background-color", "red" );
             
        -

        The result of this call is a red background for items 1, 3, and 5, as they match the selector (recall that :even and :odd use 0-based indexing).

        +

        The result of this call is a red background for items 2, 4, and 6, as they match the selector.

        Using a Filter Function

        The second form of this method allows us to filter elements against a function rather than a selector. For each element, if the function returns true (or a "truthy" value), the element will be included in the filtered set; otherwise, it will be excluded. Suppose we have a somewhat more involved HTML snippet:

        
        diff --git a/entries/first-selector.xml b/entries/first-selector.xml
        index ded45ccb..1308ff5e 100644
        --- a/entries/first-selector.xml
        +++ b/entries/first-selector.xml
        @@ -7,7 +7,9 @@
           
           Selects the first matched DOM element.
           
        -    

        As of jQuery 3.4, the :first pseudo-class is deprecated. Remove it from your selectors and filter the results later using .first().

        +
        +

        As of jQuery 3.4, the :first pseudo-class is deprecated. Remove it from your selectors and filter the results later using .first().

        +

        The :first pseudo-class is equivalent to :eq( 0 ). It could also be written as :lt( 1 ). While this matches only a single element, :first-child can match more than one: One for each parent.

        diff --git a/entries/first.xml b/entries/first.xml index f73f8f10..90ac489c 100644 --- a/entries/first.xml +++ b/entries/first.xml @@ -24,21 +24,22 @@ $( "li" ).first().css( "background-color", "red" );

        The result of this call is a red background for the first item.

        - Highlight the first span in a paragraph. + Highlight the first item in a list. diff --git a/entries/gt-selector.xml b/entries/gt-selector.xml index 8ad903fc..1aad2e3d 100644 --- a/entries/gt-selector.xml +++ b/entries/gt-selector.xml @@ -17,7 +17,9 @@ Select all elements at an index greater than index within the matched set. -

        As of jQuery 3.4, the :gt pseudo-class is deprecated. Remove it from your selectors and filter the results later using .slice(). For example, :gt(3) can be replaced with a call to .slice( 4 ) (the provided index needs to be increased by one).

        +
        +

        As of jQuery 3.4, the :gt pseudo-class is deprecated. Remove it from your selectors and filter the results later using .slice(). For example, :gt(3) can be replaced with a call to .slice( 4 ) (the provided index needs to be increased by one).

        +

        index-related selectors

        diff --git a/entries/hover.xml b/entries/hover.xml index f6656b0c..2ddab1fa 100644 --- a/entries/hover.xml +++ b/entries/hover.xml @@ -102,10 +102,10 @@ $( selector ).on( "mouseenter mouseleave", handlerInOut ); Slide the next sibling LI up or down on hover, and toggle a class. , to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests.
      • +
      • "script": Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string parameter, _=[TIMESTAMP], to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests. Prior to jQuery 3.5.0, unsuccessful HTTP responses with a script Content-Type were still executed.
      • "json": Evaluates the response as JSON and returns a JavaScript object. Cross-domain "json" requests that have a callback placeholder, e.g. ?callback=?, are performed using JSONP unless the request includes jsonp: false in its request options. The JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. As of jQuery 1.9, an empty response is also rejected; the server should return a response of null or {} instead. (See json.org for more information on proper JSON formatting.)
      • "jsonp": Loads in a JSON block using JSONP. Adds an extra "?callback=?" to the end of your URL to specify the callback. Disables caching by appending a query string parameter, "_=[TIMESTAMP]", to the URL unless the cache option is set to true.
      • "text": A plain text string.
      • @@ -457,4 +457,5 @@ $.ajax({ + diff --git a/entries/jQuery.extend.xml b/entries/jQuery.extend.xml index b28ec2e0..56fbab89 100644 --- a/entries/jQuery.extend.xml +++ b/entries/jQuery.extend.xml @@ -35,6 +35,7 @@

        Keep in mind that the target object (first argument) will be modified, and will also be returned from $.extend(). If, however, you want to preserve both of the original objects, you can do so by passing an empty object as the target:

        var object = $.extend({}, object1, object2);

        The merge performed by $.extend() is not recursive by default; if a property of the first object is itself an object or array, it will be completely overwritten by a property with the same key in the second or subsequent object. The values are not merged. This can be seen in the example below by examining the value of banana. However, by passing true for the first function argument, objects will be recursively merged.

        +

        Warning: Versions prior to 3.4 had a security issue where calling jQuery.extend(true, {}, object) on an unsanitized object containing a __proto__ property would extend Object.prototype.

        Warning: Passing false for the first argument is not supported.

        Undefined properties are not copied. However, properties inherited from the object's prototype will be copied over. Properties that are an object constructed via new MyCustomObject(args), or built-in JavaScript types such as Date or RegExp, are not re-constructed and will appear as plain Objects in the resulting object or array.

        On a deep extend, Object and Array are extended, but object wrappers on primitive types such as String, Boolean, and Number are not. Deep-extending a cyclical data structure will result in an error.

        @@ -106,4 +107,5 @@ $( "#log" ).append( "
        settings -- " + JSON.stringify( settings ) + "< + diff --git a/entries/jQuery.get.xml b/entries/jQuery.get.xml index be1e25a2..55009de2 100644 --- a/entries/jQuery.get.xml +++ b/entries/jQuery.get.xml @@ -22,7 +22,7 @@ - 1.12/2.2 + 1.12-and-2.2 A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. The type option will automatically be set to GET. @@ -128,4 +128,5 @@ $.get( "test.php", function( data ) { + diff --git a/entries/jQuery.getScript.xml b/entries/jQuery.getScript.xml index be884042..357b9e1a 100644 --- a/entries/jQuery.getScript.xml +++ b/entries/jQuery.getScript.xml @@ -56,6 +56,7 @@ $( "div.log" ).ajaxError(function( e, jqxhr, settings, exception ) { } });
        +

        Prior to jQuery 3.5.0, unsuccessful HTTP responses with a script Content-Type were still executed.

        Caching Responses

        By default, $.getScript() sets the cache setting to false. This appends a timestamped query parameter to the request URL to ensure that the browser downloads the script each time it is requested. You can override this feature by setting the cache property globally using $.ajaxSetup():

        
        @@ -125,4 +126,5 @@ $.getScript( url, function() {
           
           
           
        +  
         
        diff --git a/entries/jQuery.holdReady.xml b/entries/jQuery.holdReady.xml
        index 016e951a..0ba8ceb0 100644
        --- a/entries/jQuery.holdReady.xml
        +++ b/entries/jQuery.holdReady.xml
        @@ -1,5 +1,5 @@
         
        -
        +
           jQuery.holdReady()
           Holds or releases the execution of jQuery's ready event.
           
        @@ -9,6 +9,16 @@
             
           
           
        +    
        +

        Note: This API has been deprecated in jQuery 3.2. Instead of relying on this global switch, it's better to put explicitly wait for required code. If you need to wait both for the ready state & for a custom promise, use the following pattern:

        + +

        The $.holdReady() method allows the caller to delay jQuery's ready event. This advanced feature would typically be used by dynamic script loaders that want to load additional JavaScript such as jQuery plugins before allowing the ready event to occur, even though the DOM may be ready. This method must be called early in the document, such as in the <head> immediately after the jQuery script tag. Calling this method after the ready event has already fired will have no effect.

        To delay the ready event, first call $.holdReady( true ). When the ready event should be released to execute, call $.holdReady( false ). Note that multiple holds can be put on the ready event, one for each $.holdReady( true ) call. The ready event will not actually fire until all holds have been released with a corresponding number of $.holdReady( false ) calls and the normal document ready conditions are met. (See ready for more information.)

        @@ -25,4 +35,5 @@ $.getScript( "myplugin.js", function() { +
        diff --git a/entries/jQuery.htmlPrefilter.xml b/entries/jQuery.htmlPrefilter.xml index 3682ed5b..75381903 100644 --- a/entries/jQuery.htmlPrefilter.xml +++ b/entries/jQuery.htmlPrefilter.xml @@ -3,75 +3,15 @@ jQuery.htmlPrefilter() Modify and filter HTML strings passed through jQuery manipulation methods. - 1.12/2.2 + 1.12-and-2.2 The HTML string on which to operate. -

        This method rarely needs to be called directly. Instead, use it as an entry point to modify existing jQuery manipulation methods. For instance, to remove all <del> tags from incoming HTML strings, do this:

        -
        
        -var htmlPrefilter = $.htmlPrefilter,
        -  rdel = /<(del)(?=[\s>])[\w\W]*?<\/\1\s*>/gi;
        -
        -$.htmlPrefilter = function( html ) {
        -  return htmlPrefilter.call( this, html ).replace( rdel, "" );
        -};
        -    
        -

        This function can also be overwritten in order to bypass certain edge case issues. The default htmlPrefilter function in jQuery will greedily ensure that all tags are XHTML-compliant. This includes anything that looks like an HTML tag, but is actually within a string (e.g.

        <a title="<div />"><>
        ). The jQuery.htmlPrefilter() function can be used to bypass this:

        -
        
        -$.htmlPrefilter = function( html ) {
        -  // Return HTML strings unchanged
        -  return html;
        -};
        -    
        -

        However, while the above fix is short and simple, it puts the burden on you to ensure XHTML-compliant tags in any HTML strings. A more thorough fix for this issue would be this:

        -
        
        -var panything = "[\\w\\W]*?",
        -
        -  // Whitespace
        -  // https://html.spec.whatwg.org/multipage/infrastructure.html#space-character
        -  pspace = "[\\x20\\t\\r\\n\\f]",
        -
        -  // End of tag name (whitespace or greater-than)
        -  pnameEnd = pspace.replace( "]", ">]" ),
        -
        -  // Tag name (a leading letter, then almost anything)
        -  // https://html.spec.whatwg.org/multipage/syntax.html#tag-open-state
        -  // https://html.spec.whatwg.org/multipage/syntax.html#tag-name-state
        -  pname = "[a-z]" + pnameEnd.replace( "[", "[^/\\0" ) + "*",
        -
        -  // Void element (end tag prohibited)
        -  // https://html.spec.whatwg.org/multipage/syntax.html#void-elements
        -  pvoidName = "(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|" +
        -    "source|track|wbr)(?=" + pnameEnd + ")",
        -
        -  // Attributes (double-quoted value, single-quoted value, unquoted value, or no value)
        -  // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
        -  pattrs = "(?:" + pspace + "+[^\\0-\\x20\\x7f-\\x9f=\"'/>]+(?:" + pspace + "*=" + pspace +
        -    "*(?:\"" + panything + "\"|'" + panything + "'|" +
        -    pnameEnd.replace( "[", "[^" ) + "*(?!/)" +
        -    ")|))*" + pspace + "*",
        -
        -  // Trailing content of a close tag
        -  pcloseTail = "(?:" + pspace + panything + "|)",
        -
        -  rspecialHtml = new RegExp(
        -    // Non-void element that self-closes: $1–$5
        -    "(<)(?!" + pvoidName + ")(" + pname + ")(" + pattrs + ")(\\/)(>)|" +
        -      // No-innerHTML container (element, comment, or CDATA): $6
        -      "(<(script|style|textarea)" + pattrs + ">" + panything + "<\\/\\7" + pcloseTail + ">|" +
        -      "<!--" + panything + "--)",
        -    "gi"
        -  ),
        -
        -  // "<"; element name; attributes; ">"; "<"; "/"; element name; ">"; no-innerHTML container
        -  pspecialReplacement = "$1$2$3$5$1$4$2$5$6";
        -
        -$.htmlPrefilter = function( html ) {
        -  return ( html + "" ).replace( rspecialHtml, pspecialReplacement );
        -};
        -    
        +

        This method rarely needs to be called directly. Instead, use it as an entry point to modify existing jQuery manipulation methods. jQuery calls this method on input HTML before processing it further: it accepts an HTML string & should return a HTML string as well.

        +

        This function can also be overwritten in order to bypass certain edge case issues. The default htmlPrefilter function in jQuery leaves input unmodified since 3.5.0. Older versions would greedily ensure that all tags were XHTML-compliant. This included anything that looked like an HTML tag, but was actually within a string (e.g. <a title="<div />"><>), leading to potential security issues. For more information, see the jQuery Core 3.5 Upgrade guide.

        +
        diff --git a/entries/jQuery.isArray.xml b/entries/jQuery.isArray.xml index 6f040c4e..6ce958df 100644 --- a/entries/jQuery.isArray.xml +++ b/entries/jQuery.isArray.xml @@ -1,5 +1,5 @@ - + jQuery.isArray() 1.3 @@ -9,6 +9,9 @@ Determine whether the argument is an array. +
        +

        Note: This API has been deprecated in jQuery 3.2; please use the native Array.isArray method instead.

        +

        $.isArray() returns a Boolean indicating whether the object is a JavaScript array (not an array-like object, such as a jQuery object).

        @@ -22,4 +25,5 @@ Is [] an Array? +
        diff --git a/entries/jQuery.isFunction.xml b/entries/jQuery.isFunction.xml index 7aed5574..3524ace2 100644 --- a/entries/jQuery.isFunction.xml +++ b/entries/jQuery.isFunction.xml @@ -9,7 +9,9 @@ Determines if its argument is callable as a function. -

        As of jQuery 3.3, jQuery.isFunction() has been deprecated. In most cases, its use can be replaced by typeof x === "function".

        +
        +

        As of jQuery 3.3, jQuery.isFunction() has been deprecated. In most cases, its use can be replaced by typeof x === "function".

        +

        Note: As of jQuery 1.3, functions provided by the browser like alert() and DOM element methods like getAttribute() are not guaranteed to be detected as functions in browsers such as Internet Explorer.

        diff --git a/entries/jQuery.isNumeric.xml b/entries/jQuery.isNumeric.xml index b51eb84d..7e64d4b7 100644 --- a/entries/jQuery.isNumeric.xml +++ b/entries/jQuery.isNumeric.xml @@ -1,5 +1,5 @@ - + jQuery.isNumeric() Determines whether its argument represents a JavaScript number. @@ -9,6 +9,9 @@ +
        +

        Note: This API has been deprecated in jQuery 3.3.

        +

        The $.isNumeric() method checks whether its argument represents a numeric value. If so, it returns true. Otherwise it returns false. The argument can be of any type.

        As of jQuery 3.0 $.isNumeric() returns true only if the argument is of type number, or if it's of type string and it can be coerced into finite numbers. In all other cases, it returns false.

        @@ -39,4 +42,5 @@ $.isNumeric( undefined )
        +
        diff --git a/entries/jQuery.isWindow.xml b/entries/jQuery.isWindow.xml index ee8ed3b1..e79a95a7 100644 --- a/entries/jQuery.isWindow.xml +++ b/entries/jQuery.isWindow.xml @@ -9,6 +9,12 @@ Determine whether the argument is a window. +
        +

        Note: This API has been deprecated in jQuery 3.3; if you need this function, reimplement it by yourself:

        + +

        This is used in a number of places in jQuery to determine if we're operating against a browser window (such as the current window or an iframe).

        diff --git a/entries/jQuery.now.xml b/entries/jQuery.now.xml index 6c41af36..b482637c 100644 --- a/entries/jQuery.now.xml +++ b/entries/jQuery.now.xml @@ -1,13 +1,17 @@ - + jQuery.now() 1.4.3 Return a number representing the current time. -

        The $.now() method is a shorthand for the number returned by the expression (new Date).getTime().

        +
        +

        Note: This API has been deprecated in jQuery 3.3; please use the native Date.now() method instead.

        +
        +

        The $.now() method is an alias for Date.now().

        -
        \ No newline at end of file + +
        diff --git a/entries/jQuery.post.xml b/entries/jQuery.post.xml index 06e353f8..9be8d43b 100644 --- a/entries/jQuery.post.xml +++ b/entries/jQuery.post.xml @@ -22,7 +22,7 @@ - 1.12/2.2 + 1.12-and-2.2 A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. Type will automatically be set to POST. @@ -167,4 +167,5 @@ $( "#searchForm" ).submit(function( event ) { + diff --git a/entries/jQuery.proxy.xml b/entries/jQuery.proxy.xml index e7c5f0ff..d00748b9 100644 --- a/entries/jQuery.proxy.xml +++ b/entries/jQuery.proxy.xml @@ -1,5 +1,5 @@ - + jQuery.proxy() 1.4 @@ -46,6 +46,9 @@ Takes a function and returns a new one that will always have a particular context. +
        +

        Note: This API has been deprecated in jQuery 3.3; please use the native Function.prototype.bind method instead.

        +

        This method is most useful for attaching event handlers to an element where the context is pointing back to a different object. Additionally, jQuery makes sure that even if you bind the function returned from jQuery.proxy() it will still unbind the correct function if passed the original.

        Be aware, however, that jQuery's event binding subsystem assigns a unique id to each event handling function in order to track it when it is used to specify the function to be unbound. The function represented by jQuery.proxy() is seen as a single function by the event subsystem, even when it is used to bind different contexts. To avoid unbinding the wrong handler, use a unique event namespace for binding and unbinding (e.g., "click.myproxy1") rather than specifying the proxied function during unbinding.

        As of jQuery 1.6, any number of additional arguments may be supplied to $.proxy(), and they will be passed to the function whose context will be changed.

        @@ -170,4 +173,5 @@ $( "#test" ) +
        diff --git a/entries/jQuery.trim.xml b/entries/jQuery.trim.xml index d0dcfa68..cac7e358 100644 --- a/entries/jQuery.trim.xml +++ b/entries/jQuery.trim.xml @@ -1,5 +1,5 @@ - + jQuery.trim() 1.0 @@ -9,6 +9,9 @@ Remove the whitespace from the beginning and end of a string. +
        +

        Note: This API has been deprecated in jQuery 3.5; please use the native String.prototype.trim method instead.

        +

        The $.trim() function removes all newlines, spaces (including non-breaking spaces), and tabs from the beginning and end of the supplied string. If these whitespace characters occur in the middle of the string, they are preserved.

        @@ -34,4 +37,5 @@ $.trim(" hello, how are you? "); +
        diff --git a/entries/jQuery.type.xml b/entries/jQuery.type.xml index 26dbe913..b9ce8a8e 100644 --- a/entries/jQuery.type.xml +++ b/entries/jQuery.type.xml @@ -1,5 +1,5 @@ - + jQuery.type() 1.4.3 @@ -9,6 +9,9 @@ Determine the internal JavaScript [[Class]] of an object. +
        +

        Note: This API has been deprecated in jQuery 3.3.

        +

        A number of techniques are used to determine the exact return value for an object. The [[Class]] is determined as follows:

        • If the object is undefined or null, then "undefined" or "null" is returned accordingly. @@ -24,16 +27,16 @@
        • jQuery.type( true ) === "boolean"
        • jQuery.type( new Boolean() ) === "boolean"
        • jQuery.type( 3 ) === "number"
        • -
        • jQuery.type( new Number(3) ) === "number"
        • +
        • jQuery.type( new Number( 3 ) ) === "number"
        • jQuery.type( "test" ) === "string"
        • -
        • jQuery.type( new String("test") ) === "string"
        • -
        • jQuery.type( function(){} ) === "function"
        • +
        • jQuery.type( new String( "test" ) ) === "string"
        • +
        • jQuery.type( function() {} ) === "function"
        • jQuery.type( [] ) === "array"
        • jQuery.type( new Array() ) === "array"
        • jQuery.type( new Date() ) === "date"
        • jQuery.type( new Error() ) === "error" // as of jQuery 1.9
        • jQuery.type( Symbol() ) === "symbol" // as of jQuery 1.9
        • -
        • jQuery.type( Object(Symbol()) ) === "symbol" // as of jQuery 1.12
        • +
        • jQuery.type( Object( Symbol() ) ) === "symbol" // as of jQuery 1.12
        • jQuery.type( /test/ ) === "regexp"
        @@ -51,4 +54,5 @@ Is it a RegExp?
        + diff --git a/entries/jQuery.uniqueSort.xml b/entries/jQuery.uniqueSort.xml index 006b4ad9..9d149af3 100644 --- a/entries/jQuery.uniqueSort.xml +++ b/entries/jQuery.uniqueSort.xml @@ -2,7 +2,7 @@ jQuery.uniqueSort() - 1.12-2.2 + 1.12-and-2.2 The Array of DOM elements. @@ -42,5 +42,5 @@ $( "div" ).eq( 2 ).text( "Post-unique there are " + divs.length + " elements." ) ]]> - + diff --git a/entries/last-selector.xml b/entries/last-selector.xml index 42cd8490..128eec49 100644 --- a/entries/last-selector.xml +++ b/entries/last-selector.xml @@ -7,7 +7,9 @@ Selects the last matched element. -

        As of jQuery 3.4, the :last pseudo-class is deprecated. Remove it from your selectors and filter the results later using .last().

        +
        +

        As of jQuery 3.4, the :last pseudo-class is deprecated. Remove it from your selectors and filter the results later using .last().

        +

        Note that :last selects a single element by filtering the current jQuery collection and matching the last element within it.

        diff --git a/entries/last.xml b/entries/last.xml index 4f9b59df..73ddafa5 100644 --- a/entries/last.xml +++ b/entries/last.xml @@ -24,17 +24,22 @@ $( "li" ).last().css( "background-color", "red" );

        The result of this call is a red background for the final item.

        - Highlight the last span in a paragraph. + Highlight the last item in a list. diff --git a/entries/lt-selector.xml b/entries/lt-selector.xml index d8c893ea..703c427f 100644 --- a/entries/lt-selector.xml +++ b/entries/lt-selector.xml @@ -17,7 +17,9 @@ Select all elements at an index less than index within the matched set. -

        As of jQuery 3.4, the :lt pseudo-class is deprecated. Remove it from your selectors and filter the results later using .slice(). For example, :lt(3) can be replaced with a call to .slice( 0, 3 ).

        +
        +

        As of jQuery 3.4, the :lt pseudo-class is deprecated. Remove it from your selectors and filter the results later using .slice(). For example, :lt(3) can be replaced with a call to .slice( 0, 3 ).

        +

        index-related selectors

        diff --git a/entries/not.xml b/entries/not.xml index a9a0880d..8a41ddf1 100644 --- a/entries/not.xml +++ b/entries/not.xml @@ -40,9 +40,9 @@

        We can apply this method to the set of list items:

        
        -$( "li" ).not( ":even" ).css( "background-color", "red" );
        +$( "li" ).not( ":nth-child(2n)" ).css( "background-color", "red" );
             
        -

        The result of this call is a red background for items 2 and 4, as they do not match the selector (recall that :even and :odd use 0-based indexing).

        +

        The result of this call is a red background for items 1, 3 and 5, as they do not match the selector.

        Removing Specific Elements

        The second version of the .not() method allows us to remove elements from the matched set, assuming we have found those elements previously by some other means. For example, suppose our list had an id applied to one of its items:

        
        diff --git a/entries/nth-child-selector.xml b/entries/nth-child-selector.xml
        index 7ea6c417..741052a1 100644
        --- a/entries/nth-child-selector.xml
        +++ b/entries/nth-child-selector.xml
        @@ -51,12 +51,17 @@ $( "ul li:nth-child(2)" ).append( " - 2nd!" );
         ]]>
           
           
        -    This is a playground to see how the selector works with different strings.  Notice that this is different from the :even and :odd which have no regard for parent and just filter the list of elements to every other one.  The :nth-child, however, counts the index of the child to its particular parent.  In any case, it's easier to see than explain so...
        +    This is a playground to see how the selector works with different strings.  Notice that this is different from the even and odd which have no regard for parent and just filter the list of elements to every other one.  The :nth-child, however, counts the index of the child to its particular parent.  In any case, it's easier to see than explain so...
             
        @@ -94,8 +99,8 @@ $( "button" ).click(function() {
         
        - - + +
        diff --git a/entries/odd-selector.xml b/entries/odd-selector.xml index 029f2e72..8b907e15 100644 --- a/entries/odd-selector.xml +++ b/entries/odd-selector.xml @@ -5,8 +5,11 @@ 1.0 - Selects odd elements, zero-indexed. See also even. + Selects odd elements, zero-indexed. See also :even. +
        +

        As of jQuery 3.4, the :odd pseudo-class is deprecated. Remove it from your selectors and filter the results later using .odd() (available in jQuery 3.5.0 or newer).

        +

        In particular, note that the 0-based indexing means that, counter-intuitively, :odd selects the second element, fourth element, and so on within the matched set.

        diff --git a/entries/odd.xml b/entries/odd.xml new file mode 100644 index 00000000..52fe3baf --- /dev/null +++ b/entries/odd.xml @@ -0,0 +1,47 @@ + + + .odd() + + 3.5 + + Reduce the set of matched elements to the odd ones in the set, numbered from zero. + +

        Given a jQuery object that represents a set of DOM elements, the .odd() method constructs a new jQuery object from the odd elements in that set. Counting starts from zero!

        +

        Consider a page with a simple list on it:

        +
        
        +<ul>
        +  <li>list item 1</li>
        +  <li>list item 2</li>
        +  <li>list item 3</li>
        +  <li>list item 4</li>
        +  <li>list item 5</li>
        +</ul>
        +    
        +

        We can apply this method to the set of list items:

        +
        
        +$( "li" ).odd().css( "background-color", "red" );
        +    
        +

        The result of this call is a red background for the second & 4th items.

        +
        + + Highlight the odd items in a list. + + + + + + +
        diff --git a/entries/removeClass.xml b/entries/removeClass.xml index c6171f2e..03b02f0c 100644 --- a/entries/removeClass.xml +++ b/entries/removeClass.xml @@ -7,18 +7,24 @@ One or more space-separated classes to be removed from the class attribute of each matched element. + + 3.3 + + An array of classes to be removed from the class attribute of each matched element. + + 1.4 - A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. + A function returning one or more space-separated classes or an array of classes to be removed. Receives the index position of the element in the set and the old class value as arguments. Remove a single class, multiple classes, or all classes from each element in the set of matched elements. -

        If a class name is included as a parameter, then only that class will be removed from the set of matched elements. If no class names are specified in the parameter, all classes will be removed.

        +

        If a class name is included as a parameter, then only that class will be removed from the set of matched elements. If no classes are specified in the parameter, all classes will be removed.

        Before jQuery version 1.12/2.2, the .removeClass() method manipulated the className property of the selected elements, not the class attribute. Once the property was changed, it was the browser that updated the attribute accordingly. This means that when the class attribute was updated and the last class name was removed, the browser might have set the attribute's value to an empty string instead of removing the attribute completely. An implication of this behavior was that this method only worked for documents with HTML DOM semantics (e.g., not pure XML documents).

        As of jQuery 1.12/2.2, this behavior is changed to improve the support for XML documents, including SVG. Starting from this version, the class attribute is used instead. So, .removeClass() can be used on XML or SVG documents.

        More than one class may be removed at a time, separated by a space, from the set of matched elements, like so:

        @@ -42,7 +48,7 @@ $( "li" ).last().removeClass(function() { Remove the class 'blue' from the matched elements.
        + + + + + Remove the class 'blue' and 'under' from the matched elements (3.3+ syntax). + Date: Fri, 17 Jul 2020 04:53:42 -0400 Subject: [PATCH 095/222] jQuery.post: Indicate POST is mainly for sending data, not receiving it --- entries/jQuery.post.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.post.xml b/entries/jQuery.post.xml index 9be8d43b..7d8f86b7 100644 --- a/entries/jQuery.post.xml +++ b/entries/jQuery.post.xml @@ -27,7 +27,7 @@ A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. Type will automatically be set to POST. - Load data from the server using a HTTP POST request. + Send data to the server using a HTTP POST request.

        This is a shorthand Ajax function, which is equivalent to:

        
        
        From cd40fa30b230f0872e47a5d3c7286cacce7a767f Mon Sep 17 00:00:00 2001
        From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
         
        Date: Fri, 17 Jul 2020 10:54:00 +0200
        Subject: [PATCH 096/222] 3.0.1
        
        ---
         package-lock.json | 2 +-
         package.json      | 2 +-
         2 files changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/package-lock.json b/package-lock.json
        index 29336a52..3c2567dd 100644
        --- a/package-lock.json
        +++ b/package-lock.json
        @@ -1,6 +1,6 @@
         {
           "name": "api.jquery.com",
        -  "version": "3.0.0",
        +  "version": "3.0.1",
           "lockfileVersion": 1,
           "requires": true,
           "dependencies": {
        diff --git a/package.json b/package.json
        index 1b2ee2b3..7c9ce0a0 100644
        --- a/package.json
        +++ b/package.json
        @@ -2,7 +2,7 @@
           "name": "api.jquery.com",
           "title": "jQuery API Docs",
           "description": "API reference documentation for the jQuery JavaScript Library.",
        -  "version": "3.0.0",
        +  "version": "3.0.1",
           "homepage": "https://github.com/jquery/api.jquery.com",
           "author": {
             "name": "jQuery Foundation and other contributors"
        
        From 1cdfd83eab82e8927aa6fe4f194539fa61b26906 Mon Sep 17 00:00:00 2001
        From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?=
         
        Date: Mon, 20 Jul 2020 18:41:13 +0200
        Subject: [PATCH 097/222] jQuery.globalEval: Document the document parameter
        
        Since jQuery 3.5.0, jQuery.globalEval accepts an optional third parameter
        accepting a document in which context the code will be evaluated.
        
        This commit also adds the Document type and links it to one of the jQuery
        signatures; so far it was using `type="document"` which linked to a non-existent
        types section.
        
        Closes gh-1168
        Ref jquery/jquery#4601
        ---
         entries/jQuery.globalEval.xml | 14 ++++++++++++++
         entries/jQuery.xml            |  2 +-
         pages/Types.html              |  2 ++
         3 files changed, 17 insertions(+), 1 deletion(-)
        
        diff --git a/entries/jQuery.globalEval.xml b/entries/jQuery.globalEval.xml
        index 1900cd78..19b9f9c9 100644
        --- a/entries/jQuery.globalEval.xml
        +++ b/entries/jQuery.globalEval.xml
        @@ -18,6 +18,20 @@
               
             
           
        +  
        +    3.5.0
        +    
        +      The JavaScript code to execute.
        +    
        +    
        +      
        +        The nonce attribute passed to the executed script.
        +      
        +    
        +    
        +      A document in which context the code will be evaluated.
        +    
        +  
           Execute some JavaScript code globally.
           
             

        This method behaves differently from using a normal JavaScript eval() in that it's executed within the global context (which is important for loading external scripts dynamically).

        diff --git a/entries/jQuery.xml b/entries/jQuery.xml index b31102b5..5e549a7d 100644 --- a/entries/jQuery.xml +++ b/entries/jQuery.xml @@ -155,7 +155,7 @@ $( myForm.elements ).hide(); A string of HTML to create on the fly. Note that this parses HTML, not XML. - + A document in which the new elements will be created. diff --git a/pages/Types.html b/pages/Types.html index 6221434f..ad8285ae 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -663,6 +663,8 @@

        Promise Object

        Callbacks Object

        A multi-purpose object that provides a powerful way to manage callback lists. It supports adding, removing, firing, and disabling callbacks. The Callbacks object is created and returned by the $.Callbacks function and subsequently returned by most of that function's methods.

        +

        Document

        +

        A document object created by the browser's DOM parser, usually from a string representing HTML or XML.

        XML Document

        A document object created by the browser's XML DOM parser, usually from a string representing XML. XML documents have different semantics than HTML documents, but most of the traversing and manipulation methods provided by jQuery will work with them.

        Assert

        From 44e75edd8c509bdae2b851e11137dd199c97b6d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 20 Jul 2020 18:41:33 +0200 Subject: [PATCH 098/222] 3.0.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3c2567dd..5820926b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.1", + "version": "3.0.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 7c9ce0a0..b1f03952 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.1", + "version": "3.0.2", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 1e3b1639dfd141ed985ae0297441294bf3db3308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 27 Jul 2020 19:06:59 +0200 Subject: [PATCH 099/222] jQuery: Document the jQuery(selector, selector) signature Fixes gh-1060 Closes gh-1169 --- entries/jQuery.xml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/entries/jQuery.xml b/entries/jQuery.xml index 5e549a7d..a2be2248 100644 --- a/entries/jQuery.xml +++ b/entries/jQuery.xml @@ -11,7 +11,8 @@ - A DOM Element, Document, or jQuery to use as context + + A DOM Element, Document, jQuery or selector to use as context From f40063eb0d058562c076fd1b1fd4425fe77e83db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 27 Jul 2020 19:07:35 +0200 Subject: [PATCH 100/222] jQuery.extend: Separate the one-argument signature from the multiple-arguments one This is done to reduce the confusion as the single-argument signature behaves completely differently than the other one. Ref jquery/jquery#4748 Fixes gh-1164 Closes gh-1170 --- entries/jQuery.extend.xml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/entries/jQuery.extend.xml b/entries/jQuery.extend.xml index 56fbab89..47262615 100644 --- a/entries/jQuery.extend.xml +++ b/entries/jQuery.extend.xml @@ -4,9 +4,9 @@ 1.0 - An object that will receive the new properties if additional objects are passed in or that will extend the jQuery namespace if it is the sole argument. + An object that will receive the new properties. - + An object containing additional properties to merge in. @@ -28,6 +28,12 @@ Additional objects containing properties to merge in. + + 1.0 + + An object to merge onto the jQuery namespace. + + Merge the contents of two or more objects together into the first object.

        When two or more object arguments are supplied to $.extend(), properties from all of the objects are added to the target object. Arguments that are null or undefined are ignored.

        From 93102d393d6753df9ad7e8366853ba066e895c60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 27 Jul 2020 22:52:28 +0200 Subject: [PATCH 101/222] 3.0.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5820926b..25a7f281 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.2", + "version": "3.0.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b1f03952..49b85638 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.2", + "version": "3.0.3", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 2c22351912ac3c9d1f771de8509c94c3b6ad793f Mon Sep 17 00:00:00 2001 From: Rani Kheir <56330674+rani-k@users.noreply.github.com> Date: Tue, 11 Aug 2020 11:58:20 -0700 Subject: [PATCH 102/222] jQuery.get: Add an example using a root-relative path Added a `jQuery.get()` example to show how to request a different page from the root of the same domain. Closes gh-1152 --- entries/jQuery.get.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/entries/jQuery.get.xml b/entries/jQuery.get.xml index 55009de2..16b764d4 100644 --- a/entries/jQuery.get.xml +++ b/entries/jQuery.get.xml @@ -116,13 +116,24 @@ $.get( "test.cgi", { name: "John", time: "2pm" } ) ]]>
        - Get the test.php page contents, which has been returned in json format (<?php echo json_encode( array( "name"=>"John","time"=>"2pm" ) ); ?>), and add it to the page. + Get the test.php page contents, which has been returned in json format (<?php echo json_encode( array( "name"=>"John","time"=>"2pm" ) ); ?>), and add it to the page. + + + Get another page on the same domain. Outputs to console both the data returned and the type of data returned. + From 77c9c6db7fd7a99a11ae7b3f4323a0c7f67ecb09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Tue, 11 Aug 2020 20:58:42 +0200 Subject: [PATCH 103/222] 3.0.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25a7f281..6c4eb2fe 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.3", + "version": "3.0.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 49b85638..58c86cbf 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.3", + "version": "3.0.4", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 5120543c7030f0b8e2db45b0c561cb3e494cbaac Mon Sep 17 00:00:00 2001 From: Sedat Kapanoglu Date: Mon, 24 Aug 2020 12:50:59 -0700 Subject: [PATCH 104/222] jQuery.trim: Describe differences between String#trim & jQuery.trim `jQuery.trim` supports non-string arguments while `String#trim` does not. Note these differences. Fixes gh-1174 Closes gh-1175 --- entries/jQuery.trim.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.trim.xml b/entries/jQuery.trim.xml index cac7e358..6732a155 100644 --- a/entries/jQuery.trim.xml +++ b/entries/jQuery.trim.xml @@ -10,7 +10,7 @@ Remove the whitespace from the beginning and end of a string.
        -

        Note: This API has been deprecated in jQuery 3.5; please use the native String.prototype.trim method instead.

        +

        Note: This API has been deprecated in jQuery 3.5; please use the native String.prototype.trim method instead. Unlike jQuery.trim, String.prototype.trim does not work with types other than strings (null, undefined, Number). Make sure that your code is compatible when migrating.

        The $.trim() function removes all newlines, spaces (including non-breaking spaces), and tabs from the beginning and end of the supplied string. If these whitespace characters occur in the middle of the string, they are preserved.

        From df1f7b00faf6bd5ea229ac2dd92e032d1ce2c65f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 24 Aug 2020 21:51:49 +0200 Subject: [PATCH 105/222] jQuery.ajax: Document special handling of a double question mark Fixes gh-999 Closes gh-1171 Ref gh-1005 Co-authored-by: Dave Methvin --- entries/jQuery.ajax.xml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index dfe7f3cc..991e23ee 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -84,7 +84,12 @@ $.ajax({ - Data to be sent to the server. It is converted to a query string, if not already a string. It's appended to the url for GET-requests. See processData option to prevent this automatic processing. Object must be Key/Value pairs. If value is an Array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below). + +

        Data to be sent to the server. If the HTTP method is one that cannot have an entity body, such as GET, the data is appended to the URL.

        +

        When data is an object, jQuery generates the data string from the object's key/value pairs unless the processData option is set to false. For example, { a: "bc", d: "e,f" } is converted to the string "a=bc&d=e%2Cf". If the value is an array, jQuery serializes multiple values with same key based on the value of the traditional setting (described below). For example, { a: [1,2] } becomes the string "a%5B%5D=1&a%5B%5D=2" with the default traditional: false setting.

        +

        When data is passed as a string it should already be encoded using the correct encoding for contentType, which by default is application/x-www-form-urlencoded.

        +

        In requests with dataType: "json" or dataType: "jsonp", if the string contains a double question mark (??) anywhere in the URL or a single question mark (?) in the query string, it is replaced with a value generated by jQuery that is unique for each copy of the library on the page (e.g. jQuery21406515378922229067_1479880736745).

        +
        From 17ab5dbe56c677f67fb7c2d08853f1883abbc41b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 24 Aug 2020 21:53:32 +0200 Subject: [PATCH 106/222] 3.0.5 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6c4eb2fe..24da4a28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.4", + "version": "3.0.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 58c86cbf..d9de68ab 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.4", + "version": "3.0.5", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 9d500d69e3b573d19ea885da14333e2fe6de51c9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 11 Dec 2020 20:40:50 +0100 Subject: [PATCH 107/222] Build: Bump ini from 1.3.5 to 1.3.7 Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.7. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](https://github.com/isaacs/ini/compare/v1.3.5...v1.3.7) Closes gh-1179 Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 24da4a28..a381061f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1048,9 +1048,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==" + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", + "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" }, "interpret": { "version": "1.1.0", From 92dc5273b529f6d9b0629904080933fe5b100452 Mon Sep 17 00:00:00 2001 From: Jian Zhang Date: Tue, 19 Jan 2021 05:42:10 +0800 Subject: [PATCH 108/222] Fixed a contradiction about .attr("checked") Close #288. --- entries/attr.xml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/entries/attr.xml b/entries/attr.xml index 2dc8a25e..825fce9b 100644 --- a/entries/attr.xml +++ b/entries/attr.xml @@ -49,17 +49,10 @@ $( elem ).attr( "checked" ) - (1.6) + (1.6+) "checked" (String) Initial state of the checkbox; does not change - - - $( elem ).attr( "checked" ) - (1.6.1+) - - "checked" (String) Will change with checkbox state - $( elem ).attr( "checked" ) From e5f5d6ca8f216a037bb9896fa01d8eb766ebf6ec Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Tue, 16 Mar 2021 02:10:30 +0000 Subject: [PATCH 109/222] 3.0.6 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index a381061f..12cda7a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.5", + "version": "3.0.6", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index d9de68ab..5caf5041 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.5", + "version": "3.0.6", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From a46c18011a9b9ca82d9a7657f6f02c0e58e01b64 Mon Sep 17 00:00:00 2001 From: Kid <44045911+kidonng@users.noreply.github.com> Date: Thu, 8 Apr 2021 21:04:27 +0800 Subject: [PATCH 110/222] addClass:removeClass:toggleClass: Update function signatures From jQuery 3.3.0[1], if using a function as a argument for `.addClass`, `.removeClass` and `.toggleClass`, the function is allowed to return an `Array`. However, this was not reflected in the return types. This change documents that new signature. Closes gh-1183 [1] https://blog.jquery.com/2018/01/19/jquery-3-3-0-a-fragrant-bouquet-of-deprecations-and-is-that-a-new-feature/ --- entries/addClass.xml | 12 +++++++++++- entries/removeClass.xml | 12 +++++++++++- entries/toggleClass.xml | 16 +++++++++++++++- 3 files changed, 37 insertions(+), 3 deletions(-) diff --git a/entries/addClass.xml b/entries/addClass.xml index 9af9723a..39d6a0bf 100644 --- a/entries/addClass.xml +++ b/entries/addClass.xml @@ -16,12 +16,22 @@ 1.4 - A function returning one or more space-separated classes or an array of classes to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. + A function returning one or more space-separated class names to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. + + 3.3 + + A function returning one or more space-separated class names or an array of class names to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. + + + + + + Adds the specified class(es) to each element in the set of matched elements.

        It's important to note that this method does not replace a class. It simply adds the class, appending it to any which may already be assigned to the elements.

        diff --git a/entries/removeClass.xml b/entries/removeClass.xml index 03b02f0c..c2daa31c 100644 --- a/entries/removeClass.xml +++ b/entries/removeClass.xml @@ -19,7 +19,17 @@ - A function returning one or more space-separated classes or an array of classes to be removed. Receives the index position of the element in the set and the old class value as arguments. + A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. + + + + 3.3 + + + + + + A function returning one or more space-separated class names or an array of class names to be removed. Receives the index position of the element in the set and the old class value as arguments. Remove a single class, multiple classes, or all classes from each element in the set of matched elements. diff --git a/entries/toggleClass.xml b/entries/toggleClass.xml index a1b50ca1..3ce8196c 100644 --- a/entries/toggleClass.xml +++ b/entries/toggleClass.xml @@ -39,7 +39,21 @@ - A function that returns one or more space-separated classes or an array of classes to be toggled in the class attribute of each element in the matched set. Receives the index position of the element in the set, the old class value, and the state as arguments. + A function returning one or more space-separated class names to be toggled in the class attribute of each element in the matched set. Receives the index position of the element in the set, the old class value, and the state as arguments. + + + A boolean value to determine whether the class should be added or removed. + + + + 3.3 + + + + + + + A function returning one or more space-separated class names or an array of class names to be toggled in the class attribute of each element in the matched set. Receives the index position of the element in the set, the old class value, and the state as arguments. A boolean value to determine whether the class should be added or removed. From 07862e9a040f1ec3f3c6a0d2e708aa8542d1bf31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 8 Apr 2021 15:05:17 +0200 Subject: [PATCH 111/222] 3.0.7 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12cda7a5..fe1001fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.6", + "version": "3.0.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5caf5041..31e00bc5 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.6", + "version": "3.0.7", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From c887da7acdf4d4bb2631b6d96f5e38d046527243 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 7 May 2021 11:15:24 +0200 Subject: [PATCH 112/222] Build: Bump grunt from 1.0.4 to 1.3.0 Bumps [grunt](https://github.com/gruntjs/grunt) from 1.0.4 to 1.3.0. - [Release notes](https://github.com/gruntjs/grunt/releases) - [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG) - [Commits](https://github.com/gruntjs/grunt/compare/v1.0.4...v1.3.0) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Closes gh-1186 --- package-lock.json | 537 ++++++++-------------------------------------- package.json | 2 +- 2 files changed, 91 insertions(+), 448 deletions(-) diff --git a/package-lock.json b/package-lock.json index fe1001fd..59f15e7c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,11 +24,11 @@ "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" }, "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "requires": { - "color-convert": "^1.9.0" + "color-convert": "^2.0.1" } }, "argparse": { @@ -66,11 +66,6 @@ "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" }, - "array-find-index": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", - "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" - }, "array-slice": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", @@ -87,9 +82,9 @@ "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" }, "async": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", - "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", + "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" }, "atob": { "version": "2.1.2", @@ -203,28 +198,13 @@ "unset-value": "^1.0.0" } }, - "camelcase": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", - "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" - }, - "camelcase-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", - "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", - "requires": { - "camelcase": "^2.0.0", - "map-obj": "^1.0.0" - } - }, "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", + "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" } }, "cheerio": { @@ -267,11 +247,6 @@ } } }, - "coffeescript": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/coffeescript/-/coffeescript-1.10.0.tgz", - "integrity": "sha1-56qDAZF+9iGzXYo580jc3R234z4=" - }, "collection-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", @@ -282,17 +257,17 @@ } }, "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "requires": { - "color-name": "1.1.3" + "color-name": "~1.1.4" } }, "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colors": { "version": "1.1.2", @@ -319,22 +294,10 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" }, - "currently-unhandled": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", - "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", - "requires": { - "array-find-index": "^1.0.1" - } - }, "dateformat": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", - "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", - "requires": { - "get-stdin": "^4.0.1", - "meow": "^3.3.0" - } + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" }, "debug": { "version": "2.6.9", @@ -344,11 +307,6 @@ "ms": "2.0.0" } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", @@ -438,19 +396,6 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==" }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -610,15 +555,6 @@ } } }, - "find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", - "requires": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, "findup-sync": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz", @@ -684,20 +620,15 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "get-stdin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", - "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" - }, "get-value": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" }, "getobject": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz", - "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.0.tgz", + "integrity": "sha512-tbUz6AKKKr2YiMB+fLWIgq5ZeBOobop9YMMAU9dC54/ot2ksMXt3DOFyBuhZw6ptcVszEykgByK20j7W9jHFag==" }, "gilded-wordpress": { "version": "1.0.5", @@ -736,14 +667,14 @@ } }, "glob": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz", - "integrity": "sha1-IRuvr0nlJbjNkyYNFKsTYVKz9Xo=", + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.2", + "minimatch": "^3.0.4", "once": "^1.3.0", "path-is-absolute": "^1.0.0" } @@ -770,51 +701,26 @@ "which": "^1.2.14" } }, - "graceful-fs": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.2.tgz", - "integrity": "sha512-IItsdsea19BoLC7ELy13q1iJFNmd7ofZH5+X/pJr90/nRoPEX0DJo1dHDbgtYWOhJhcCgMDTOw84RZ72q6lB+Q==" - }, "grunt": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.0.4.tgz", - "integrity": "sha512-PYsMOrOC+MsdGEkFVwMaMyc6Ob7pKmq+deg1Sjr+vvMWp35sztfwKE7qoN51V+UEtHsyNuMcGdgMLFkBHvMxHQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", + "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", "requires": { - "coffeescript": "~1.10.0", - "dateformat": "~1.0.12", + "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", - "exit": "~0.1.1", + "exit": "~0.1.2", "findup-sync": "~0.3.0", - "glob": "~7.0.0", - "grunt-cli": "~1.2.0", + "glob": "~7.1.6", + "grunt-cli": "~1.3.2", "grunt-known-options": "~1.1.0", - "grunt-legacy-log": "~2.0.0", - "grunt-legacy-util": "~1.1.1", + "grunt-legacy-log": "~3.0.0", + "grunt-legacy-util": "~2.0.0", "iconv-lite": "~0.4.13", - "js-yaml": "~3.13.0", - "minimatch": "~3.0.2", - "mkdirp": "~0.5.1", + "js-yaml": "~3.14.0", + "minimatch": "~3.0.4", + "mkdirp": "~1.0.4", "nopt": "~3.0.6", - "path-is-absolute": "~1.0.0", - "rimraf": "~2.6.2" - }, - "dependencies": { - "grunt-cli": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz", - "integrity": "sha1-VisRnrsGndtGSs4oRVAb6Xs1tqg=", - "requires": { - "findup-sync": "~0.3.0", - "grunt-known-options": "~1.1.0", - "nopt": "~3.0.6", - "resolve": "~1.1.0" - } - }, - "resolve": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", - "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=" - } + "rimraf": "~3.0.2" } }, "grunt-check-modules": { @@ -886,37 +792,47 @@ "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==" }, "grunt-legacy-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-2.0.0.tgz", - "integrity": "sha512-1m3+5QvDYfR1ltr8hjiaiNjddxGdQWcH0rw1iKKiQnF0+xtgTazirSTGu68RchPyh1OBng1bBUjLmX8q9NpoCw==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", + "integrity": "sha512-GHZQzZmhyq0u3hr7aHW4qUH0xDzwp2YXldLPZTCjlOeGscAOWWPftZG3XioW8MasGp+OBRIu39LFx14SLjXRcA==", "requires": { "colors": "~1.1.2", - "grunt-legacy-log-utils": "~2.0.0", + "grunt-legacy-log-utils": "~2.1.0", "hooker": "~0.2.3", - "lodash": "~4.17.5" + "lodash": "~4.17.19" } }, "grunt-legacy-log-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.0.1.tgz", - "integrity": "sha512-o7uHyO/J+i2tXG8r2bZNlVk20vlIFJ9IEYyHMCQGfWYru8Jv3wTqKZzvV30YW9rWEjq0eP3cflQ1qWojIe9VFA==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-2.1.0.tgz", + "integrity": "sha512-lwquaPXJtKQk0rUM1IQAop5noEpwFqOXasVoedLeNzaibf/OPWjKYvvdqnEHNmU+0T0CaReAXIbGo747ZD+Aaw==", "requires": { - "chalk": "~2.4.1", - "lodash": "~4.17.10" + "chalk": "~4.1.0", + "lodash": "~4.17.19" } }, "grunt-legacy-util": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.1.1.tgz", - "integrity": "sha512-9zyA29w/fBe6BIfjGENndwoe1Uy31BIXxTH3s8mga0Z5Bz2Sp4UCjkeyv2tI449ymkx3x26B+46FV4fXEddl5A==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-2.0.1.tgz", + "integrity": "sha512-2bQiD4fzXqX8rhNdXkAywCadeqiPiay0oQny77wA2F3WF4grPJXCvAcyoWUJV+po/b15glGkxuSiQCK299UC2w==", "requires": { - "async": "~1.5.2", - "exit": "~0.1.1", - "getobject": "~0.1.0", + "async": "~3.2.0", + "exit": "~0.1.2", + "getobject": "~1.0.0", "hooker": "~0.2.3", - "lodash": "~4.17.10", - "underscore.string": "~3.3.4", - "which": "~1.3.0" + "lodash": "~4.17.21", + "underscore.string": "~3.3.5", + "which": "~2.0.2" + }, + "dependencies": { + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } + } } }, "grunt-wordpress": { @@ -928,9 +844,9 @@ } }, "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-value": { "version": "1.0.0", @@ -984,11 +900,6 @@ "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz", "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=" }, - "hosted-git-info": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.4.tgz", - "integrity": "sha512-pzXIvANXEFrc5oFFXRMkbLPQ2rXRoDERwDLyrcUxGhaZhgP54BBSl9Oheh7Vv0T090cszWBxPjkQQ5Sq1PbBRQ==" - }, "htmlparser2": { "version": "3.7.3", "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz", @@ -1025,14 +936,6 @@ "safer-buffer": ">= 2.1.2 < 3" } }, - "indent-string": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", - "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", - "requires": { - "repeating": "^2.0.0" - } - }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", @@ -1084,11 +987,6 @@ } } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" - }, "is-buffer": { "version": "1.1.6", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", @@ -1139,14 +1037,6 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, - "is-finite": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": { - "number-is-nan": "^1.0.0" - } - }, "is-glob": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", @@ -1197,11 +1087,6 @@ "unc-path-regex": "^0.1.2" } }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" - }, "is-windows": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", @@ -1223,9 +1108,9 @@ "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" }, "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -1264,31 +1149,10 @@ } } }, - "load-json-file": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", - "requires": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - } - }, "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "loud-rejection": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", - "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", - "requires": { - "currently-unhandled": "^0.4.1", - "signal-exit": "^3.0.0" - } + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "make-iterator": { "version": "1.0.1", @@ -1303,11 +1167,6 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, - "map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" - }, "map-visit": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", @@ -1321,23 +1180,6 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz", "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk=" }, - "meow": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", - "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", - "requires": { - "camelcase-keys": "^2.0.0", - "decamelize": "^1.1.2", - "loud-rejection": "^1.0.0", - "map-obj": "^1.0.1", - "minimist": "^1.1.3", - "normalize-package-data": "^2.3.4", - "object-assign": "^4.0.1", - "read-pkg-up": "^1.0.1", - "redent": "^1.0.0", - "trim-newlines": "^1.0.0" - } - }, "micromatch": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", @@ -1366,11 +1208,6 @@ "brace-expansion": "^1.1.7" } }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" - }, "mixin-deep": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", @@ -1391,19 +1228,9 @@ } }, "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" - } - } + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, "ms": { "version": "2.0.0", @@ -1436,27 +1263,6 @@ "abbrev": "1" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" - }, "object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", @@ -1558,14 +1364,6 @@ "path-root": "^0.1.1" } }, - "parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", - "requires": { - "error-ex": "^1.2.0" - } - }, "parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", @@ -1576,14 +1374,6 @@ "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" }, - "path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", - "requires": { - "pinkie-promise": "^2.0.0" - } - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -1607,58 +1397,11 @@ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" }, - "path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", - "requires": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", - "requires": { - "pinkie": "^2.0.0" - } - }, "posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" }, - "read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", - "requires": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" - } - }, - "read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", - "requires": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" - } - }, "readable-stream": { "version": "1.1.14", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", @@ -1685,15 +1428,6 @@ "resolve": "^1.1.6" } }, - "redent": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", - "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", - "requires": { - "indent-string": "^2.1.0", - "strip-indent": "^1.0.1" - } - }, "regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", @@ -1713,14 +1447,6 @@ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" }, - "repeating": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": { - "is-finite": "^1.0.0" - } - }, "resolve": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", @@ -1749,26 +1475,11 @@ "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" }, "rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "requires": { "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.1.4", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } } }, "safe-regex": { @@ -1789,11 +1500,6 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" - }, "set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", @@ -1815,11 +1521,6 @@ } } }, - "signal-exit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" - }, "snapdragon": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", @@ -1944,34 +1645,6 @@ "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz", "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=" }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==" - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==" - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -2009,28 +1682,12 @@ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" }, - "strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", - "requires": { - "is-utf8": "^0.2.0" - } - }, - "strip-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", - "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", - "requires": { - "get-stdin": "^4.0.1" - } - }, "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "requires": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" } }, "to-object-path": { @@ -2071,11 +1728,6 @@ "repeat-string": "^1.6.1" } }, - "trim-newlines": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", - "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" - }, "unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", @@ -2160,15 +1812,6 @@ "homedir-polyfill": "^1.0.1" } }, - "validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, "which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", diff --git a/package.json b/package.json index 31e00bc5..d7d80011 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "test": "grunt lint" }, "dependencies": { - "grunt": "1.0.4", + "grunt": "1.3.0", "grunt-cli": "1.3.2", "grunt-jquery-content": "3.0.3" } From a3af063201a7d2cf9666621e5312ee45849a9f53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 13 May 2021 15:36:44 +0200 Subject: [PATCH 113/222] Build: Update grunt & grunt-cli --- package-lock.json | 1024 +++++---------------------------------------- package.json | 4 +- 2 files changed, 102 insertions(+), 926 deletions(-) diff --git a/package-lock.json b/package-lock.json index 59f15e7c..f614f714 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,21 +46,6 @@ } } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" - }, "array-each": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", @@ -71,80 +56,15 @@ "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==" }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" - }, "async": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz", "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw==" }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" - }, "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, "brace-expansion": { "version": "1.1.11", @@ -156,46 +76,11 @@ } }, "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" + "fill-range": "^7.0.1" } }, "chalk": { @@ -226,36 +111,6 @@ } } }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } - }, "color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -274,21 +129,11 @@ "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" - }, "core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -299,56 +144,6 @@ "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==" }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "detect-file": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", @@ -411,38 +206,6 @@ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=" }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, "expand-tilde": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", @@ -456,103 +219,12 @@ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } + "to-regex-range": "^5.0.1" } }, "findup-sync": { @@ -607,23 +279,15 @@ "for-in": "^1.0.1" } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", - "requires": { - "map-cache": "^0.2.2" - } - }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "getobject": { "version": "1.0.0", @@ -702,19 +366,19 @@ } }, "grunt": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.3.0.tgz", - "integrity": "sha512-6ILlMXv11/4cxuhSMfSU+SfvbxrPuqZrAtLN64+tZpQ3DAKfSQPQHRbTjSbdtxfyQhGZPtN0bDZJ/LdCM5WXXA==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz", + "integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==", "requires": { "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", "exit": "~0.1.2", "findup-sync": "~0.3.0", "glob": "~7.1.6", - "grunt-cli": "~1.3.2", - "grunt-known-options": "~1.1.0", + "grunt-cli": "~1.4.2", + "grunt-known-options": "~1.1.1", "grunt-legacy-log": "~3.0.0", - "grunt-legacy-util": "~2.0.0", + "grunt-legacy-util": "~2.0.1", "iconv-lite": "~0.4.13", "js-yaml": "~3.14.0", "minimatch": "~3.0.4", @@ -729,21 +393,21 @@ "integrity": "sha1-fBZB28ZlSGdqbVl5Ga35C3s11kQ=" }, "grunt-cli": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz", - "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==", + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz", + "integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==", "requires": { - "grunt-known-options": "~1.1.0", + "grunt-known-options": "~1.1.1", "interpret": "~1.1.0", - "liftoff": "~2.5.0", + "liftup": "~3.0.1", "nopt": "~4.0.1", - "v8flags": "~3.1.1" + "v8flags": "~3.2.0" }, "dependencies": { "nopt": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", - "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", "requires": { "abbrev": "1", "osenv": "^0.1.4" @@ -843,40 +507,19 @@ "gilded-wordpress": "1.0.5" } }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, "he": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", @@ -951,9 +594,9 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz", - "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ==" + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "interpret": { "version": "1.1.0", @@ -969,99 +612,31 @@ "is-windows": "^1.0.1" } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "is-core-module": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz", + "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==", "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } + "has": "^1.0.3" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" - } - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" - }, "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" }, "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", "requires": { - "is-extglob": "^2.1.0" + "is-extglob": "^2.1.1" } }, "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" }, "is-plain-object": { "version": "2.0.4", @@ -1093,9 +668,9 @@ "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" }, "isexe": { "version": "2.0.0", @@ -1117,33 +692,33 @@ } }, "kind-of": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", - "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==" - }, - "liftoff": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz", - "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + }, + "liftup": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/liftup/-/liftup-3.0.1.tgz", + "integrity": "sha512-yRHaiQDizWSzoXk3APcA71eOI/UuhEkNN9DiW2Tt44mhYzX4joFoCZlxsSOF7RyeLlfqzFLQI1ngFq3ggMPhOw==", "requires": { - "extend": "^3.0.0", - "findup-sync": "^2.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", + "extend": "^3.0.2", + "findup-sync": "^4.0.0", + "fined": "^1.2.0", + "flagged-respawn": "^1.0.1", "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" + "object.map": "^1.0.1", + "rechoir": "^0.7.0", + "resolve": "^1.19.0" }, "dependencies": { "findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-4.0.0.tgz", + "integrity": "sha512-6jvvn/12IC4quLBL1KNokxC7wWTvYncaVUYSoxWw7YykPLuRrnv4qdHcSOywOI5RpkOVGeQRtWM8/q+G6W6qfQ==", "requires": { "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", + "is-glob": "^4.0.0", + "micromatch": "^4.0.2", "resolve-dir": "^1.0.1" } } @@ -1167,37 +742,18 @@ "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", - "requires": { - "object-visit": "^1.0.0" - } - }, "marked": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz", "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk=" }, "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "braces": "^3.0.1", + "picomatch": "^2.2.3" } }, "minimatch": { @@ -1208,53 +764,11 @@ "brace-expansion": "^1.1.7" } }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, "mkdirp": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, "nopt": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz", @@ -1263,42 +777,6 @@ "abbrev": "1" } }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", - "requires": { - "isobject": "^3.0.0" - } - }, "object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", @@ -1369,11 +847,6 @@ "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" - }, "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", @@ -1397,10 +870,10 @@ "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + "picomatch": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz", + "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" }, "readable-stream": { "version": "1.1.14", @@ -1411,47 +884,22 @@ "inherits": "~2.0.1", "isarray": "0.0.1", "string_decoder": "~0.10.x" - }, - "dependencies": { - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - } } }, "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.0.tgz", + "integrity": "sha512-ADsDEH2bvbjltXEP+hTIAmeFekTFK0V2BTxMkok6qILyAJEXV0AFfoWcAq4yfll5VdIMd/RVXq0lR+wQi5ZU3Q==", "requires": { - "resolve": "^1.1.6" + "resolve": "^1.9.0" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" - }, "resolve": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", - "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", "requires": { + "is-core-module": "^2.2.0", "path-parse": "^1.0.6" } }, @@ -1464,16 +912,6 @@ "global-modules": "^1.0.0" } }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" - }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" - }, "rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -1482,14 +920,6 @@ "glob": "^7.1.3" } }, - "safe-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "requires": { - "ret": "~0.1.10" - } - }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -1500,183 +930,16 @@ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", - "requires": { - "kind-of": "^3.2.0" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - }, - "source-map-resolve": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", - "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", - "requires": { - "atob": "^2.1.1", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" - } - }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" - }, "spawnback": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz", "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=" }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", - "requires": { - "extend-shallow": "^3.0.0" - } - }, "sprintf-js": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, "string_decoder": { "version": "0.10.31", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", @@ -1690,42 +953,12 @@ "has-flag": "^4.0.0" } }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" - } - }, "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" + "is-number": "^7.0.0" } }, "unc-path-regex": { @@ -1742,72 +975,15 @@ "util-deprecate": "^1.0.2" } }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" - } - }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "requires": { - "isarray": "1.0.0" - } - } - } - }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" - } - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" - }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" }, "v8flags": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.3.tgz", - "integrity": "sha512-amh9CCg3ZxkzQ48Mhcb8iX7xpAfYJgePHxWMQCBWECpOSqJUXgY26ncA61UTV0BkPqfhcy6mzwCIoP4ygxpW8w==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", "requires": { "homedir-polyfill": "^1.0.1" } diff --git a/package.json b/package.json index d7d80011..36813e14 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "test": "grunt lint" }, "dependencies": { - "grunt": "1.3.0", - "grunt-cli": "1.3.2", + "grunt": "1.4.0", + "grunt-cli": "1.4.2", "grunt-jquery-content": "3.0.3" } } From 912b852f0ee81455b0bbe7fc3dc6355200990c90 Mon Sep 17 00:00:00 2001 From: Timmy Willison <4timmywil@gmail.com> Date: Thu, 13 May 2021 15:46:15 -0400 Subject: [PATCH 114/222] removeProp: clarify recommendations regarding native properties Ref https://github.com/jquery/jquery/issues/4887 Close gh-1189 --- entries/removeProp.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/entries/removeProp.xml b/entries/removeProp.xml index 987ab339..cc918d29 100644 --- a/entries/removeProp.xml +++ b/entries/removeProp.xml @@ -10,8 +10,8 @@ Remove a property for the set of matched elements.

        The .removeProp() method removes properties set by the .prop() method.

        -

        With some built-in properties of a DOM element or window object, browsers may generate an error if an attempt is made to remove the property. jQuery first assigns the value undefined to the property and ignores any error the browser generates. In general, it is only necessary to remove custom properties that have been set on an object, and not built-in (native) properties.

        -

        Note: Do not use this method to remove native properties such as checked, disabled, or selected. This will remove the property completely and, once removed, cannot be added again to element. Use .prop() to set these properties to false instead.

        +

        Note:This method should not be used to remove built-in (native) properties such as "checked", "disabled", "selected", or others. This can lead to unexpected behavior.

        +

        It's almost always better to use .prop() to set native properties to false instead of removing them.

        From 17cdeda09f351226be6a8f75893ac59ff2354e01 Mon Sep 17 00:00:00 2001 From: Timmy Willison <4timmywil@gmail.com> Date: Fri, 14 May 2021 11:23:35 -0400 Subject: [PATCH 115/222] prop: change wording about removeProp Ref gh-1189 --- entries/prop.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/prop.xml b/entries/prop.xml index 49ccceda..775b8062 100644 --- a/entries/prop.xml +++ b/entries/prop.xml @@ -144,7 +144,7 @@ $( "input" ).prop( "disabled", false ); $( "input" ).prop( "checked", true ); $( "input" ).val( "someValue" );
        -

        Important: the .removeProp() method should not be used to set these properties to false. Once a native property is removed, it cannot be added again. See .removeProp() for more information.

        +

        Important: the .removeProp() method should not be used to remove native properties. This will lead to unexpected behavior. See .removeProp() for more information.

        Computed property values

        By using a function to set properties, you can compute the value based on other properties of the element. For example, to toggle all checkboxes based off their individual values:

        
        
        From 2eec5a9cbfcdc0950f589aa54f8ea63001c640ca Mon Sep 17 00:00:00 2001
        From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?=
         
        Date: Mon, 17 May 2021 18:33:01 +0200
        Subject: [PATCH 116/222] CSS: Make it clear !important is not guaranteed to
         not work with `.css()`
        
        Closes gh-1188
        ---
         entries/css.xml | 6 +++---
         1 file changed, 3 insertions(+), 3 deletions(-)
        
        diff --git a/entries/css.xml b/entries/css.xml
        index 0fd97457..896cd4ca 100644
        --- a/entries/css.xml
        +++ b/entries/css.xml
        @@ -19,7 +19,7 @@
             
               

        The .css() method is a convenient way to get a computed style property from the first matched element, especially in light of the different ways browsers access most of those properties (the getComputedStyle() method in standards-based browsers versus the currentStyle and runtimeStyle properties in Internet Explorer prior to version 9) and the different terms browsers use for certain properties. For example, Internet Explorer's DOM implementation refers to the float property as styleFloat, while W3C standards-compliant browsers refer to it as cssFloat. For consistency, you can simply use "float", and jQuery will translate it to the correct value for each browser.

        Also, jQuery can equally interpret the CSS and DOM formatting of multiple-word properties. For example, jQuery understands and returns the correct value for both .css( "background-color" ) and .css( "backgroundColor" ). This means mixed case has a special meaning, .css( "WiDtH" ) won't do the same as .css( "width" ), for example.

        -

        Note that the computed style of an element may not be the same as the value specified for that element in a style sheet. For example, computed styles of dimensions are almost always pixels, but they can be specified as em, ex, px or % in a style sheet. Different browsers may return CSS color values that are logically but not textually equal, e.g., #FFF, #ffffff, and rgb(255,255,255).

        +

        Note that the computed style of an element may not be the same as the value specified for that element in a style sheet. For example, computed styles of dimensions are almost always pixels, but they can be specified as em, ex, px or % in a style sheet. Different browsers may return CSS color values that are logically but not textually equal, e.g., #FFF, #ffffff, and rgb(255,255,255).

        Retrieval of shorthand CSS properties (e.g., margin, background, border), although functional with some browsers, is not guaranteed. For example, if you want to retrieve the rendered border-width, use: $( elem ).css( "borderTopWidth" ), $( elem ).css( "borderBottomWidth" ), and so on.

        An element should be connected to the DOM when calling .css() on it. If it isn't, jQuery may throw an error.

        As of jQuery 1.9, passing an array of style properties to .css() will result in an object of property-value pairs. For example, to retrieve all four rendered border-width values, you could use $( elem ).css([ "borderTopWidth", "borderRightWidth", "borderBottomWidth", "borderLeftWidth" ]).

        @@ -130,7 +130,7 @@ $( "div" ).click(function() { A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. - + @@ -148,7 +148,7 @@ $( "div" ).click(function() {

        Also, jQuery can equally interpret the CSS and DOM formatting of multiple-word properties. For example, jQuery understands and returns the correct value for both .css({ "background-color": "#ffe", "border-left": "5px solid #ccc" }) and .css({backgroundColor: "#ffe", borderLeft: "5px solid #ccc" }). Notice that with the DOM notation, quotation marks around the property names are optional, but with CSS notation they're required due to the hyphen in the name.

        When a number is passed as the value, jQuery will convert it to a string and add px to the end of that string. If the property requires units other than px, convert the value to a string and add the appropriate units before calling the method.

        When using .css() as a setter, jQuery modifies the element's style property. For example, $( "#mydiv" ).css( "color", "green" ) is equivalent to document.getElementById( "mydiv" ).style.color = "green". Setting the value of a style property to an empty string — e.g. $( "#mydiv" ).css( "color", "" ) — removes that property from an element if it has already been directly applied, whether in the HTML style attribute, through jQuery's .css() method, or through direct DOM manipulation of the style property. As a consequence, the element's style for that property will be restored to whatever value was applied. So, this method can be used to cancel any style modification you have previously performed. It does not, however, remove a style that has been applied with a CSS rule in a stylesheet or <style> element. Warning: one notable exception is that, for IE 8 and below, removing a shorthand property such as border or background will remove that style entirely from the element, regardless of what is set in a stylesheet or <style> element.

        -

        Note: .css() ignores !important declarations. So, the statement $( "p" ).css( "color", "red !important" ) does not turn the color of all paragraphs in the page to red. It's strongly advised to use classes instead; otherwise use a jQuery plugin.

        +

        Note: .css() doesn't support !important declarations. So, the statement $( "p" ).css( "color", "red !important" ) does not turn the color of all paragraphs in the page to red as of jQuery 3.6.0. Do not depend on that not working, though, as a future version of jQuery may add support for such declarations. It's strongly advised to use classes instead; otherwise use a jQuery plugin.

        As of jQuery 1.8, the .css() setter will automatically take care of prefixing the property name. For example, take .css( "user-select", "none" ) in Chrome/Safari will set it as -webkit-user-select, Firefox will use -moz-user-select, and IE10 will use -ms-user-select.

        As of jQuery 1.6, .css() accepts relative values similar to .animate(). Relative values are a string starting with += or -= to increment or decrement the current value. For example, if an element's padding-left was 10px, .css( "padding-left", "+=15" ) would result in a total padding-left of 25px.

        As of jQuery 1.4, .css() allows us to pass a function as the property value:

        From ab8a2d3c0de868a30e1828247520e4f6e0361dda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Thu, 20 May 2021 18:06:11 +0200 Subject: [PATCH 117/222] removeClass: Separate the signature with no parameters signatures until one read the description. Closes gh-1187 --- entries/removeClass.xml | 369 +++++++++++++++++++++------------------- 1 file changed, 194 insertions(+), 175 deletions(-) diff --git a/entries/removeClass.xml b/entries/removeClass.xml index c2daa31c..2edb382d 100644 --- a/entries/removeClass.xml +++ b/entries/removeClass.xml @@ -1,177 +1,196 @@ - - .removeClass() - - 1.0 - - One or more space-separated classes to be removed from the class attribute of each matched element. - - - - 3.3 - - An array of classes to be removed from the class attribute of each matched element. - - - - 1.4 - - - - - A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. - - - - 3.3 - - - - - - A function returning one or more space-separated class names or an array of class names to be removed. Receives the index position of the element in the set and the old class value as arguments. - - + Remove a single class, multiple classes, or all classes from each element in the set of matched elements. - -

        If a class name is included as a parameter, then only that class will be removed from the set of matched elements. If no classes are specified in the parameter, all classes will be removed.

        -

        Before jQuery version 1.12/2.2, the .removeClass() method manipulated the className property of the selected elements, not the class attribute. Once the property was changed, it was the browser that updated the attribute accordingly. This means that when the class attribute was updated and the last class name was removed, the browser might have set the attribute's value to an empty string instead of removing the attribute completely. An implication of this behavior was that this method only worked for documents with HTML DOM semantics (e.g., not pure XML documents).

        -

        As of jQuery 1.12/2.2, this behavior is changed to improve the support for XML documents, including SVG. Starting from this version, the class attribute is used instead. So, .removeClass() can be used on XML or SVG documents.

        -

        More than one class may be removed at a time, separated by a space, from the set of matched elements, like so:

        -
        
        -$( "p" ).removeClass( "myClass yourClass" )
        -    
        -

        This method is often used with .addClass() to switch elements' classes from one to another, like so:

        -
        
        -$( "p" ).removeClass( "myClass noClass" ).addClass( "yourClass" );
        -    
        -

        Here, the myClass and noClass classes are removed from all paragraphs, while yourClass is added.

        -

        To replace all existing classes with another class, we can use .attr( "class", "newClass" ) instead.

        -

        As of jQuery 1.4, the .removeClass() method allows us to indicate the class to be removed by passing in a function.

        -
        
        -$( "li" ).last().removeClass(function() {
        -  return $( this ).prev().attr( "class" );
        -});
        -    
        -

        This example removes the class name of the penultimate <li> from the last <li>.

        -
        - - Remove the class 'blue' from the matched elements. - - - - - - Remove the class 'blue' and 'under' from the matched elements. - - - - - - Remove the class 'blue' and 'under' from the matched elements (3.3+ syntax). - - - - - - Remove all the classes from the matched elements. - - - - - - - - - - - -
        + + .removeClass( classes ) + + 1.0 + + One or more space-separated classes to be removed from the class attribute of each matched element. + + + + 3.3 + + An array of classes to be removed from the class attribute of each matched element. + + + + 1.4 + + + + + A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. + + + + 3.3 + + + + + + A function returning one or more space-separated class names or an array of class names to be removed. Receives the index position of the element in the set and the old class value as arguments. + + + Remove a single class or multiple classes from each element in the set of matched elements. + +

        Before jQuery version 1.12/2.2, the .removeClass() method manipulated the className property of the selected elements, not the class attribute. Once the property was changed, it was the browser that updated the attribute accordingly. This means that when the class attribute was updated and the last class name was removed, the browser might have set the attribute's value to an empty string instead of removing the attribute completely. An implication of this behavior was that this method only worked for documents with HTML DOM semantics (e.g., not pure XML documents).

        +

        As of jQuery 1.12/2.2, this behavior is changed to improve the support for XML documents, including SVG. Starting from this version, the class attribute is used instead. So, .removeClass() can be used on XML or SVG documents.

        +

        More than one class may be removed at a time, separated by a space, from the set of matched elements, like so:

        +
        
        +  $( "p" ).removeClass( "myClass yourClass" )
        +      
        +

        This method is often used with .addClass() to switch elements' classes from one to another, like so:

        +
        
        +  $( "p" ).removeClass( "myClass noClass" ).addClass( "yourClass" );
        +      
        +

        Here, the myClass and noClass classes are removed from all paragraphs, while yourClass is added.

        +

        To replace all existing classes with another class, we can use .attr( "class", "newClass" ) instead.

        +

        As of jQuery 1.4, the .removeClass() method allows us to indicate the class to be removed by passing in a function.

        +
        
        +  $( "li" ).last().removeClass(function() {
        +    return $( this ).prev().attr( "class" );
        +  });
        +      
        +

        This example removes the class name of the penultimate <li> from the last <li>.

        +
        + + Remove the class 'blue' from the matched elements. + + + + + + Remove the class 'blue' and 'under' from the matched elements. + + + + + + Remove the class 'blue' and 'under' from the matched elements (3.3+ syntax). + + + + + + + + + + + +
        + + + .removeClass() + + 1.0 + + Remove all classes from each matched element. + +

        Before jQuery version 1.12/2.2, the .removeClass() method manipulated the className property of the selected elements, not the class attribute. Once the property was changed, it was the browser that updated the attribute accordingly. This means that when the class attribute was updated and the last class name was removed, the browser might have set the attribute's value to an empty string instead of removing the attribute completely. An implication of this behavior was that this method only worked for documents with HTML DOM semantics (e.g., not pure XML documents).

        +

        As of jQuery 1.12/2.2, this behavior is changed to improve the support for XML documents, including SVG. Starting from this version, the class attribute is used instead. So, .removeClass() can be used on XML or SVG documents.

        +
        + + Remove all the classes from the matched elements. + + + + + + + + + +
        + From fe9ac2ac73d63e89b107dc0c6819308187fc535a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 20 May 2021 18:16:09 +0200 Subject: [PATCH 118/222] 3.0.8 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f614f714..5f77e2f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.7", + "version": "3.0.8", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 36813e14..f6ef8074 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.7", + "version": "3.0.8", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 4ee9b17c32188be3c045b4c596efedeea2b54ea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 20 May 2021 18:21:19 +0200 Subject: [PATCH 119/222] removeClass: Tweak the page title --- entries/removeClass.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/entries/removeClass.xml b/entries/removeClass.xml index 2edb382d..d66b9891 100644 --- a/entries/removeClass.xml +++ b/entries/removeClass.xml @@ -2,7 +2,7 @@ Remove a single class, multiple classes, or all classes from each element in the set of matched elements. - .removeClass( classes ) + .removeClass() 1.0 @@ -150,7 +150,6 @@ - .removeClass() 1.0 From e7ae1b435f896d2ed422d7e12f4f9bae9dd914ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 20 May 2021 18:22:14 +0200 Subject: [PATCH 120/222] 3.0.9 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5f77e2f5..3b35a43c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.8", + "version": "3.0.9", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index f6ef8074..0ee5e5db 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.8", + "version": "3.0.9", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From e7bd4f80cc2f33d833d24250465697504aa36d7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Sat, 22 May 2021 03:13:35 +0200 Subject: [PATCH 121/222] 3.0.10 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3b35a43c..2e823ed5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.9", + "version": "3.0.10", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 0ee5e5db..61477766 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.9", + "version": "3.0.10", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 2afc51e3c8373c2776a5e0200599124af2320742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Sat, 22 May 2021 12:53:30 +0200 Subject: [PATCH 122/222] Build: Update grunt-jquery-content Fixes gh-1184 Closes gh-1190 --- package-lock.json | 314 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 182 insertions(+), 134 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e823ed5..b638410f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4,20 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "CSSselect": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz", - "integrity": "sha1-+Kt+H4QYzmPNput713ioXX7EkrI=", - "requires": { - "CSSwhat": "0.4", - "domutils": "1.4" - } - }, - "CSSwhat": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz", - "integrity": "sha1-hn2g/zn3eGEyQsRM/qg/CqTr35s=" - }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -66,6 +52,11 @@ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -93,22 +84,26 @@ } }, "cheerio": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz", - "integrity": "sha1-+lrkLMYBIRM9KW0LRtmDIV9yaOo=", + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", "requires": { - "CSSselect": "~0.4.0", - "dom-serializer": "~0.0.0", + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", "entities": "~1.1.1", - "htmlparser2": "~3.7.2", - "lodash": "~2.4.1" - }, - "dependencies": { - "lodash": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", - "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" - } + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" } }, "color-convert": { @@ -134,10 +129,21 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-2.1.3.tgz", + "integrity": "sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg==" }, "dateformat": { "version": "3.0.3", @@ -150,19 +156,12 @@ "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" }, "dom-serializer": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz", - "integrity": "sha1-lYmCfx4y0iw3yCmtq9WbMkevjq8=", + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.1.tgz", + "integrity": "sha512-l0IU0pPzLWSHBcieZbpOKgkIn3ts3vAh7ZuFyXNwJxJXk/c4Gwj9xaTJwIDVQCXawWD0qb3IzMGH5rglQaO0XA==", "requires": { - "domelementtype": "~1.1.1", - "entities": "~1.1.1" - }, - "dependencies": { - "domelementtype": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz", - "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=" - } + "domelementtype": "^1.3.0", + "entities": "^1.1.1" } }, "domelementtype": { @@ -171,18 +170,19 @@ "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==" }, "domhandler": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz", - "integrity": "sha1-Wd+dzSJ+gIs2Wuc+H2aErD2Ub8I=", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", "requires": { "domelementtype": "1" } }, "domutils": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz", - "integrity": "sha1-CGVRN5bGswYDGFDhdVFrr4C3Km8=", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", "requires": { + "dom-serializer": "0", "domelementtype": "1" } }, @@ -416,37 +416,30 @@ } }, "grunt-jquery-content": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/grunt-jquery-content/-/grunt-jquery-content-3.0.3.tgz", - "integrity": "sha1-sqFpjFTz6QZyO3cPuuRJ/ZIRXqM=", - "requires": { - "async": "0.9.0", - "cheerio": "0.17.0", - "grunt-check-modules": "1.1.0", - "grunt-wordpress": "2.1.3", - "he": "0.5.0", - "highlight.js": "7.3.0", - "marked": "0.3.2", - "rimraf": "2.2.8", - "spawnback": "1.0.0", - "which": "1.0.5", - "wordpress": "1.3.0" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/grunt-jquery-content/-/grunt-jquery-content-3.1.0.tgz", + "integrity": "sha512-9FIYqv0ML0fokZqOts7ecYR3I7pyKmvFP0WrEKcZUvgN13lBiI0JtvLfWwM3FrpiQUCIa9kZWJPJj55OPi+KMQ==", + "requires": { + "async": "^3.2.0", + "cheerio": "^0.22.0", + "grunt-check-modules": "^1.1.0", + "grunt-wordpress": "^2.1.3", + "he": "^1.2.0", + "highlight.js": "^10.7.2", + "marked": "^2.0.3", + "rimraf": "^3.0.2", + "spawnback": "^1.0.1", + "which": "^2.0.2", + "wordpress": "^1.4.1" }, "dependencies": { - "async": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz", - "integrity": "sha1-rDYTsdqb7RtHUQu0ZRuJMeRxRsc=" - }, - "rimraf": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz", - "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=" - }, "which": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/which/-/which-1.0.5.tgz", - "integrity": "sha1-VjDWgZ3aaS8UZEYueVbLQsCEJzk=" + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "requires": { + "isexe": "^2.0.0" + } } } }, @@ -521,14 +514,14 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "he": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/he/-/he-0.5.0.tgz", - "integrity": "sha1-LAX/rvkLaOhg8/0rVO9YCYknfuI=" + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "highlight.js": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-7.3.0.tgz", - "integrity": "sha1-bF8PZOcHj2ZAK82/yJEQw/0bqZ8=" + "version": "10.7.2", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.2.tgz", + "integrity": "sha512-oFLl873u4usRM9K63j4ME9u3etNF0PLiJhSQ8rdfuL51Wn3zkD6drf9ZW0dOzjnZI22YYG24z30JcmfCZjMgYg==" }, "homedir-polyfill": { "version": "1.0.3", @@ -544,31 +537,16 @@ "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=" }, "htmlparser2": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz", - "integrity": "sha1-amTHdjfAjG8w7CqBV6UzM758sF4=", - "requires": { - "domelementtype": "1", - "domhandler": "2.2", - "domutils": "1.5", - "entities": "1.0", - "readable-stream": "1.1" - }, - "dependencies": { - "domutils": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", - "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } - }, - "entities": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz", - "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=" - } + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" } }, "iconv-lite": { @@ -667,11 +645,6 @@ "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", @@ -729,6 +702,66 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, "make-iterator": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", @@ -743,9 +776,9 @@ "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" }, "marked": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/marked/-/marked-0.3.2.tgz", - "integrity": "sha1-AV2xWIZEOPJKZL3WGgQotBhwbQk=" + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/marked/-/marked-2.0.5.tgz", + "integrity": "sha512-yfCEUXmKhBPLOzEC7c+tc4XZdIeTdGoRCZakFMkCxodr7wDXqoapIME4wjcpBPJLNyUnKJ3e8rb8wlAgnLnaDw==" }, "micromatch": { "version": "4.0.4", @@ -777,6 +810,14 @@ "abbrev": "1" } }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "requires": { + "boolbase": "~1.0.0" + } + }, "object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", @@ -876,14 +917,13 @@ "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==" }, "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" } }, "rechoir": { @@ -920,6 +960,11 @@ "glob": "^7.1.3" } }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", @@ -931,9 +976,9 @@ "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "spawnback": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.0.tgz", - "integrity": "sha1-9zZi9+VNlTZ+ynTWQmxnfdfqaG8=" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/spawnback/-/spawnback-1.0.1.tgz", + "integrity": "sha512-340ZqtqJzWAZtHwaCC2gx4mdQOnkUWAWNDp7y0bCEatdjmgQ4j7b0qQ7qO5WIJWx/luNrKcrYzpKbH3NTR030A==" }, "sprintf-js": { "version": "1.1.2", @@ -941,9 +986,12 @@ "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" }, "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } }, "supports-color": { "version": "7.2.0", @@ -997,9 +1045,9 @@ } }, "wordpress": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/wordpress/-/wordpress-1.3.0.tgz", - "integrity": "sha1-0LxIUVOktTh3B+O8yRZqDBPpcS8=", + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/wordpress/-/wordpress-1.4.1.tgz", + "integrity": "sha512-U2zADxCSyyYcpgc5i7ipiDzNx6/e0zq2ldWyqTqr8n88Nj+iHd5JT/WavZkIQ+x0b9QlBv9lHoXyrqxdbckIrw==", "requires": { "xmlrpc": "1.3.2" } diff --git a/package.json b/package.json index 61477766..25d27679 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,6 @@ "dependencies": { "grunt": "1.4.0", "grunt-cli": "1.4.2", - "grunt-jquery-content": "3.0.3" + "grunt-jquery-content": "3.1.0" } } From 9ff4827283f7af4eeea2585ae5f4a74bb4eb9d60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Sat, 22 May 2021 12:54:41 +0200 Subject: [PATCH 123/222] 3.1.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b638410f..1129ee61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.0.10", + "version": "3.1.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 25d27679..8001061f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.0.10", + "version": "3.1.0", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 0a70489c15c90f5e721e4a5f19520f20eac21dfd Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 11 Aug 2021 18:39:02 +0200 Subject: [PATCH 124/222] Build: Bump path-parse from 1.0.6 to 1.0.7 Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7. - [Release notes](https://github.com/jbgutierrez/path-parse/releases) - [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7) Closes gh-1193 --- updated-dependencies: - dependency-name: path-parse dependency-type: indirect ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1129ee61..521a330d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -894,9 +894,9 @@ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-root": { "version": "0.1.1", From 5e4ea0d9dc22ef49b0712dc07b5376114abe8b07 Mon Sep 17 00:00:00 2001 From: jayschmidgall <89083942+jayschmidgall@users.noreply.github.com> Date: Tue, 17 Aug 2021 11:11:40 -0500 Subject: [PATCH 125/222] Update attr example in prop.xml Closes #1194 --- entries/prop.xml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/entries/prop.xml b/entries/prop.xml index 775b8062..09ee042c 100644 --- a/entries/prop.xml +++ b/entries/prop.xml @@ -42,17 +42,10 @@ $( elem ).attr( "checked" ) - (1.6) + (1.6+) "checked" (String) Initial state of the checkbox; does not change - - - $( elem ).attr( "checked" ) - (1.6.1+) - - "checked" (String) Will change with checkbox state - $( elem ).attr( "checked" ) From ae855972e765f433d9d17e559eba7db6b7adeab7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Thu, 18 Nov 2021 13:47:51 +0100 Subject: [PATCH 126/222] jQuery.getScript: Update the jQuery Color link to a versioned one --- entries/jQuery.getScript.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.getScript.xml b/entries/jQuery.getScript.xml index 357b9e1a..906f03e4 100644 --- a/entries/jQuery.getScript.xml +++ b/entries/jQuery.getScript.xml @@ -92,7 +92,7 @@ $.cachedScript( "ajax/test.js" ).done(function( script, textStatus ) { Load the official jQuery Color Animation plugin dynamically and bind some color animations to occur once the new functionality is loaded. Date: Wed, 27 Apr 2022 01:46:34 +0200 Subject: [PATCH 128/222] Ajax Events: Promote on() instead of bind() (#1202) Closes gh-1202 --- pages/Ajax_Events.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pages/Ajax_Events.html b/pages/Ajax_Events.html index 26a59f0f..6b1249be 100644 --- a/pages/Ajax_Events.html +++ b/pages/Ajax_Events.html @@ -19,9 +19,9 @@

        Local Events

        Global Events

        These events are triggered on the document, calling any handlers which may be listening. You can listen for these events like so:

        -
         $(document).bind("ajaxSend", function(){
        +
         $(document).on("ajaxSend", function(){
            $("#loading").show();
        - }).bind("ajaxComplete", function(){
        + }).on("ajaxComplete", function(){
            $("#loading").hide();
          });
         
        From 1940bb86d41d89386b7952319cc4d23339790734 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 Apr 2022 14:49:35 +0200 Subject: [PATCH 129/222] Build: Bump grunt from 1.4.0 to 1.5.2 Bumps [grunt](https://github.com/gruntjs/grunt) from 1.4.0 to 1.5.2. - [Release notes](https://github.com/gruntjs/grunt/releases) - [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG) - [Commits](https://github.com/gruntjs/grunt/compare/v1.4.0...v1.5.2) Closes gh-1203 --- updated-dependencies: - dependency-name: grunt dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 60 +++++++++++++++++++++++++++++++++++------------ package.json | 2 +- 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index 876ec538..895cfa1e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -75,9 +75,9 @@ } }, "chalk": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz", - "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -290,9 +290,9 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" }, "getobject": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.0.tgz", - "integrity": "sha512-tbUz6AKKKr2YiMB+fLWIgq5ZeBOobop9YMMAU9dC54/ot2ksMXt3DOFyBuhZw6ptcVszEykgByK20j7W9jHFag==" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz", + "integrity": "sha512-2zblDBaFcb3rB4rF77XVnuINOE2h2k/OnqXAiy0IrTxUfV1iFp3la33oAQVY9pCpWU268WFYVt2t71hlMuLsOg==" }, "gilded-wordpress": { "version": "1.0.5", @@ -366,17 +366,17 @@ } }, "grunt": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.0.tgz", - "integrity": "sha512-yRFc0GVCDu9yxqOFzpuXQ2pEdgtLDnFv5Qz54jfIcNnpJ8Z7B7P7kPkT4VMuRvm+N+QOsI8C4v/Q0DSaoj3LgQ==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.2.tgz", + "integrity": "sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==", "requires": { "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", "exit": "~0.1.2", "findup-sync": "~0.3.0", "glob": "~7.1.6", - "grunt-cli": "~1.4.2", - "grunt-known-options": "~1.1.1", + "grunt-cli": "~1.4.3", + "grunt-known-options": "~2.0.0", "grunt-legacy-log": "~3.0.0", "grunt-legacy-util": "~2.0.1", "iconv-lite": "~0.4.13", @@ -385,6 +385,36 @@ "mkdirp": "~1.0.4", "nopt": "~3.0.6", "rimraf": "~3.0.2" + }, + "dependencies": { + "grunt-cli": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.3.tgz", + "integrity": "sha512-9Dtx/AhVeB4LYzsViCjUQkd0Kw0McN2gYpdmGYKtE2a5Yt7v1Q+HYZVWhqXc/kGnxlMtqKDxSwotiGeFmkrCoQ==", + "requires": { + "grunt-known-options": "~2.0.0", + "interpret": "~1.1.0", + "liftup": "~3.0.1", + "nopt": "~4.0.1", + "v8flags": "~3.2.0" + }, + "dependencies": { + "nopt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", + "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + } + } + }, + "grunt-known-options": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-2.0.0.tgz", + "integrity": "sha512-GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==" + } } }, "grunt-check-modules": { @@ -1015,11 +1045,11 @@ "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" }, "underscore.string": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.5.tgz", - "integrity": "sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-3.3.6.tgz", + "integrity": "sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==", "requires": { - "sprintf-js": "^1.0.3", + "sprintf-js": "^1.1.1", "util-deprecate": "^1.0.2" } }, diff --git a/package.json b/package.json index 720284ce..485bfa55 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "test": "grunt lint" }, "dependencies": { - "grunt": "1.4.0", + "grunt": "1.5.2", "grunt-cli": "1.4.2", "grunt-jquery-content": "3.1.0" } From bf40aa39ca5f9d8a429b18d9fae78c50b22a4d09 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 27 Jun 2022 17:36:28 +0200 Subject: [PATCH 130/222] Build: Bump grunt from 1.5.2 to 1.5.3 Bumps [grunt](https://github.com/gruntjs/grunt) from 1.5.2 to 1.5.3. - [Release notes](https://github.com/gruntjs/grunt/releases) - [Changelog](https://github.com/gruntjs/grunt/blob/main/CHANGELOG) - [Commits](https://github.com/gruntjs/grunt/compare/v1.5.2...v1.5.3) Closes gh-1204 --- updated-dependencies: - dependency-name: grunt dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 6 +++--- package.json | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 895cfa1e..e02106bf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -366,9 +366,9 @@ } }, "grunt": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.2.tgz", - "integrity": "sha512-XCtfaIu72OyDqK24MjWiGC9SwlkuhkS1mrULr1xzuJ2XqAFhP3ZAchZGHJeSCY6mkaOXU4F7SbmmCF7xIVoC9w==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz", + "integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==", "requires": { "dateformat": "~3.0.3", "eventemitter2": "~0.4.13", diff --git a/package.json b/package.json index 485bfa55..0c97e7d3 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "test": "grunt lint" }, "dependencies": { - "grunt": "1.5.2", + "grunt": "1.5.3", "grunt-cli": "1.4.2", "grunt-jquery-content": "3.1.0" } From 5274a1135ff2afad208783de25cc1c96298a6201 Mon Sep 17 00:00:00 2001 From: vlakoff Date: Fri, 18 Nov 2022 13:24:40 +0100 Subject: [PATCH 131/222] jQuery.getScript: Script has been executed before the `success` callback When executing a callback provided to the optional `success` parameter of `$.getScript()`, we can assume the script has been executed already. Just like when using `.done()` on the returned jqXHR object. Fixes gh-1207 Closes gh-1209 --- entries/jQuery.getScript.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/jQuery.getScript.xml b/entries/jQuery.getScript.xml index 906f03e4..a234e9d1 100644 --- a/entries/jQuery.getScript.xml +++ b/entries/jQuery.getScript.xml @@ -27,7 +27,7 @@ $.ajax({

        Success Callback

        -

        The callback is fired once the script has been loaded but not necessarily executed.

        +

        The callback is fired once the script has been loaded and executed.

        Scripts are included and run by referencing the file name:

        
         $.getScript( "ajax/test.js", function( data, textStatus, jqxhr ) {
        
        From b15e83e412351d9271a7ee4c7b16bb20958f7b66 Mon Sep 17 00:00:00 2001
        From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
         
        Date: Fri, 18 Nov 2022 13:26:03 +0100
        Subject: [PATCH 132/222] 3.1.2
        
        ---
         package-lock.json | 2 +-
         package.json      | 2 +-
         2 files changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/package-lock.json b/package-lock.json
        index e02106bf..19b7b10d 100644
        --- a/package-lock.json
        +++ b/package-lock.json
        @@ -1,6 +1,6 @@
         {
           "name": "api.jquery.com",
        -  "version": "3.1.1",
        +  "version": "3.1.2",
           "lockfileVersion": 1,
           "requires": true,
           "dependencies": {
        diff --git a/package.json b/package.json
        index 0c97e7d3..4e291494 100644
        --- a/package.json
        +++ b/package.json
        @@ -2,7 +2,7 @@
           "name": "api.jquery.com",
           "title": "jQuery API Docs",
           "description": "API reference documentation for the jQuery JavaScript Library.",
        -  "version": "3.1.1",
        +  "version": "3.1.2",
           "homepage": "https://github.com/jquery/api.jquery.com",
           "author": {
             "name": "jQuery Foundation and other contributors"
        
        From de6fdcb76b3b0cf064aa5b27e715706fa4c53eaa Mon Sep 17 00:00:00 2001
        From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
        Date: Fri, 18 Nov 2022 13:28:31 +0100
        Subject: [PATCH 133/222] Build: Bump async from 3.2.0 to 3.2.4
        
        Bumps [async](https://github.com/caolan/async) from 3.2.0 to 3.2.4.
        - [Release notes](https://github.com/caolan/async/releases)
        - [Changelog](https://github.com/caolan/async/blob/master/CHANGELOG.md)
        - [Commits](https://github.com/caolan/async/compare/v3.2.0...v3.2.4)
        
        Closes gh-1213
        
        ---
        updated-dependencies:
        - dependency-name: async
          dependency-type: indirect
        ...
        
        Signed-off-by: dependabot[bot] 
        
        Signed-off-by: dependabot[bot] 
        Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
        ---
         package-lock.json | 8 ++++----
         1 file changed, 4 insertions(+), 4 deletions(-)
        
        diff --git a/package-lock.json b/package-lock.json
        index 19b7b10d..aa4f92df 100644
        --- a/package-lock.json
        +++ b/package-lock.json
        @@ -43,9 +43,9 @@
               "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w=="
             },
             "async": {
        -      "version": "3.2.0",
        -      "resolved": "https://registry.npmjs.org/async/-/async-3.2.0.tgz",
        -      "integrity": "sha512-TR2mEZFVOj2pLStYxLht7TyfuRzaydfpxr3k9RpHIzMgw7A64dzsdqCxH1WJyQdoe8T10nDXd9wnEigmiuHIZw=="
        +      "version": "3.2.4",
        +      "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
        +      "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ=="
             },
             "balanced-match": {
               "version": "1.0.2",
        @@ -307,7 +307,7 @@
                 "async": {
                   "version": "0.9.2",
                   "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
        -          "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0="
        +          "integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw=="
                 },
                 "glob": {
                   "version": "4.5.3",
        
        From 6d46d38962fde24bd8d4d913736149d12eb5541f Mon Sep 17 00:00:00 2001
        From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
         
        Date: Fri, 18 Nov 2022 13:28:40 +0100
        Subject: [PATCH 134/222] 3.1.3
        
        ---
         package-lock.json | 2 +-
         package.json      | 2 +-
         2 files changed, 2 insertions(+), 2 deletions(-)
        
        diff --git a/package-lock.json b/package-lock.json
        index aa4f92df..ea007635 100644
        --- a/package-lock.json
        +++ b/package-lock.json
        @@ -1,6 +1,6 @@
         {
           "name": "api.jquery.com",
        -  "version": "3.1.2",
        +  "version": "3.1.3",
           "lockfileVersion": 1,
           "requires": true,
           "dependencies": {
        diff --git a/package.json b/package.json
        index 4e291494..5a227e51 100644
        --- a/package.json
        +++ b/package.json
        @@ -2,7 +2,7 @@
           "name": "api.jquery.com",
           "title": "jQuery API Docs",
           "description": "API reference documentation for the jQuery JavaScript Library.",
        -  "version": "3.1.2",
        +  "version": "3.1.3",
           "homepage": "https://github.com/jquery/api.jquery.com",
           "author": {
             "name": "jQuery Foundation and other contributors"
        
        From 3706b06bd7bb3f9f70a57c4d23abab70c9c0423f Mon Sep 17 00:00:00 2001
        From: Andrew Dawes 
        Date: Fri, 18 Nov 2022 13:29:51 +0100
        Subject: [PATCH 135/222] mousemove: Fix a typo
        
        Closes gh-1210
        ---
         entries/mousemove.xml | 2 +-
         1 file changed, 1 insertion(+), 1 deletion(-)
        
        diff --git a/entries/mousemove.xml b/entries/mousemove.xml
        index d2341e65..f6e33860 100644
        --- a/entries/mousemove.xml
        +++ b/entries/mousemove.xml
        @@ -66,7 +66,7 @@ $( "#other" ).click(function() {
             

        When tracking mouse movement, you usually need to know the actual position of the mouse pointer. The event object that is passed to the handler contains some information about the mouse coordinates. Properties such as .clientX, .offsetX, and .pageX are available, but support for them differs between browsers. Fortunately, jQuery normalizes the .pageX and .pageY properties so that they can be used in all browsers. These properties provide the X and Y coordinates of the mouse pointer relative to the top-left corner of the document, as illustrated in the example output above.

        Keep in mind that the mousemove event is triggered whenever the mouse pointer moves, even for a pixel. This means that hundreds of events can be generated over a very small amount of time. If the handler has to do any significant processing, or if multiple handlers for the event exist, this can be a serious performance drain on the browser. It is important, therefore, to optimize mousemove handlers as much as possible, and to unbind them as soon as they are no longer needed.

        -

        A common pattern is to bind the mousemove handler from within a mousedown hander, and to unbind it from a corresponding mouseup handler. If implementing this sequence of events, remember that the mouseup event might be sent to a different HTML element than the mousemove event was. To account for this, the mouseup handler should typically be bound to an element high up in the DOM tree, such as <body>.

        +

        A common pattern is to bind the mousemove handler from within a mousedown handler, and to unbind it from a corresponding mouseup handler. If implementing this sequence of events, remember that the mouseup event might be sent to a different HTML element than the mousemove event was. To account for this, the mouseup handler should typically be bound to an element high up in the DOM tree, such as <body>.

        From ce90864c03b0a1aae4ab7fe8f616f250efab3f34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Fri, 18 Nov 2022 13:31:29 +0100 Subject: [PATCH 136/222] Build: Update package-lock.json --- package-lock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index ea007635..7dd81f2e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -307,7 +307,7 @@ "async": { "version": "0.9.2", "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", - "integrity": "sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==" + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" }, "glob": { "version": "4.5.3", From 57a7ff7e539dd463fee7e0a1a62f47c0e8694af8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Fri, 18 Nov 2022 13:31:34 +0100 Subject: [PATCH 137/222] 3.1.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7dd81f2e..96119daa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.1.3", + "version": "3.1.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5a227e51..45cdbada 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.1.3", + "version": "3.1.4", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 9f6bbf1c186557e253120544b7bf8904a053be6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 19 Dec 2022 22:20:06 +0100 Subject: [PATCH 138/222] prevAll: Document issues with reverse doc order `.prevAll()` returns elements in the reverse document order. This can pose issues when used with APIs like `.append()` or `.wrapAll()`. Document how to deal with the issue with help from `jQuery.uniqueSort()`. Ref jquery/jquery#5149 Closes gh-1215 --- entries/prevAll.xml | 95 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 94 insertions(+), 1 deletion(-) diff --git a/entries/prevAll.xml b/entries/prevAll.xml index 73f3f3f5..4b5f6062 100644 --- a/entries/prevAll.xml +++ b/entries/prevAll.xml @@ -7,7 +7,7 @@ A string containing a selector expression to match elements against. - Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. + Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector, in the reverse document order.

        Given a jQuery object that represents a set of DOM elements, the .prevAll() method searches through the predecessors of these elements in the DOM tree and construct a new jQuery object from the matching elements; the elements are returned in order beginning with the closest sibling.

        The method optionally accepts a selector expression of the same type that we can pass to the $() function. If the selector is supplied, the elements will be filtered by testing whether they match it.

        @@ -26,6 +26,36 @@ $( "li.third-item" ).prevAll().css( "background-color", "red" );

        The result of this call is a red background behind items 1 and 2. Since we do not supply a selector expression, these preceding elements are unequivocally included as part of the object. If we had supplied one, the elements would be tested for a match before they were included.

        +

        Note: Many APIs, like append or wrapAll process node in the order in which they appear in the jQuery object. This can pose issues with APIs like .prevAll() in which the reverse document order is used. Consider the following example:

        +
        
        +<div>
        +  <div>First</div>
        +  <div>Second</div>
        +  <div class="last-item">Last</div>
        +</div>
        +    
        +

        The following call:

        +
        
        +$( ".last-item" )
        +  .prevAll()
        +  .wrapAll( "<div class='wrapper'></div>" );
        +    
        +

        would result in the following HTML:

        +
        
        +<div>
        +  <div class="wrapper">
        +    <div>Second</div>
        +    <div>First</div>
        +  </div>
        +  <div class="last-item">Last</div>
        +</div>
        +    
        +

        because "Item 2" gets appended to the wrapper div first. To work around the issue, you may use $.uniqueSort() on the .prevAll() output first:

        +
        
        +var prevSiblings = $( ".last-item" ).prevAll();
        +$.uniqueSort( prevSiblings );
        +prevSiblings.wrapAll( "<div class='wrapper'></div>" );
        +    
        Locate all the divs preceding the last div and give them a class. @@ -50,6 +80,69 @@ $( "div" ).last().prevAll().addClass( "before" );
        +]]> +
        + + Locate all the divs preceding the last item and wrap them with a div with class wrapper - with or without $.uniqueSort(). + + + From a9dbdbcf660bccd90de9c81c171547201dd8f932 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 19 Dec 2022 22:20:24 +0100 Subject: [PATCH 139/222] 3.1.5 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 96119daa..864b3e95 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.1.4", + "version": "3.1.5", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 45cdbada..e4e29229 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.1.4", + "version": "3.1.5", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 9685f8ad8656f7e51923add83406539a28696726 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 9 Jan 2023 18:49:23 +0100 Subject: [PATCH 140/222] jQuery.map:jQuery.uniqueSort: Accept array-like input, fix typos Changes: * `jQuery.map`: Accept array-like input * `jQuery.uniqueSort`: Accept array-like input, fix typos. Apart from array-like inputs being officially allowed in `jQuery.uniqueSort` now, in a few places in examples it used to be referred to as `unique` instead of `uniqueSort`. Closes gh-1214 --- entries/jQuery.map.xml | 17 +++++++---------- entries/jQuery.uniqueSort.xml | 14 +++++++------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/entries/jQuery.map.xml b/entries/jQuery.map.xml index 3c499e6c..2016df87 100644 --- a/entries/jQuery.map.xml +++ b/entries/jQuery.map.xml @@ -3,8 +3,8 @@ jQuery.map() 1.0 - - The Array to translate. + + The Array or an Array-like object to translate. @@ -16,7 +16,7 @@ 1.6 - The Object to translate. + The non-Array-like Object to translate. @@ -28,16 +28,13 @@ Translate all items in an array or object to new array of items.

        If you wish to process a jQuery object — for example, $('div').map( callback ); — use .map() instead.

        -

        The $.map() method applies a function to each item in an array or object and maps the results into a new array. Prior to jQuery 1.6, $.map() supports traversing arrays only. As of jQuery 1.6 it also traverses objects.

        -

        Array-like objects — those with a .length property and a value on the .length - 1 index — must be converted to actual arrays before being passed to $.map(). The jQuery library provides $.makeArray() for such conversions.

        +

        The $.map() method applies a function to each item in an array or object and maps the results into a new array. Prior to jQuery 1.6, $.map() supports traversing arrays and array-like objects only. As of jQuery 1.6 it also traverses objects.

        +

        Array-like objects — those with a .length property and a value on the .length - 1 index — may be passed to $.map().

        
        -// The following object masquerades as an array.
        +// The following object is array-like.
         var fakeArray = { "length": 2, 0: "Addy", 1: "Subtracty" };
         
        -// Therefore, convert it to a real array
        -var realArray = $.makeArray( fakeArray )
        -
        -// Now it can be used reliably with $.map()
        +// It can be used reliably with $.map()
         $.map( realArray, function( val, i ) {
           // Do something
         });
        diff --git a/entries/jQuery.uniqueSort.xml b/entries/jQuery.uniqueSort.xml
        index 9d149af3..4cc08664 100644
        --- a/entries/jQuery.uniqueSort.xml
        +++ b/entries/jQuery.uniqueSort.xml
        @@ -3,28 +3,28 @@
           jQuery.uniqueSort()
           
             1.12-and-2.2
        -    
        -      The Array of DOM elements.
        +    
        +      The Array or an Array-like object of DOM elements.
             
           
        -  Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers.
        +  Sorts an array or an array-like object of DOM elements, in place, with the duplicates removed. Note that this only works on arrays/array-likes of DOM elements, not strings or numbers.
           
        -    

        The $.uniqueSort() function searches through an array of objects, sorting the array, and removing any duplicate nodes. A node is considered a duplicate if it is the exact same node as one already in the array; two different nodes with identical attributes are not considered to be duplicates. This function only works on plain JavaScript arrays of DOM elements, and is chiefly used internally by jQuery. You probably will never need to use it.

        +

        The $.uniqueSort() function searches through an array or an array-like object of DOM elements, sorting the array/array-like, and removing any duplicate nodes. A node is considered a duplicate if it is the exact same node as one already in the input; two different nodes with identical attributes are not considered to be duplicates. This function only works on plain JavaScript arrays/array-like objects of DOM elements, and is chiefly used internally by jQuery. You probably will never need to use it.

        Prior to jQuery 3.0, this method was called jQuery.unique().

        As of jQuery 1.4 the results will always be returned in document order.

        Removes any duplicate elements from the array of divs. Date: Sun, 15 Jan 2023 22:09:27 +0100 Subject: [PATCH 142/222] All: Update jQuery in examples from 3.5.0 to 3.6.3 --- entries2html.xsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries2html.xsl b/entries2html.xsl index 44ddfdbf..8b06fadf 100755 --- a/entries2html.xsl +++ b/entries2html.xsl @@ -12,7 +12,7 @@ <meta charset="utf-8"> <title> demo</title> <style> </style> - <script src="https://code.jquery.com/jquery-3.5.0.js"></script> + <script src="https://code.jquery.com/jquery-3.6.3.js"></script> <script> </script> From 8b7a184e25601d1ce2d77a00c860239057991f10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Sun, 15 Jan 2023 22:09:33 +0100 Subject: [PATCH 143/222] 3.1.7 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5c1d6814..95ceee66 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.1.6", + "version": "3.1.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 3a8268db..1d6a6e5b 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.1.6", + "version": "3.1.7", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 29bf132340c6f5db7e839ac2788de9456cf0f312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 3 Apr 2023 18:45:10 +0200 Subject: [PATCH 144/222] contains-selector: Mark :contains() as a jQuery extension For some reason, the relevant category was missing despite `:contains()` definitely not being a standard pseudo. Closes gh-1219 --- entries/contains-selector.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/entries/contains-selector.xml b/entries/contains-selector.xml index e1488269..c471083f 100644 --- a/entries/contains-selector.xml +++ b/entries/contains-selector.xml @@ -25,5 +25,6 @@ $( "div:contains('John')" ).css( "text-decoration", "underline" ); ]]> + From b415ca6c0f1988da1341467694f3f7927d2a7f00 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 3 Apr 2023 18:45:41 +0200 Subject: [PATCH 145/222] 3.1.8 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 95ceee66..458a6801 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.1.7", + "version": "3.1.8", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 1d6a6e5b..a4ee7333 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.1.7", + "version": "3.1.8", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 56301c125ec36d5c9b7b5d61fb7b0f2206aeaa94 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Fri, 14 Apr 2023 17:53:53 -0700 Subject: [PATCH 146/222] Build: Add `typesense` and `spider-check` jobs Ref https://github.com/qunitjs/qunitjs.com/blob/main/docsearch.config.json Ref https://github.com/jquery/infrastructure-puppet/blob/staging/doc/search.md --- .github/workflows/spider-check.yaml | 28 +++++++++++++++++ .github/workflows/typesense.yaml | 30 ++++++++++++++++++ .travis.yml | 7 ----- docsearch.config.json | 48 +++++++++++++++++++++++++++++ 4 files changed, 106 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/spider-check.yaml create mode 100644 .github/workflows/typesense.yaml delete mode 100644 .travis.yml create mode 100644 docsearch.config.json diff --git a/.github/workflows/spider-check.yaml b/.github/workflows/spider-check.yaml new file mode 100644 index 00000000..daa13e89 --- /dev/null +++ b/.github/workflows/spider-check.yaml @@ -0,0 +1,28 @@ +name: spider-check +on: + # Once a week on Friday at 00:00 + schedule: + - cron: '0 0 * * 5' + # Or manually + workflow_dispatch: + # Or when developing this workflow + push: + paths: + - .github/workflows/spider-check.yaml + pull_request: + paths: + - .github/workflows/spider-check.yaml + +jobs: + spider-check: + env: + MY_SITE: https://api.jquery.com + runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'jquery' }} # skip on forks + steps: + - uses: actions/checkout@v2 + with: + repository: jquery/hydra-link-checker + ref: v2.0.0 + - name: Run hydra-link-checker + run: python3 hydra.py "$MY_SITE" diff --git a/.github/workflows/typesense.yaml b/.github/workflows/typesense.yaml new file mode 100644 index 00000000..7d39b05a --- /dev/null +++ b/.github/workflows/typesense.yaml @@ -0,0 +1,30 @@ +name: typesense +on: + # Once a day at 11:30 UTC + schedule: + - cron: '30 11 * * *' + # Or after a deployment + push: + branches: + - main + # Or manually + workflow_dispatch: + +jobs: + typesense: + name: Update Typesense + if: ${{ github.repository_owner == 'jquery' }} # skip on forks + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Docsearch Scraper + shell: bash + run: | + # 0.6.0.rc1: https://github.com/typesense/typesense-docsearch-scraper/issues/36 + docker run \ + -e TYPESENSE_API_KEY=${{ secrets.TYPESENSE_ADMIN_KEY }} \ + -e TYPESENSE_HOST="${{ secrets.TYPESENSE_HOST }}" \ + -e TYPESENSE_PORT="443" \ + -e TYPESENSE_PROTOCOL="https" \ + -e CONFIG="$(cat docsearch.config.json | jq -r tostring)" \ + typesense/docsearch-scraper:0.6.0.rc2 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index c4177e89..00000000 --- a/.travis.yml +++ /dev/null @@ -1,7 +0,0 @@ -language: node_js -node_js: - - "10" -addons: - apt: - packages: - - libxml2-utils diff --git a/docsearch.config.json b/docsearch.config.json new file mode 100644 index 00000000..5325f6f7 --- /dev/null +++ b/docsearch.config.json @@ -0,0 +1,48 @@ +{ + "index_name": "jquery_com", + "start_urls": [ + { "url": "https://jquery.com" }, + { "url": "https://api.jquery.com", "selectors_key": "api" } + ], + "stop_urls": [ + ".com/category/" + ], + "selectors": { + "default": { + "lvl0": { + "selector": "#menu-top .menu-item.current > a", + "global": true, + "default_value": "Documentation" + }, + "lvl1": "#content h1", + "lvl2": "#content h2", + "lvl3": "#content h3", + "lvl4": "#content h4", + "lvl5": "#content h5", + "text": "#content p, #content li, #content tr" + }, + "api": { + "lvl0": { + "selector": "#categories .cat-item.current-cat > a", + "global": true, + "default_value": "API" + }, + "lvl1": "#content h1", + "lvl2": "#content h2, #content h4.name", + "lvl3": "#content h3, #content h4:not(.name)", + "lvl4": "#content h5, #content strong:first-child", + "text": ".entry-content p, .entry-content li" + } + }, + "selectors_exclude": [ + "header ~ article", + ".returns", + ".version-details", + ".section-title", + ".icon-link.toc-link", + "[class^=toclevel]", + "#toctitle" + ], + "min_indexed_level": 2, + "scrape_start_urls": false +} From c149300c7e427aa83a8c38b163f3557f32eadd21 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 24 Apr 2023 18:43:54 +0200 Subject: [PATCH 147/222] All: Mark event aliases as deprecated Mark all event shorthands as deprecated, including the AJAX ones. Create separate pages for deprecated shorthands, for example: * `/click/` describes the `click` event and how to use it with `.on()` or `.trigger()` * `/click-shorthand/` describes the deprecated `.click()` method * `/ajaxStart/` describes the `ajaxStart` event and how to use it with `.on()` * `/ajaxStart-shorthand/` describes the deprecated `.ajaxStart()` method The reason for such an approach is that event pages often contained useful information about those specific events and we didn't want to lose that. Also, the new shorthand pages all look the same and mostly redirect to the event pages so we didn't want to treat them as the primary page to go to when searching for an event. To make it less confusing, both the event page & its associated shorthand method page link to each other. Separate shorthand pages have also been created for `.load()`, `.unload()` and `.error()` methods. Those methods have already been removed in jQuery 3.0 but they also contained useful info about the associated events so it made sense to treat them like other event shorthands. Because there's no way to include both `.on()` & `.trigger()` usage in a single entry, event pages (except for AJAX ones) now have two entries each. This required wrapping the previous single `` with the new ``. To maintain Git history, the inner `` tags are left de-indented. Usage of deprecated event shorthand methods have been removed across all API entries. Fixes gh-1205 Closes gh-1223 --- entries/ajaxComplete-shorthand.xml | 19 +++++ entries/ajaxComplete.xml | 37 +++++---- entries/ajaxError-shorthand.xml | 19 +++++ entries/ajaxError.xml | 36 ++++---- entries/ajaxSend-shorthand.xml | 19 +++++ entries/ajaxSend.xml | 37 +++++---- entries/ajaxStart-shorthand.xml | 19 +++++ entries/ajaxStart.xml | 33 +++++--- entries/ajaxStop-shorthand.xml | 19 +++++ entries/ajaxStop.xml | 31 ++++--- entries/ajaxSuccess-shorthand.xml | 19 +++++ entries/ajaxSuccess.xml | 35 ++++---- entries/animate.xml | 24 +++--- entries/animated-selector.xml | 2 +- entries/attr.xml | 6 +- entries/bind.xml | 4 +- entries/blur-shorthand.xml | 37 +++++++++ entries/blur.xml | 72 ++++++++++------ entries/button-selector.xml | 4 +- entries/change-shorthand.xml | 36 ++++++++ entries/change.xml | 77 ++++++++++------- entries/checkbox-selector.xml | 4 +- entries/children.xml | 4 +- entries/clearQueue.xml | 4 +- entries/click-shorthand.xml | 36 ++++++++ entries/click.xml | 71 +++++++++------- entries/contextmenu-shorthand.xml | 36 ++++++++ entries/contextmenu.xml | 59 ++++++++----- entries/css.xml | 4 +- entries/data.xml | 2 +- entries/dblclick-shorthand.xml | 36 ++++++++ entries/dblclick.xml | 73 ++++++++++------- entries/delay.xml | 2 +- entries/delegate.xml | 2 +- entries/dequeue.xml | 2 +- entries/detach.xml | 4 +- entries/each.xml | 12 +-- entries/empty.xml | 4 +- entries/error-shorthand.xml | 37 +++++++++ entries/error.xml | 58 ++++++++----- entries/event.currentTarget.xml | 4 +- entries/event.isDefaultPrevented.xml | 2 +- .../event.isImmediatePropagationStopped.xml | 2 +- entries/event.isPropagationStopped.xml | 4 +- entries/event.metaKey.xml | 2 +- entries/event.namespace.xml | 2 +- entries/event.preventDefault.xml | 2 +- entries/event.relatedTarget.xml | 4 +- entries/event.result.xml | 4 +- entries/event.stopImmediatePropagation.xml | 6 +- entries/event.stopPropagation.xml | 2 +- entries/event.target.xml | 4 +- entries/event.timeStamp.xml | 2 +- entries/event.type.xml | 2 +- entries/fadeIn.xml | 8 +- entries/fadeOut.xml | 10 +-- entries/fadeTo.xml | 22 ++--- entries/fadeToggle.xml | 10 +-- entries/file-selector.xml | 8 +- entries/focus-shorthand.xml | 37 +++++++++ entries/focus.xml | 82 +++++++++++-------- entries/focusin-shorthand.xml | 37 +++++++++ entries/focusin.xml | 52 ++++++++---- entries/focusout-shorthand.xml | 37 +++++++++ entries/focusout.xml | 64 +++++++++------ entries/get.xml | 2 +- entries/height.xml | 6 +- entries/hide.xml | 12 +-- entries/hover.xml | 19 +++-- entries/html.xml | 2 +- entries/image-selector.xml | 8 +- entries/index.xml | 2 +- entries/input-selector.xml | 4 +- entries/is.xml | 8 +- entries/jQuery.ajax.xml | 2 +- entries/jQuery.ajaxSetup.xml | 2 +- entries/jQuery.data.xml | 4 +- entries/jQuery.dequeue.xml | 2 +- entries/jQuery.fx.interval.xml | 2 +- entries/jQuery.fx.off.xml | 6 +- entries/jQuery.getScript.xml | 8 +- entries/jQuery.post.xml | 6 +- entries/jQuery.queue.xml | 14 ++-- entries/jQuery.sub.xml | 2 +- entries/jQuery.xml | 4 +- entries/keydown-shorthand.xml | 36 ++++++++ entries/keydown.xml | 75 ++++++++++------- entries/keypress-shorthand.xml | 36 ++++++++ entries/keypress.xml | 75 ++++++++++------- entries/keyup-shorthand.xml | 36 ++++++++ entries/keyup.xml | 77 ++++++++++------- entries/length.xml | 4 +- entries/live.xml | 2 +- entries/load-event.xml | 63 ++++++++------ entries/load-shorthand.xml | 40 +++++++++ entries/map.xml | 4 +- entries/mousedown-shorthand.xml | 36 ++++++++ entries/mousedown.xml | 69 ++++++++++------ entries/mouseenter-shorthand.xml | 36 ++++++++ entries/mouseenter.xml | 75 ++++++++++------- entries/mouseleave-shorthand.xml | 36 ++++++++ entries/mouseleave.xml | 75 ++++++++++------- entries/mousemove-shorthand.xml | 36 ++++++++ entries/mousemove.xml | 75 ++++++++++------- entries/mouseout-shorthand.xml | 36 ++++++++ entries/mouseout.xml | 73 ++++++++++------- entries/mouseover-shorthand.xml | 36 ++++++++ entries/mouseover.xml | 75 ++++++++++------- entries/mouseup-shorthand.xml | 36 ++++++++ entries/mouseup.xml | 69 ++++++++++------ entries/nth-child-selector.xml | 2 +- entries/nth-last-child-selector.xml | 2 +- entries/nth-last-of-type-selector.xml | 2 +- entries/off.xml | 4 +- entries/offset.xml | 2 +- entries/on.xml | 2 +- entries/parents.xml | 2 +- entries/password-selector.xml | 8 +- entries/prev.xml | 2 +- entries/prop.xml | 4 +- entries/queue.xml | 14 ++-- entries/radio-selector.xml | 8 +- entries/remove.xml | 6 +- entries/removeAttr.xml | 2 +- entries/replaceWith.xml | 4 +- entries/reset-selector.xml | 8 +- entries/resize-shorthand.xml | 36 ++++++++ entries/resize.xml | 57 ++++++++----- entries/scroll-shorthand.xml | 36 ++++++++ entries/scroll.xml | 69 ++++++++++------ entries/select-shorthand.xml | 36 ++++++++ entries/select.xml | 69 ++++++++++------ entries/selected-selector.xml | 6 +- entries/serializeArray.xml | 10 +-- entries/show.xml | 16 ++-- entries/size.xml | 6 +- entries/slice.xml | 2 +- entries/slideDown.xml | 18 ++-- entries/slideToggle.xml | 6 +- entries/slideUp.xml | 8 +- entries/stop.xml | 6 +- entries/submit-selector.xml | 10 +-- entries/submit-shorthand.xml | 36 ++++++++ entries/submit.xml | 67 +++++++++------ entries/text-selector.xml | 8 +- entries/toggle.xml | 10 +-- entries/toggleClass.xml | 10 +-- entries/trigger.xml | 12 +-- entries/triggerHandler.xml | 12 +-- entries/unbind.xml | 4 +- entries/undelegate.xml | 4 +- entries/unload-shorthand.xml | 37 +++++++++ entries/unload.xml | 55 ++++++++----- entries/unwrap.xml | 2 +- entries/val.xml | 10 +-- entries/visible-selector.xml | 8 +- entries/width.xml | 12 +-- notes.xsl | 9 +- pages/Types.html | 10 +-- 159 files changed, 2497 insertions(+), 1042 deletions(-) create mode 100644 entries/ajaxComplete-shorthand.xml create mode 100644 entries/ajaxError-shorthand.xml create mode 100644 entries/ajaxSend-shorthand.xml create mode 100644 entries/ajaxStart-shorthand.xml create mode 100644 entries/ajaxStop-shorthand.xml create mode 100644 entries/ajaxSuccess-shorthand.xml create mode 100644 entries/blur-shorthand.xml create mode 100644 entries/change-shorthand.xml create mode 100644 entries/click-shorthand.xml create mode 100644 entries/contextmenu-shorthand.xml create mode 100644 entries/dblclick-shorthand.xml create mode 100644 entries/error-shorthand.xml create mode 100644 entries/focus-shorthand.xml create mode 100644 entries/focusin-shorthand.xml create mode 100644 entries/focusout-shorthand.xml create mode 100644 entries/keydown-shorthand.xml create mode 100644 entries/keypress-shorthand.xml create mode 100644 entries/keyup-shorthand.xml create mode 100644 entries/load-shorthand.xml create mode 100644 entries/mousedown-shorthand.xml create mode 100644 entries/mouseenter-shorthand.xml create mode 100644 entries/mouseleave-shorthand.xml create mode 100644 entries/mousemove-shorthand.xml create mode 100644 entries/mouseout-shorthand.xml create mode 100644 entries/mouseover-shorthand.xml create mode 100644 entries/mouseup-shorthand.xml create mode 100644 entries/resize-shorthand.xml create mode 100644 entries/scroll-shorthand.xml create mode 100644 entries/select-shorthand.xml create mode 100644 entries/submit-shorthand.xml create mode 100644 entries/unload-shorthand.xml diff --git a/entries/ajaxComplete-shorthand.xml b/entries/ajaxComplete-shorthand.xml new file mode 100644 index 00000000..73d766d5 --- /dev/null +++ b/entries/ajaxComplete-shorthand.xml @@ -0,0 +1,19 @@ + + + .ajaxComplete() + Register a handler to be called when Ajax requests complete. This is an AjaxEvent. + + 1.0 + + The function to be invoked. + + + +
        +

        This API is deprecated. Use .on( "ajaxComplete", handler ) instead.

        +
        +
        + + + +
        diff --git a/entries/ajaxComplete.xml b/entries/ajaxComplete.xml index f96dc4cf..168865e7 100644 --- a/entries/ajaxComplete.xml +++ b/entries/ajaxComplete.xml @@ -1,8 +1,12 @@ - - .ajaxComplete() + + ajaxComplete event + Register a handler to be called when Ajax requests complete. This is an AjaxEvent. - 1.0 + 1.7 + + The string "ajaxComplete". + @@ -10,9 +14,11 @@ The function to be invoked. - Register a handler to be called when Ajax requests complete. This is an AjaxEvent. -

        Whenever an Ajax request completes, jQuery triggers the ajaxComplete event. Any and all handlers that have been registered with the .ajaxComplete() method are executed at this time.

        +
        +

        This page describes the ajaxComplete event. For the deprecated .ajaxComplete() method, see .ajaxComplete().

        +
        +

        Whenever an Ajax request completes, jQuery triggers the ajaxComplete event. Any and all registered ajaxComplete handlers are executed at this time.

        To observe this method in action, set up a basic Ajax load request:

        
         <div class="trigger">Trigger</div>
        @@ -21,38 +27,39 @@
             

        Attach the event handler to the document:

        
        -$( document ).ajaxComplete(function() {
        +$( document ).on( "ajaxComplete", function() {
           $( ".log" ).text( "Triggered ajaxComplete handler." );
        -});
        +} );
             

        Now, make an Ajax request using any jQuery method:

        
        -$( ".trigger" ).click(function() {
        +$( ".trigger)" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
        -});
        +} );
             

        When the user clicks the element with class trigger and the Ajax request completes, the log message is displayed.

        All ajaxComplete handlers are invoked, regardless of what Ajax request was completed. If you must differentiate between the requests, use the parameters passed to the handler. Each time an ajaxComplete handler is executed, it is passed the event object, the XMLHttpRequest object, and the settings object that was used in the creation of the request. For example, you can restrict the callback to only handling events dealing with a particular URL:

        
        -$( document ).ajaxComplete(function( event, xhr, settings ) {
        +$( document ).on( "ajaxComplete", function( event, xhr, settings ) {
           if ( settings.url === "ajax/test.html" ) {
             $( ".log" ).text( "Triggered ajaxComplete handler. The result is " +
               xhr.responseText );
           }
        -});
        +} );
             

        Note: You can get the returned Ajax contents by looking at xhr.responseText.

        - - + + Show a message when an Ajax request completes. +
        diff --git a/entries/ajaxError-shorthand.xml b/entries/ajaxError-shorthand.xml new file mode 100644 index 00000000..c1a306bd --- /dev/null +++ b/entries/ajaxError-shorthand.xml @@ -0,0 +1,19 @@ + + + .ajaxError() + Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. + + 1.0 + + The function to be invoked. + + + +
        +

        This API is deprecated. Use .on( "ajaxError", handler ) instead.

        +
        +
        + + + +
        diff --git a/entries/ajaxError.xml b/entries/ajaxError.xml index 19abee09..d18cf977 100644 --- a/entries/ajaxError.xml +++ b/entries/ajaxError.xml @@ -1,8 +1,12 @@ - - .ajaxError() + + ajaxError event + Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. - 1.0 + 1.7 + + The string "ajaxError". + The function to be invoked. @@ -11,9 +15,11 @@ - Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. -

        Whenever an Ajax request completes with an error, jQuery triggers the ajaxError event. Any and all handlers that have been registered with the .ajaxError() method are executed at this time. Note: This handler is not called for cross-domain script and cross-domain JSONP requests.

        +
        +

        This page describes the ajaxError event. For the deprecated .ajaxError() method, see .ajaxError().

        +
        +

        Whenever an Ajax request completes with an error, jQuery triggers the ajaxError event. Any and all registered ajaxError handlers are executed at this time. Note: This handler is not called for cross-domain script and cross-domain JSONP requests.

        To observe this method in action, set up a basic Ajax load request.

        
         <button class="trigger">Trigger</button>
        @@ -22,35 +28,37 @@
             

        Attach the event handler to the document:

        
        -$( document ).ajaxError(function() {
        +$( document ).on( "ajaxError", function() {
           $( ".log" ).text( "Triggered ajaxError handler." );
        -});
        +} );
             

        Now, make an Ajax request using any jQuery method:

        
         $( "button.trigger" ).on( "click", function() {
           $( "div.result" ).load( "ajax/missing.html" );
        -});
        +} );
             

        When the user clicks the button and the Ajax request fails, because the requested file is missing, the log message is displayed.

        All ajaxError handlers are invoked, regardless of what Ajax request was completed. To differentiate between the requests, use the parameters passed to the handler. Each time an ajaxError handler is executed, it is passed the event object, the jqXHR object (prior to jQuery 1.5, the XHR object), and the settings object that was used in the creation of the request. When an HTTP error occurs, the fourth argument (thrownError) receives the textual portion of the HTTP status, such as "Not Found" or "Internal Server Error." For example, to restrict the error callback to only handling events dealing with a particular URL:

        
        -$( document ).ajaxError(function( event, jqxhr, settings, thrownError ) {
        +$( document ).on( "ajaxError", function( event, jqxhr, settings, thrownError ) {
           if ( settings.url == "ajax/missing.html" ) {
             $( "div.log" ).text( "Triggered ajaxError handler." );
           }
        -});
        +} ); +
        - - + + Show a message when an Ajax request fails. + diff --git a/entries/ajaxSend-shorthand.xml b/entries/ajaxSend-shorthand.xml new file mode 100644 index 00000000..4c1dc9cc --- /dev/null +++ b/entries/ajaxSend-shorthand.xml @@ -0,0 +1,19 @@ + + + .ajaxSend() + Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. + + 1.0 + + The function to be invoked. + + + +
        +

        This API is deprecated. Use .on( "ajaxSend", handler ) instead.

        +
        +
        + + + +
        diff --git a/entries/ajaxSend.xml b/entries/ajaxSend.xml index db814fee..ad01194e 100644 --- a/entries/ajaxSend.xml +++ b/entries/ajaxSend.xml @@ -1,8 +1,12 @@ - - .ajaxSend() + + ajaxSend event + Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. - 1.0 + 1.7 + + The string "ajaxSend". + The function to be invoked. @@ -10,9 +14,11 @@ - Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. -

        Whenever an Ajax request is about to be sent, jQuery triggers the ajaxSend event. Any and all handlers that have been registered with the .ajaxSend() method are executed at this time.

        +
        +

        This page describes the ajaxSend event. For the deprecated .ajaxSend() method, see .ajaxSend().

        +
        +

        Whenever an Ajax request is about to be sent, jQuery triggers the ajaxSend event. Any and all registerd ajaxSend handlers are executed at this time.

        To observe this method in action, set up a basic Ajax load request:

        
         <div class="trigger">Trigger</div>
        @@ -21,36 +27,37 @@
             

        Attach the event handler to the document:

        
        -$( document ).ajaxSend(function() {
        +$( document ).on( "ajaxSend", function() {
           $( ".log" ).text( "Triggered ajaxSend handler." );
        -});
        +} );
             

        Now, make an Ajax request using any jQuery method:

        
        -$( ".trigger" ).click(function() {
        +$( ".trigger)" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
        -});
        +} );
             

        When the user clicks the element with class trigger and the Ajax request is about to begin, the log message is displayed.

        All ajaxSend handlers are invoked, regardless of what Ajax request is to be sent. If you must differentiate between the requests, use the parameters passed to the handler. Each time an ajaxSend handler is executed, it is passed the event object, the jqXHR object (in version 1.4, XMLHttpRequestobject), and the settings object that was used in the creation of the Ajax request. For example, you can restrict the callback to only handling events dealing with a particular URL:

        
        -$( document ).ajaxSend(function( event, jqxhr, settings ) {
        +$( document ).on( "ajaxSend", function( event, jqxhr, settings ) {
           if ( settings.url == "ajax/test.html" ) {
             $( ".log" ).text( "Triggered ajaxSend handler." );
           }
        -});
        +} );
             
        - - + + Show a message before an Ajax request is sent. +
        diff --git a/entries/ajaxStart-shorthand.xml b/entries/ajaxStart-shorthand.xml new file mode 100644 index 00000000..41c7c71a --- /dev/null +++ b/entries/ajaxStart-shorthand.xml @@ -0,0 +1,19 @@ + + + .ajaxStart() + Register a handler to be called when the first Ajax request begins. This is an Ajax Event. + + 1.0 + + The function to be invoked. + + + +
        +

        This API is deprecated. Use .on( "ajaxStart", handler ) instead.

        +
        +
        + + + +
        diff --git a/entries/ajaxStart.xml b/entries/ajaxStart.xml index bf7fc14a..3d8f4df4 100644 --- a/entries/ajaxStart.xml +++ b/entries/ajaxStart.xml @@ -1,15 +1,21 @@ - - .ajaxStart() + + ajaxStart event + Register a handler to be called when the first Ajax request begins. This is an Ajax Event. - 1.0 + 1.7 + + The string "ajaxStart". + The function to be invoked. - Register a handler to be called when the first Ajax request begins. This is an Ajax Event. -

        Whenever an Ajax request is about to be sent, jQuery checks whether there are any other outstanding Ajax requests. If none are in progress, jQuery triggers the ajaxStart event. Any and all handlers that have been registered with the .ajaxStart() method are executed at this time.

        +
        +

        This page describes the ajaxStart event. For the deprecated .ajaxStart() method, see .ajaxStart().

        +
        +

        Whenever an Ajax request is about to be sent, jQuery checks whether there are any other outstanding Ajax requests. If none are in progress, jQuery triggers the ajaxStart event. Any and all handlers that have been registered with .on( "ajaxStart", ... ) are executed at this time.

        To observe this method in action, set up a basic Ajax load request:

        
         <div class="trigger">Trigger</div>
        @@ -18,28 +24,29 @@
             

        Attach the event handler to any element:

        
        -$( document ).ajaxStart(function() {
        +$( document ).on( "ajaxStart", function() {
           $( ".log" ).text( "Triggered ajaxStart handler." );
        -});
        +} );
             

        Now, make an Ajax request using any jQuery method:

        
        -$( ".trigger" ).click(function() {
        +$( ".trigger" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
        -});
        +} );
             

        When the user clicks the element with class trigger and the Ajax request is sent, the log message is displayed.

        - - + + Show a loading message whenever an Ajax request starts (and none is already active). +
        diff --git a/entries/ajaxStop-shorthand.xml b/entries/ajaxStop-shorthand.xml new file mode 100644 index 00000000..e4b5ab83 --- /dev/null +++ b/entries/ajaxStop-shorthand.xml @@ -0,0 +1,19 @@ + + + .ajaxStop() + Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. + + 1.0 + + The function to be invoked. + + + +
        +

        This API is deprecated. Use .on( "ajaxStop", handler ) instead.

        +
        +
        + + + +
        diff --git a/entries/ajaxStop.xml b/entries/ajaxStop.xml index 073dd208..f42c7444 100644 --- a/entries/ajaxStop.xml +++ b/entries/ajaxStop.xml @@ -1,15 +1,21 @@ - - .ajaxStop() + + ajaxStop event Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. - 1.0 + 1.7 + + The string "ajaxStop". + The function to be invoked. -

        Whenever an Ajax request completes, jQuery checks whether there are any other outstanding Ajax requests. If none remain, jQuery triggers the ajaxStop event. Any and all handlers that have been registered with the .ajaxStop() method are executed at this time. The ajaxStop event is also triggered if the last outstanding Ajax request is cancelled by returning false within the beforeSend callback function.

        +
        +

        This page describes the ajaxStop event. For the deprecated .ajaxStop() method, see .ajaxStop().

        +
        +

        Whenever an Ajax request completes, jQuery checks whether there are any other outstanding Ajax requests. If none remain, jQuery triggers the ajaxStop event. Any and all registered ajaxStop handlers are executed at this time. The ajaxStop event is also triggered if the last outstanding Ajax request is cancelled by returning false within the beforeSend callback function.

        To observe this method in action, set up a basic Ajax load request:

        
         <div class="trigger">Trigger</div>
        @@ -18,28 +24,29 @@
             

        Attach the event handler to the document:

        
        -$( document ).ajaxStop(function() {
        +$( document ).on( "ajaxStop", function() {
           $( ".log" ).text( "Triggered ajaxStop handler." );
        -});
        +} );
             

        Now, make an Ajax request using any jQuery method:

        
        -$( ".trigger" ).click(function() {
        +$( ".trigger" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
        -});
        +} );
             

        When the user clicks the element with class trigger and the Ajax request completes, the log message is displayed.

        - - + + Hide a loading message after all the Ajax requests have stopped. +
        diff --git a/entries/ajaxSuccess-shorthand.xml b/entries/ajaxSuccess-shorthand.xml new file mode 100644 index 00000000..358b5ff5 --- /dev/null +++ b/entries/ajaxSuccess-shorthand.xml @@ -0,0 +1,19 @@ + + + .ajaxSuccess() + Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. + + 1.0 + + The function to be invoked. + + + +
        +

        This API is deprecated. Use .on( "ajaxSuccess", handler ) instead.

        +
        +
        + + + +
        diff --git a/entries/ajaxSuccess.xml b/entries/ajaxSuccess.xml index 840ec028..e92a1269 100644 --- a/entries/ajaxSuccess.xml +++ b/entries/ajaxSuccess.xml @@ -1,8 +1,12 @@ - - .ajaxSuccess() + + ajaxSuccess event + Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. - 1.0 + 1.7 + + The string "ajaxSuccess". + The function to be invoked. @@ -11,9 +15,11 @@ - Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. -

        Whenever an Ajax request completes successfully, jQuery triggers the ajaxSuccess event. Any and all handlers that have been registered with the .ajaxSuccess() method are executed at this time.

        +
        +

        This page describes the ajaxSuccess event. For the deprecated .ajaxSuccess() method, see .ajaxSuccess().

        +
        +

        Whenever an Ajax request completes successfully, jQuery triggers the ajaxSuccess event. Any and all registered ajaxSuccess handlers are executed at this time.

        To observe this method in action, set up a basic Ajax load request:

        
         <div class="trigger">Trigger</div>
        @@ -22,38 +28,39 @@
             

        Attach the event handler to any element:

        
        -$(document).ajaxSuccess(function() {
        +$( document ).on( "ajaxSuccess", function() {
           $( ".log" ).text( "Triggered ajaxSuccess handler." );
        -});
        +} );
             

        Now, make an Ajax request using any jQuery method:

        
         $( ".trigger" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
        -});
        +} );
             

        When the user clicks the element with class trigger and the Ajax request completes successfully, the log message is displayed.

        All ajaxSuccess handlers are invoked, regardless of what Ajax request was completed. If you must differentiate between the requests, you can use the parameters passed to the handler. Each time an ajaxSuccess handler is executed, it is passed the event object, the XMLHttpRequest object, and the settings object that was used in the creation of the request. For example, you can restrict the callback to only handling events dealing with a particular URL:

        
        -$( document ).ajaxSuccess(function( event, xhr, settings ) {
        +$( document ).on( "ajaxSuccess", function( event, xhr, settings ) {
           if ( settings.url == "ajax/test.html" ) {
             $( ".log" ).text( "Triggered ajaxSuccess handler. The Ajax response was: " +
               xhr.responseText );
           }
        -});
        +} );
             

        Note: You can get the returned Ajax contents by looking at xhr.responseXML or xhr.responseText for xml and html respectively.

        - - + + Show a message when an Ajax request completes successfully. +
        diff --git a/entries/animate.xml b/entries/animate.xml index 57af4823..1ece251c 100644 --- a/entries/animate.xml +++ b/entries/animate.xml @@ -45,7 +45,7 @@

        To animate the opacity, left offset, and height of the image simultaneously:

        
        -$( "#clickme" ).click(function() {
        +$( "#clickme)" ).on( "click", function() {
           $( "#book" ).animate({
             opacity: 0.25,
             left: "+=50",
        @@ -101,7 +101,7 @@ $( "li" ).animate({
             

        As of jQuery version 1.4, you can set per-property easing functions within a single .animate() call. In the first version of .animate(), each property can take an array as its value: The first member of the array is the CSS property and the second member is an easing function. If a per-property easing function is not defined for a particular property, it uses the value of the .animate() method's optional easing argument. If the easing argument is not defined, the default swing function is used.

        For example, to simultaneously animate the width and height with the swing easing function and the opacity with the linear easing function:

        
        -$( "#clickme" ).click(function() {
        +$( "#clickme)" ).on( "click", function() {
           $( "#book" ).animate({
             width: [ "toggle", "swing" ],
             height: [ "toggle", "swing" ],
        @@ -113,7 +113,7 @@ $( "#clickme" ).click(function() {
             

        In the second version of .animate(), the options object can include the specialEasing property, which is itself an object of CSS properties and their corresponding easing functions. For example, to simultaneously animate the width using the linear easing function and the height using the easeOutBounce easing function:

        
        -$( "#clickme" ).click(function() {
        +$( "#clickme)" ).on( "click", function() {
           $( "#book" ).animate({
             width: "toggle",
             height: "toggle"
        @@ -137,7 +137,7 @@ $( "#clickme" ).click(function() {
             
        @@ -191,7 +191,7 @@ $( "#left" ).click(function(){
         
         The second button starts a traditional chained animation, where each animation will start once the previous animation on the element has completed.
             
               
        diff --git a/entries/blur-shorthand.xml b/entries/blur-shorthand.xml
        new file mode 100644
        index 00000000..589a1ceb
        --- /dev/null
        +++ b/entries/blur-shorthand.xml
        @@ -0,0 +1,37 @@
        +
        +
        +  .blur()
        +  Bind an event handler to the "blur" event, or trigger that event on an element.
        +  
        +    1.0
        +    
        +      A function to execute each time the event is triggered.
        +      
        +    
        +  
        +  
        +    1.4.3
        +    
        +      An object containing data that will be passed to the event handler.
        +    
        +    
        +      A function to execute each time the event is triggered.
        +      
        +    
        +  
        +  
        +    1.0
        +  
        +  
        +    
        +

        This API is deprecated.

        +

        Instead of .blur( handler ) or .blur( eventData, handler ), use .on( "blur", handler ) or .on( "blur", eventData, handler ), respectively.

        +

        Instead of .blur(), use .trigger( "blur" ).

        +
        +
        + + + + + +
        diff --git a/entries/blur.xml b/entries/blur.xml index 11afbd6a..d99003e9 100644 --- a/entries/blur.xml +++ b/entries/blur.xml @@ -1,16 +1,15 @@ - - .blur() - Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. + + +Bind an event handler to the "blur" event, or trigger that event on an element. + + blur event + Bind an event handler to the "blur" event. - 1.0 - - A function to execute each time the event is triggered. - + 1.7 + + The string "blur". - - - 1.4.3 An object containing data that will be passed to the event handler. @@ -19,11 +18,10 @@ - - 1.0 - -

        This method is a shortcut for .on( "blur", handler ) in the first two variations, and .trigger( "blur" ) in the third.

        +
        +

        This page describes the blur event. For the deprecated .blur() method, see .blur().

        +

        The blur event is sent to an element when it loses focus. Originally, this event was only applicable to form elements, such as <input>. In recent browsers, the domain of the event has been extended to include all element types. An element can lose focus via keyboard commands, such as the Tab key, or by mouse clicks elsewhere on the page.

        For example, consider the HTML:

        
        @@ -34,33 +32,53 @@
         <div id="other">
           Trigger the handler
         </div>
        -The event handler can be bound to the first input field:
        -$( "#target" ).blur(function() {
        -  alert( "Handler for .blur() called." );
        -});
        +    
        +

        The event handler can be bound to the first input field:

        +
        
        +$( "#target" ).on( "blur", function() {
        +  alert( "Handler for `blur` called." );
        +} );
             

        Now if the first field has the focus, clicking elsewhere or tabbing away from it displays the alert:

        - Handler for .blur() called. + Handler for `blur` called.

        -

        To trigger the event programmatically, apply .blur() without an argument:

        +

        To trigger the event programmatically, call .trigger( "blur" ):

        
        -$( "#other" ).click(function() {
        -  $( "#target" ).blur();
        -});
        +$( "#other" ).on( "click", function() {
        +  $( "#target" ).trigger( "blur" );
        +} );
             

        After this code executes, clicks on Trigger the handler will also alert the message.

        -

        The blur event does not bubble in Internet Explorer. Therefore, scripts that rely on event delegation with the blur event will not work consistently across browsers. As of version 1.4.2, however, jQuery works around this limitation by mapping blur to the focusout event in its event delegation methods, .live() and .delegate().

        +

        The blur event does not bubble. As of version 1.4.2, jQuery works around this limitation by mapping blur to the focusout event in its event delegation methods.

        - To trigger the blur event on all paragraphs: - + +
        + + + blur event + Trigger the "blur" event on an element. + + 1.0 + + The string "blur". + + + +

        See the description for .on( "blur", ... ).

        +
        + + +
        + +
        diff --git a/entries/button-selector.xml b/entries/button-selector.xml index 858522e5..12c8471c 100644 --- a/entries/button-selector.xml +++ b/entries/button-selector.xml @@ -16,9 +16,9 @@ var input = $( ":button" ).addClass( "marked" ); $( "div" ).text( "For this type jQuery found " + input.length + "." ); // Prevent the form from submitting -$( "form" ).submit(function( event ) { +$( "form" ).on( "submit", function( event ) { event.preventDefault(); -}); +} ); ]]>
        - + + + + + change event + Trigger the "change" event on an element. + + 1.0 + + The string "change". + + + +

        See the description for .on( "change", ... ).

        +
        + +
        + + diff --git a/entries/checkbox-selector.xml b/entries/checkbox-selector.xml index 843cdaf7..ba0fd815 100644 --- a/entries/checkbox-selector.xml +++ b/entries/checkbox-selector.xml @@ -26,9 +26,9 @@ $( "div" ) .css( "color", "red" ); // Prevent the form from submitting -$( "form" ).submit(function( event ) { +$( "form" ).on( "submit", function( event ) { event.preventDefault(); -}); +} ); ]]> - Trigger the click event on all of the paragraphs on the page: + Trigger the click event on all the paragraphs on the page: - + + + + + click event + Trigger the "click" event on an element. + + 1.0 + + The string "click". + + + +

        See the description for .on( "click", ... ).

        +
        + +
        + + diff --git a/entries/contextmenu-shorthand.xml b/entries/contextmenu-shorthand.xml new file mode 100644 index 00000000..9b1f4873 --- /dev/null +++ b/entries/contextmenu-shorthand.xml @@ -0,0 +1,36 @@ + + + .contextmenu() + Bind an event handler to the "contextmenu" event, or trigger that event on an element. + + 1.0 + + A function to execute each time the event is triggered. + + + + + 1.4.3 + + An object containing data that will be passed to the event handler. + + + A function to execute each time the event is triggered. + + + + + 1.0 + + +
        +

        This API is deprecated.

        +

        Instead of .contextmenu( handler ) or .contextmenu( eventData, handler ), use .on( "contextmenu", handler ) or .on( "contextmenu", eventData, handler ), respectively.

        +

        Instead of .contextmenu(), use .trigger( "contextmenu" ).

        +
        +
        + + + + +
        diff --git a/entries/contextmenu.xml b/entries/contextmenu.xml index 9849f7e9..63d9c179 100644 --- a/entries/contextmenu.xml +++ b/entries/contextmenu.xml @@ -1,7 +1,10 @@ - - .contextmenu() - Bind an event handler to the "contextmenu" JavaScript event, or trigger that event on an element. + +Bind an event handler to the "contextmenu" event, or trigger that event on an element. + + + contextmenu event + Bind an event handler to the "contextmenu" event. 1.0 @@ -19,12 +22,11 @@ - - 1.0 - -

        This method is a shortcut for .on( "contextmenu", handler ) in the first two variations, and .trigger( "contextmenu" ) in the third. - The contextmenu event is sent to an element when the right button of the mouse is clicked on it, but before the context menu is displayed. In case the context menu key is pressed, the event is triggered on the html element or the currently focused element. Any HTML element can receive this event. +

        +

        This page describes the contextmenu event. For the deprecated .contextmenu() method, see .contextmenu().

        +
        +

        The contextmenu event is sent to an element when the right button of the mouse is clicked on it, but before the context menu is displayed. In case the context menu key is pressed, the event is triggered on the html element or the currently focused element. Any HTML element can receive this event. For example, consider the HTML:

        
         <div id="target">
        @@ -33,35 +35,34 @@
             

        The event handler can be bound to the <div> as follows:

        
        -$( "#target" ).contextmenu(function() {
        -  alert( "Handler for .contextmenu() called." );
        -});
        +$( "#target" ).on( "contextmenu", function() {
        +  alert( "Handler for `contextmenu` called." );
        +} );
             

        Now right-clicking on this element displays the alert:

        - Handler for .contextmenu() called. + Handler for `contextmenu` called.

        -

        To trigger the event manually, call .contextmenu() without an argument:

        +

        To trigger the event manually, use .trigger( "contextmenu" ):

        
        -$( "#target" ).contextmenu();
        +$( "#target" ).trigger( "contextmenu" );
             
        - To show a "Hello World!" alert box when the contextmenu event is triggered on a paragraph on the page: Right click to toggle background color. Get the data named "blah" stored at for an element. Double click to toggle background color. diff --git a/entries/dequeue.xml b/entries/dequeue.xml index 7caca4e3..24f89c3a 100644 --- a/entries/dequeue.xml +++ b/entries/dequeue.xml @@ -14,7 +14,7 @@ Use dequeue to end a custom queue function which allows the queue to keep going. - - - + +
        + + + error event + Trigger the "error" event on an element. + + 1.0 + + The string "error". + + + +

        See the description for .on( "error", ... ).

        +
        + +
        + +
        diff --git a/entries/event.currentTarget.xml b/entries/event.currentTarget.xml index f70a8626..859cb8d4 100644 --- a/entries/event.currentTarget.xml +++ b/entries/event.currentTarget.xml @@ -14,11 +14,11 @@ Alert that currentTarget matches the `this` keyword. -
        \ No newline at end of file + diff --git a/entries/event.isDefaultPrevented.xml b/entries/event.isDefaultPrevented.xml index 676b31f3..d9ada314 100644 --- a/entries/event.isDefaultPrevented.xml +++ b/entries/event.isDefaultPrevented.xml @@ -9,7 +9,7 @@ Checks whether event.preventDefault() was called. diff --git a/entries/event.namespace.xml b/entries/event.namespace.xml index ed661c92..bbebcda4 100644 --- a/entries/event.namespace.xml +++ b/entries/event.namespace.xml @@ -14,7 +14,7 @@ $( "p" ).on( "test.something", function( event ) { alert( event.namespace ); }); -$( "button" ).click(function( event ) { +$( "button" ).on( "click", function( event ) { $( "p" ).trigger( "test.something" ); }); ]]> diff --git a/entries/event.preventDefault.xml b/entries/event.preventDefault.xml index ac534fcb..82b4e104 100644 --- a/entries/event.preventDefault.xml +++ b/entries/event.preventDefault.xml @@ -11,7 +11,7 @@ Cancel the default action (navigation) of the click. diff --git a/entries/event.result.xml b/entries/event.result.xml index fa5cd9ad..40bd1872 100644 --- a/entries/event.result.xml +++ b/entries/event.result.xml @@ -11,10 +11,10 @@ Display previous handler's return value diff --git a/entries/event.stopImmediatePropagation.xml b/entries/event.stopImmediatePropagation.xml index e5b53eba..dd86bd7c 100644 --- a/entries/event.stopImmediatePropagation.xml +++ b/entries/event.stopImmediatePropagation.xml @@ -25,14 +25,14 @@ } ]]>
        @@ -40,7 +40,7 @@ function handler( event ) { target.children().toggle(); } } -$( "ul" ).click( handler ).find( "ul" ).hide(); +$( "ul" ).on( "click", handler ).find( "ul" ).hide(); ]]>
        diff --git a/entries/fadeIn.xml b/entries/fadeIn.xml index a73fdc06..4af0872f 100644 --- a/entries/fadeIn.xml +++ b/entries/fadeIn.xml @@ -29,7 +29,7 @@ <img id="book" src="book.png" alt="" width="100" height="123"> // With the element initially hidden, we can show it slowly: -$( "#clickme" ).click(function() { +$( "#clickme)" ).on( "click", function() { $( "#book" ).fadeIn( "slow", function() { // Animation complete }); @@ -52,9 +52,9 @@ $( "#clickme" ).click(function() { Animates hidden divs to fade in one by one, completing each animation within 600 milliseconds. @@ -76,7 +76,7 @@ $( "p" ).click(function() { Fades out spans in one section that you click on. @@ -131,23 +131,23 @@ $( "p" ).each(function( n ) { $( this ).text( $( "p" ).eq( r ).text() ); $( "p" ).eq( r ).text( tmp ); $( this ).css( "left", getPos( n ) ); -}); +} ); $( "div" ) .each(function( n ) { $( this ).css( "left", getPos( n ) ); - }) + } ) .css( "cursor", "pointer" ) - .click( function() { + .on( "click", function() { $( this ).fadeTo( 250, 0.25, function() { $( this ) .css( "cursor", "" ) .prev() - .css({ + .css( { "font-weight": "bolder", "font-style": "italic" - }); - }); - }); + } ); + } ); + } ); ]]> To focus on a login input box with id 'login' on page startup, try: - + + + + + focus event + Trigger the "focus" event on an element. + + 1.0 + + The string "focus". + + + +

        See the description for .on( "focus", ... ).

        +
        + + +
        + + diff --git a/entries/focusin-shorthand.xml b/entries/focusin-shorthand.xml new file mode 100644 index 00000000..ff8f548e --- /dev/null +++ b/entries/focusin-shorthand.xml @@ -0,0 +1,37 @@ + + + .focusin() + Bind an event handler to the "focusin" event, or trigger that event on an element. + + 1.0 + + A function to execute each time the event is triggered. + + + + + 1.4.3 + + An object containing data that will be passed to the event handler. + + + A function to execute each time the event is triggered. + + + + + 1.0 + + +
        +

        This API is deprecated.

        +

        Instead of .focusin( handler ) or .focusin( eventData, handler ), use .on( "focusin", handler ) or .on( "focusin", eventData, handler ), respectively.

        +

        Instead of .focusin(), use .trigger( "focusin" ).

        +
        +
        + + + + + +
        diff --git a/entries/focusin.xml b/entries/focusin.xml index aaff429d..7b5288f6 100644 --- a/entries/focusin.xml +++ b/entries/focusin.xml @@ -1,16 +1,15 @@ - - .focusin() + + +Bind an event handler to the "focusin" event, or trigger that event on an element. + + focusin event Bind an event handler to the "focusin" event. - 1.4 - - A function to execute each time the event is triggered. - + 1.7 + + The string "focusin". - - - 1.4.3 An object containing data that will be passed to the event handler. @@ -19,15 +18,13 @@ - - 1.0 - -

        This method is a shortcut for .on( "focusin", handler ) in the first two variations, and .trigger( "focusin" ) in the third.

        +
        +

        This page describes the focusin event. For the deprecated .focusin() method, see .focusin().

        +

        The focusin event is sent to an element when it, or any element inside of it, gains focus. This is distinct from the focus event in that it supports detecting the focus event on parent elements (in other words, it supports event bubbling).

        This event will likely be used together with the focusout event.

        - Watch for a focus to occur within the paragraphs on the page.
        diff --git a/entries/hide.xml b/entries/hide.xml index b90aed05..53aab56d 100644 --- a/entries/hide.xml +++ b/entries/hide.xml @@ -49,7 +49,7 @@ $( ".target" ).hide();
        
         // With the element initially shown, we can hide it slowly:
        -$( "#clickme" ).click(function() {
        +$( "#clickme)" ).on( "click", function() {
           $( "#book" ).hide( "slow", function() {
             alert( "Animation complete." );
           });
        @@ -68,7 +68,7 @@ $( "#clickme" ).click(function() {
             Hides all paragraphs then the link on click.
             
        @@ -101,13 +101,13 @@ $( "button" ).click(function() {
           
             Animates all spans (words in this case) to hide fastly, completing each animation within 200 milliseconds. Once each animation is done, it starts the next one.
             
        @@ -134,7 +134,7 @@ $( "#shower" ).click(function() {
         for ( var i = 0; i < 5; i++ ) {
           $( "
        " ).appendTo( document.body ); } -$( "div" ).click(function() { +$( "div)" ).on( "click", function() { $( this ).hide( 2000, function() { $( this ).remove(); }); diff --git a/entries/hover.xml b/entries/hover.xml index 2ddab1fa..a924d368 100644 --- a/entries/hover.xml +++ b/entries/hover.xml @@ -1,7 +1,7 @@ Bind one or two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. - + .hover() Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. @@ -16,12 +16,15 @@ +
        +

        This API is deprecated. Use .on( "mouseenter", handlerIn ).on( "mouseleave", handlerOut ) instead.

        +

        The .hover() method binds handlers for both mouseenter and mouseleave events. You can use it to simply apply behavior to an element during the time the mouse is within the element.

        Calling $( selector ).hover( handlerIn, handlerOut ) is shorthand for:

        
        -$( selector ).mouseenter( handlerIn ).mouseleave( handlerOut );
        +$( selector ).on( "mouseenter", handlerIn ).on( "mouseleave", handlerOut );
               
        -

        See the discussions for .mouseenter() and .mouseleave() for more details.

        +

        See the discussions for mouseenter and mouseleave for more details.

        To add a special style to list items that are being hovered over, try: @@ -80,8 +83,10 @@ $( "td" ).off( "mouseenter mouseleave" ); +
        - + + Bind a single handler to the matched elements, to be executed when the mouse pointer enters or leaves the elements. 1.4 @@ -91,12 +96,15 @@ $( "td" ).off( "mouseenter mouseleave" ); +
        +

        This API is deprecated. Use .on( "mouseenter mouseleave", handlerInOut ) instead.

        +

        The .hover() method, when passed a single function, will execute that handler for both mouseenter and mouseleave events. This allows the user to use jQuery's various toggle methods within the handler or to respond differently within the handler depending on the event.type.

        Calling $(selector).hover(handlerInOut) is shorthand for:

        
         $( selector ).on( "mouseenter mouseleave", handlerInOut );
               
        -

        See the discussions for .mouseenter() and .mouseleave() for more details.

        +

        See the discussions for mouseenter and mouseleave for more details.

        Slide the next sibling LI up or down on hover, and toggle a class. @@ -143,5 +151,6 @@ $( "li" ) +
        diff --git a/entries/html.xml b/entries/html.xml index b830c566..4be065f3 100644 --- a/entries/html.xml +++ b/entries/html.xml @@ -29,7 +29,7 @@ $( "div.demo-container" ).html(); Click a paragraph to convert it from html to text.
        diff --git a/entries/jQuery.fx.off.xml b/entries/jQuery.fx.off.xml index 74bfd60a..3c93466d 100644 --- a/entries/jQuery.fx.off.xml +++ b/entries/jQuery.fx.off.xml @@ -20,10 +20,10 @@ var toggleFx = function() { $.fx.off = !$.fx.off; }; toggleFx(); -$( "button" ).click( toggleFx ); -$( "input" ).click(function() { +$( "button" ).on( "click", toggleFx ); +$( "input)" ).on( "click", function() { $( "div" ).toggle( "slow" ); -}); +} ); ]]> Queue a custom function. Selector Context

        By default, selectors perform their searches within the DOM starting at the document root. However, an alternate context can be given for the search by using the optional second parameter to the $() function. For example, to do a search within an event handler, the search can be restricted like so:

        
        -$( "div.foo" ).click(function() {
        +$( "div.foo)" ).on( "click", function() {
           $( "span", this ).addClass( "bar" );
         });
               
        @@ -62,7 +62,7 @@ $( "div.foo" ).click(function() {

        Please note that although you can pass text nodes and comment nodes into a jQuery collection this way, most operations don't support them. The few that do will have an explicit note on their API documentation page.

        A common use of single-DOM-element construction is to call jQuery methods on an element that has been passed to a callback function through the keyword this:

        
        -$( "div.foo" ).click(function() {
        +$( "div.foo)" ).on( "click", function() {
           $( this ).slideUp();
         });
               
        diff --git a/entries/keydown-shorthand.xml b/entries/keydown-shorthand.xml new file mode 100644 index 00000000..98b125b3 --- /dev/null +++ b/entries/keydown-shorthand.xml @@ -0,0 +1,36 @@ + + + .keydown() + Bind an event handler to the "keydown" event, or trigger that event on an element. + + 1.0 + + A function to execute each time the event is triggered. + + + + + 1.4.3 + + An object containing data that will be passed to the event handler. + + + A function to execute each time the event is triggered. + + + + + 1.0 + + +
        +

        This API is deprecated.

        +

        Instead of .keydown( handler ) or .keydown( eventData, handler ), use .on( "keydown", handler ) or .on( "keydown", eventData, handler ), respectively.

        +

        Instead of .keydown(), use .trigger( "keydown" ).

        +
        +
        + + + + +
        diff --git a/entries/keydown.xml b/entries/keydown.xml index f21ae4e0..576a1ad0 100644 --- a/entries/keydown.xml +++ b/entries/keydown.xml @@ -1,15 +1,15 @@ - - .keydown() + +Bind an event handler to the "keydown" event, or trigger that event on an element. + + + keydown event + Bind an event handler to the "keydown" event. - 1.0 - - A function to execute each time the event is triggered. - + 1.7 + + The string "keydown". - - - 1.4.3 An object containing data that will be passed to the event handler. @@ -18,12 +18,10 @@ - - 1.0 - - Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. -

        This method is a shortcut for .on( "keydown", handler ) in the first and second variations, and .trigger( "keydown" ) in the third.

        +
        +

        This page describes the keydown event. For the deprecated .keydown() method, see .keydown().

        +

        The keydown event is sent to an element when the user presses a key on the keyboard. If the key is kept pressed, the event is sent every time the operating system repeats the key. It can be attached to any element, but the event is only sent to the element that has the focus. Focusable elements can vary between browsers, but form elements can always get focus so are reasonable candidates for this event type.

        For example, consider the HTML:

        
        @@ -36,42 +34,41 @@
             

        The event handler can be bound to the input field:

        
        -$( "#target" ).keydown(function() {
        -  alert( "Handler for .keydown() called." );
        -});
        +$( "#target" ).on( "keydown", function() {
        +  alert( "Handler for `keydown` called." );
        +} );
             

        Now when the insertion point is inside the field, pressing a key displays the alert:

        - Handler for .keydown() called. + Handler for `keydown` called.

        -

        To trigger the event manually, apply .keydown() without an argument:

        +

        To trigger the event manually, use .trigger( "keydown" ):

        
        -$( "#other" ).click(function() {
        -  $( "#target" ).keydown();
        -});
        +$( "#other" ).on( "click", function() {
        +  $( "#target" ).trigger( "keydown" );
        +} );
             

        After this code executes, clicks on Trigger the handler will also alert the message.

        If key presses anywhere need to be caught (for example, to implement global shortcut keys on a page), it is useful to attach this behavior to the document object. Because of event bubbling, all key presses will make their way up the DOM to the document object unless explicitly stopped.

        To determine which key was pressed, examine the event object that is passed to the handler function. While browsers use differing properties to store this information, jQuery normalizes the .which property so you can reliably use it to retrieve the key code. This code corresponds to a key on the keyboard, including codes for special keys such as arrows. For catching actual text entry, .keypress() may be a better choice.

        - Show the event object for the keydown handler when a key is pressed in the input. diff --git a/entries/live.xml b/entries/live.xml index e88a67ce..26e7a563 100644 --- a/entries/live.xml +++ b/entries/live.xml @@ -104,7 +104,7 @@ $( "p" ).live( "myCustomEvent", function( event, myName, myValue ) { .fadeIn( 30 ) .fadeOut( 1000 ); }); -$( "button" ).click(function() { +$( "button)" ).on( "click", function() { $( "p" ).trigger( "myCustomEvent" ); }); ]]> diff --git a/entries/load-event.xml b/entries/load-event.xml index b9669cc6..f7dbc65a 100644 --- a/entries/load-event.xml +++ b/entries/load-event.xml @@ -1,16 +1,15 @@ - - .load() - Bind an event handler to the "load" JavaScript event. + +Bind an event handler to the "load" event, or trigger that event on an element. + + + load event + Bind an event handler to the "load" event. - 1.0 - - A function to execute when the event is triggered. - + 1.7 + + The string "load". - - - 1.4.3 An object containing data that will be passed to the event handler. @@ -21,9 +20,8 @@
        -

        Note: This API has been removed in jQuery 3.0; please use .on( "load", handler ) instead of .load( handler ) and .trigger( "load" ) instead of .load().

        +

        This page describes the load event. For the .load() method removed in jQuery 3.0, see .load().

        -

        This method is a shortcut for .on( "load", handler ).

        The load event is sent to an element when it and all sub-elements have been completely loaded. This event can be sent to any element associated with a URL: images, scripts, frames, iframes, and the window object.

        For example, consider a page with a simple image:

        
        @@ -31,20 +29,17 @@
             

        The event handler can be bound to the image:

        
        -$( "#book" ).load(function() {
        -  // Handler for .load() called.
        -});
        +$( "#book" ).on( "load", function() {
        +  // Handler for `load` called.
        +} );
             

        As soon as the image has been loaded, the handler is called.

        In general, it is not necessary to wait for all images to be fully loaded. If code can be executed earlier, it is usually best to place it in a handler sent to the .ready() method.

        -
        -

        The Ajax module also has a method named .load(). Which one is fired depends on the set of arguments passed.

        -

        Caveats of the load event when used with images -

        A common challenge developers attempt to solve using the .load() shortcut is to execute a function when an image (or collection of images) have completely loaded. There are several known caveats with this that should be noted. These are:

        +

        A common challenge developers attempt to solve using the load shortcut is to execute a function when an image (or collection of images) have completely loaded. There are several known caveats with this that should be noted. These are:

        • It doesn't work consistently nor reliably cross-browser
        • It doesn't fire correctly in WebKit if the image src is set to the same src as before
        • @@ -60,24 +55,40 @@ $( "#book" ).load(function() { Run a function when the page is fully loaded including graphics. Add the class bigImg to all images with height greater than 100 upon each image load. - - - + + + + + load event + Trigger the "load" event on an element. + + 1.0 + + The string "load". + + + +

          See the description for .on( "load", ... ).

          +
          + +
          + + diff --git a/entries/load-shorthand.xml b/entries/load-shorthand.xml new file mode 100644 index 00000000..1c5873cb --- /dev/null +++ b/entries/load-shorthand.xml @@ -0,0 +1,40 @@ + + + .load() + Bind an event handler to the "load" event, or trigger that event on an element. + + 1.0 + + A function to execute each time the event is triggered. + + + + + 1.4.3 + + An object containing data that will be passed to the event handler. + + + A function to execute each time the event is triggered. + + + + + 1.0 + + +
          +

          This API has been removed in jQuery 3.0.

          +

          Instead of .load( handler ) or .load( eventData, handler ), use .on( "load", handler ) or .on( "load", eventData, handler ), respectively.

          +

          Instead of .load(), use .trigger( "load" ).

          +
          +
          +

          The Ajax module also has a method named .load(). Which one is fired depends on the set of arguments passed.

          +
          +
          + + + + + +
          diff --git a/entries/map.xml b/entries/map.xml index c151e831..101fa001 100644 --- a/entries/map.xml +++ b/entries/map.xml @@ -135,9 +135,9 @@ $.fn.equalizeHeights = function() { return this.height( Math.max.apply( this, maxHeight ) ); }; -$( "input" ).click(function() { +$( "input" ).on( "click", function() { $( "div" ).equalizeHeights(); -}); +} ); ]]> 300 " ) .parent() - .css({ + .css( { background: "yellow", border: "3px red solid" - }); + } ); $( "div" ) .text( "For this type jQuery found " + input.length + "." ) .css( "color", "red" ); // Prevent form submission -$( "form" ).submit(function( event ) { +$( "form" ).on( "submit", function( event ) { event.preventDefault(); -}); +} ); ]]> diff --git a/entries/removeAttr.xml b/entries/removeAttr.xml index 92a92b22..46ce85b2 100644 --- a/entries/removeAttr.xml +++ b/entries/removeAttr.xml @@ -22,7 +22,7 @@ console.log( "onclick property: ", $element[ 0 ].onclick ); @@ -108,7 +108,7 @@ $( "p" ).replaceWith( "Paragraph. " ); On click, replace each paragraph with a div that is already in the DOM and selected with the $() function. Notice it doesn't clone the object but rather moves it to replace the paragraph. diff --git a/entries/reset-selector.xml b/entries/reset-selector.xml index 301b0e5e..db558608 100644 --- a/entries/reset-selector.xml +++ b/entries/reset-selector.xml @@ -13,18 +13,18 @@ Finds all reset inputs. - + + + + + resize event + Trigger the "resize" event on an element. + + 1.0 + + The string "resize". + + + +

          See the description for .on( "resize", ... ).

          +
          + +
          + + diff --git a/entries/scroll-shorthand.xml b/entries/scroll-shorthand.xml new file mode 100644 index 00000000..67b7997e --- /dev/null +++ b/entries/scroll-shorthand.xml @@ -0,0 +1,36 @@ + + + .scroll() + Bind an event handler to the "scroll" event, or trigger that event on an element. + + 1.0 + + A function to execute each time the event is triggered. + + + + + 1.4.3 + + An object containing data that will be passed to the event handler. + + + A function to execute each time the event is triggered. + + + + + 1.0 + + +
          +

          This API is deprecated.

          +

          Instead of .scroll( handler ) or .scroll( eventData, handler ), use .on( "scroll", handler ) or .on( "scroll", eventData, handler ), respectively.

          +

          Instead of .scroll(), use .trigger( "scroll" ).

          +
          +
          + + + + +
          diff --git a/entries/scroll.xml b/entries/scroll.xml index 8529cb0c..5f46ddfe 100644 --- a/entries/scroll.xml +++ b/entries/scroll.xml @@ -1,16 +1,15 @@ - - .scroll() - Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. + + +Bind an event handler to the "scroll" event, or trigger that event on an element. + + scroll event + Bind an event handler to the "scroll" event. - 1.0 - - A function to execute each time the event is triggered. - + 1.7 + + The string "scroll". - - - 1.4.3 An object containing data that will be passed to the event handler. @@ -19,11 +18,10 @@ - - 1.0 - -

          This method is a shortcut for .on( "scroll", handler ) in the first and second variations, and .trigger( "scroll" ) in the third.

          +
          +

          This page describes the scroll event. For the deprecated .scroll() method, see .scroll().

          +

          The scroll event is sent to an element when the user scrolls to a different place in the element. It applies to window objects, but also to scrollable frames and elements with the overflow CSS property set to scroll (or auto when the element's explicit height or width is less than the height or width of its contents).

          For example, consider the HTML:

          
          @@ -41,7 +39,7 @@
             Trigger the handler
           </div>
           <div id="log"></div>
          -
          +

        The style definition is present to make the target element small enough to be scrollable:

        @@ -49,33 +47,32 @@

        The scroll event handler can be bound to this element:

        
        -$( "#target" ).scroll(function() {
        -  $( "#log" ).append( "<div>Handler for .scroll() called.</div>" );
        -});
        +$( "#target" ).on( "scroll", function() {
        +  $( "#log" ).append( "<div>Handler for `scroll` called.</div>" );
        +} );
             

        Now when the user scrolls the text up or down, one or more messages are appended to <div id="log"></div>:

        - Handler for .scroll() called. + Handler for `scroll` called.

        -

        To trigger the event manually, apply .scroll() without an argument:

        +

        To trigger the event manually, use .trigger( "scroll" ):

        
        -$( "#other" ).click(function() {
        -  $( "#target" ).scroll();
        -});
        +$( "#other" ).on( "click", function() {
        +  $( "#target" ).trigger( "scroll" );
        +} );
             

        After this code executes, clicks on Trigger the handler will also append the message.

        A scroll event is sent whenever the element's scroll position changes, regardless of the cause. A mouse click or drag on the scroll bar, dragging inside the element, pressing the arrow keys, or using the mouse's scroll wheel could cause this event.

        - To do something when your page is scrolled: - + + + + + select event + Trigger the "select" event on an element. + + 1.0 + + The string "select". + + + +

        See the description for .on( "select", ... ).

        +
        + +
        + + diff --git a/entries/selected-selector.xml b/entries/selected-selector.xml index c96bf422..5eb6cef8 100644 --- a/entries/selected-selector.xml +++ b/entries/selected-selector.xml @@ -14,13 +14,13 @@ Attaches a change event to the select that gets the text for each selected option and writes them in the div. It then triggers the event for the initial text draw. @@ -84,13 +84,13 @@ $( "button" ).click(function() { Show the first div, followed by each next adjacent sibling div in order, with a 200ms animation. Each animation starts when the previous sibling div's animation ends. @@ -120,19 +120,19 @@ function doIt() { $( "span,div" ).show( "slow" ); } // Can pass in function name -$( "button" ).click( doIt ); +$( "button" ).on( "click", doIt ); -$( "form" ).submit(function( event ) { +$( "form" ).on( "submit", function( event ) { if ( $( "input" ).val() === "yes" ) { $( "p" ).show( 4000, function() { $( this ).text( "Ok, DONE! (now showing)" ); - }); + } ); } $( "span,div" ).hide( "fast" ); // Prevent form submission event.preventDefault(); -}); +} ); ]]> diff --git a/entries/slice.xml b/entries/slice.xml index 81d76c98..8f94ce16 100644 --- a/entries/slice.xml +++ b/entries/slice.xml @@ -62,7 +62,7 @@ function colorEm() { ").css( 'background', 'yellow' );" ); } -$( "button" ).click( colorEm ); +$( "button" ).on( "click", colorEm ); ]]> @@ -84,7 +84,7 @@ $( "button" ).click(function() { Animates divs between dividers with a toggle that makes some appear and some disappear. diff --git a/entries/submit-selector.xml b/entries/submit-selector.xml index a4c9aa01..f6c48b8f 100644 --- a/entries/submit-selector.xml +++ b/entries/submit-selector.xml @@ -15,25 +15,25 @@ " ); -}) +} ); ]]> To trigger the submit event on the first form on the page, try: - + + + + submit event + Trigger the "submit" event on an element. + + 1.0 + + The string "submit". + + + +

        See the description for .on( "submit", ... ).

        +
        + + +
        + + diff --git a/entries/text-selector.xml b/entries/text-selector.xml index 9af4dc44..4886c3a5 100644 --- a/entries/text-selector.xml +++ b/entries/text-selector.xml @@ -19,19 +19,19 @@ $( "<input>" ).is( ":text" ); // true Finds all text inputs. @@ -126,7 +126,7 @@ $( "button" ).click(function() { Shows all paragraphs, then hides them all, back and forth. diff --git a/entries/toggleClass.xml b/entries/toggleClass.xml index 3ce8196c..fcb8da42 100644 --- a/entries/toggleClass.xml +++ b/entries/toggleClass.xml @@ -99,7 +99,7 @@ $( "div.foo" ).toggleClass(function() { Toggle the class 'highlight' when a paragraph is clicked. @@ -128,15 +128,15 @@ $( "p" ).click(function() { Add the "highlight" class to the clicked paragraph on every third click of that paragraph, remove it every first and second click. Clicks to button #2 also trigger a click for button #1. diff --git a/entries/triggerHandler.xml b/entries/triggerHandler.xml index d72516a8..fb2da985 100644 --- a/entries/triggerHandler.xml +++ b/entries/triggerHandler.xml @@ -37,15 +37,15 @@ If you called .triggerHandler() on a focus event - the browser's default focus action would not be triggered, only the event handlers bound to the focus event. - - - + + + + + unload event + Trigger the "unload" event on an element. + + 1.0 + + The string "unload". + + + +

        See the description for .on( "unload", ... ).

        +
        + +
        + + diff --git a/entries/unwrap.xml b/entries/unwrap.xml index ff6d6100..1ba959aa 100644 --- a/entries/unwrap.xml +++ b/entries/unwrap.xml @@ -18,7 +18,7 @@ Wrap/unwrap a div around each of the paragraphs. Set the value of an input box. Date: Mon, 24 Apr 2023 19:03:32 +0200 Subject: [PATCH 149/222] All: Mark AJAX event shorthands as deprecated in 3.5 Previously, they've been incorrectly marked as deprecated in 3.3. Ref gh-1205 Ref gh-1223 --- entries/ajaxComplete-shorthand.xml | 2 +- entries/ajaxError-shorthand.xml | 2 +- entries/ajaxSend-shorthand.xml | 2 +- entries/ajaxStart-shorthand.xml | 2 +- entries/ajaxStop-shorthand.xml | 2 +- entries/ajaxSuccess-shorthand.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/entries/ajaxComplete-shorthand.xml b/entries/ajaxComplete-shorthand.xml index 73d766d5..8e9cc6bf 100644 --- a/entries/ajaxComplete-shorthand.xml +++ b/entries/ajaxComplete-shorthand.xml @@ -15,5 +15,5 @@ - + diff --git a/entries/ajaxError-shorthand.xml b/entries/ajaxError-shorthand.xml index c1a306bd..c1794365 100644 --- a/entries/ajaxError-shorthand.xml +++ b/entries/ajaxError-shorthand.xml @@ -15,5 +15,5 @@ - + diff --git a/entries/ajaxSend-shorthand.xml b/entries/ajaxSend-shorthand.xml index 4c1dc9cc..37d39222 100644 --- a/entries/ajaxSend-shorthand.xml +++ b/entries/ajaxSend-shorthand.xml @@ -15,5 +15,5 @@ - + diff --git a/entries/ajaxStart-shorthand.xml b/entries/ajaxStart-shorthand.xml index 41c7c71a..496152b3 100644 --- a/entries/ajaxStart-shorthand.xml +++ b/entries/ajaxStart-shorthand.xml @@ -15,5 +15,5 @@ - + diff --git a/entries/ajaxStop-shorthand.xml b/entries/ajaxStop-shorthand.xml index e4b5ab83..d5fe7f30 100644 --- a/entries/ajaxStop-shorthand.xml +++ b/entries/ajaxStop-shorthand.xml @@ -15,5 +15,5 @@ - + diff --git a/entries/ajaxSuccess-shorthand.xml b/entries/ajaxSuccess-shorthand.xml index 358b5ff5..95fa6e0e 100644 --- a/entries/ajaxSuccess-shorthand.xml +++ b/entries/ajaxSuccess-shorthand.xml @@ -15,5 +15,5 @@ - + From a8581e2f19a289abb3698d220c5c1a7f8e8b5031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 24 Apr 2023 19:04:12 +0200 Subject: [PATCH 150/222] 3.2.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3c4265b8..382479f8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.2.0", + "version": "3.2.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 2850202e..c628acd1 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.2.0", + "version": "3.2.1", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From a71164b950e76735604c13f8542f0e3949a1a1a7 Mon Sep 17 00:00:00 2001 From: Christopher Bonnell Date: Wed, 3 May 2023 17:37:25 -0400 Subject: [PATCH 151/222] All: Fix button selectors A few selectors erroneously used `button)` instead of `button`. This has been fixed. Fixes gh-1226 Closes gh-1227 --- entries/bind.xml | 2 +- entries/data.xml | 2 +- entries/delay.xml | 2 +- entries/delegate.xml | 2 +- entries/dequeue.xml | 2 +- entries/detach.xml | 2 +- entries/each.xml | 4 ++-- entries/hide.xml | 2 +- entries/jQuery.dequeue.xml | 2 +- entries/live.xml | 2 +- entries/nth-child-selector.xml | 2 +- entries/nth-last-child-selector.xml | 2 +- entries/nth-last-of-type-selector.xml | 2 +- entries/prev.xml | 2 +- entries/remove.xml | 2 +- entries/removeAttr.xml | 2 +- entries/replaceWith.xml | 2 +- entries/show.xml | 2 +- entries/slideToggle.xml | 2 +- entries/slideUp.xml | 2 +- entries/toggle.xml | 4 ++-- entries/unwrap.xml | 2 +- entries/val.xml | 2 +- entries/visible-selector.xml | 2 +- 24 files changed, 26 insertions(+), 26 deletions(-) diff --git a/entries/bind.xml b/entries/bind.xml index def89e62..aa45c455 100644 --- a/entries/bind.xml +++ b/entries/bind.xml @@ -221,7 +221,7 @@ $( "p" ).bind( "myCustomEvent", function( e, myName, myValue ) { .fadeIn( 30 ) .fadeOut( 1000 ); }); -$( "button)" ).on( "click", function() { +$( "button" ).on( "click", function() { $( "p" ).trigger( "myCustomEvent", [ "John" ] ); }); ]]> diff --git a/entries/data.xml b/entries/data.xml index 5a4c4181..d998d38c 100644 --- a/entries/data.xml +++ b/entries/data.xml @@ -111,7 +111,7 @@ $( "div" ).data( "options" ).name === "John"; Get the data named "blah" stored at for an element. diff --git a/entries/dequeue.xml b/entries/dequeue.xml index 24f89c3a..c54401c7 100644 --- a/entries/dequeue.xml +++ b/entries/dequeue.xml @@ -14,7 +14,7 @@ Use dequeue to end a custom queue function which allows the queue to keep going. diff --git a/entries/jQuery.dequeue.xml b/entries/jQuery.dequeue.xml index d88b0779..c9b6faf2 100644 --- a/entries/jQuery.dequeue.xml +++ b/entries/jQuery.dequeue.xml @@ -18,7 +18,7 @@ Use jQuery.dequeue() to end a custom queue function which allows the queue to keep going. diff --git a/entries/nth-child-selector.xml b/entries/nth-child-selector.xml index e2994d7d..8a5efc4c 100644 --- a/entries/nth-child-selector.xml +++ b/entries/nth-child-selector.xml @@ -53,7 +53,7 @@ $( "ul li:nth-child(2)" ).append( " - 2nd!" ); This is a playground to see how the selector works with different strings. Notice that this is different from the even and odd which have no regard for parent and just filter the list of elements to every other one. The :nth-child, however, counts the index of the child to its particular parent. In any case, it's easier to see than explain so... diff --git a/entries/removeAttr.xml b/entries/removeAttr.xml index 46ce85b2..6df34820 100644 --- a/entries/removeAttr.xml +++ b/entries/removeAttr.xml @@ -22,7 +22,7 @@ console.log( "onclick property: ", $element[ 0 ].onclick ); diff --git a/entries/show.xml b/entries/show.xml index 0185aed7..5a807d52 100644 --- a/entries/show.xml +++ b/entries/show.xml @@ -67,7 +67,7 @@ $( "#clickme)" ).on( "click", function() { Animates all hidden paragraphs to show slowly, completing the animation within 600 milliseconds. diff --git a/entries/slideToggle.xml b/entries/slideToggle.xml index 217b9088..f3fc2352 100644 --- a/entries/slideToggle.xml +++ b/entries/slideToggle.xml @@ -63,7 +63,7 @@ $( "#clickme)" ).on( "click", function() { Animates all paragraphs to slide up or down, completing the animation within 600 milliseconds. diff --git a/entries/slideUp.xml b/entries/slideUp.xml index c6d32eef..d21f3354 100644 --- a/entries/slideUp.xml +++ b/entries/slideUp.xml @@ -83,7 +83,7 @@ Click me! Animates the parent paragraph to slide up, completing the animation within 200 milliseconds. Once the animation is done, it displays an alert. @@ -126,7 +126,7 @@ $( "button)" ).on( "click", function() { Shows all paragraphs, then hides them all, back and forth. diff --git a/entries/unwrap.xml b/entries/unwrap.xml index 1ba959aa..b2dde604 100644 --- a/entries/unwrap.xml +++ b/entries/unwrap.xml @@ -18,7 +18,7 @@ Wrap/unwrap a div around each of the paragraphs. Set the value of an input box. From 21e195805b73f1457e0fc26e17e9d612d8e5a342 Mon Sep 17 00:00:00 2001 From: Christopher Bonnell Date: Thu, 4 May 2023 18:26:33 -0400 Subject: [PATCH 152/222] All: Fix event selectors Multiple selectors erroneously used `selector)` instead of `selector`. This has been fixed. The typos were accidentally introduced during a mass-replace in gh-1223. Fixes gh-1228 Closes gh-1229 Ref gh-1223 Ref gh-1226 Ref gh-1227 --- entries/ajaxComplete.xml | 4 ++-- entries/ajaxSend.xml | 2 +- entries/animate.xml | 22 +++++++++++----------- entries/animated-selector.xml | 2 +- entries/clearQueue.xml | 4 ++-- entries/css.xml | 4 ++-- entries/detach.xml | 2 +- entries/each.xml | 2 +- entries/fadeIn.xml | 4 ++-- entries/fadeOut.xml | 10 +++++----- entries/fadeTo.xml | 4 ++-- entries/height.xml | 6 +++--- entries/hide.xml | 8 ++++---- entries/html.xml | 2 +- entries/index.xml | 2 +- entries/is.xml | 8 ++++---- entries/jQuery.fx.interval.xml | 2 +- entries/jQuery.fx.off.xml | 2 +- entries/jQuery.getScript.xml | 2 +- entries/jQuery.queue.xml | 6 +++--- entries/jQuery.sub.xml | 2 +- entries/jQuery.xml | 4 ++-- entries/off.xml | 4 ++-- entries/parents.xml | 2 +- entries/queue.xml | 4 ++-- entries/replaceWith.xml | 2 +- entries/show.xml | 6 +++--- entries/slideDown.xml | 2 +- entries/slideToggle.xml | 4 ++-- entries/slideUp.xml | 2 +- entries/stop.xml | 6 +++--- entries/toggle.xml | 2 +- entries/toggleClass.xml | 2 +- entries/triggerHandler.xml | 4 ++-- entries/unbind.xml | 4 ++-- entries/undelegate.xml | 4 ++-- entries/width.xml | 4 ++-- 37 files changed, 78 insertions(+), 78 deletions(-) diff --git a/entries/ajaxComplete.xml b/entries/ajaxComplete.xml index 168865e7..0c133516 100644 --- a/entries/ajaxComplete.xml +++ b/entries/ajaxComplete.xml @@ -7,7 +7,7 @@ The string "ajaxComplete". - + @@ -33,7 +33,7 @@ $( document ).on( "ajaxComplete", function() {

        Now, make an Ajax request using any jQuery method:

        
        -$( ".trigger)" ).on( "click", function() {
        +$( ".trigger" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
         } );
             
        diff --git a/entries/ajaxSend.xml b/entries/ajaxSend.xml index ad01194e..cbd1641c 100644 --- a/entries/ajaxSend.xml +++ b/entries/ajaxSend.xml @@ -33,7 +33,7 @@ $( document ).on( "ajaxSend", function() {

        Now, make an Ajax request using any jQuery method:

        
        -$( ".trigger)" ).on( "click", function() {
        +$( ".trigger" ).on( "click", function() {
           $( ".result" ).load( "ajax/test.html" );
         } );
             
        diff --git a/entries/animate.xml b/entries/animate.xml index 1ece251c..c4ac9e70 100644 --- a/entries/animate.xml +++ b/entries/animate.xml @@ -45,7 +45,7 @@

    To animate the opacity, left offset, and height of the image simultaneously:

    
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).animate({
         opacity: 0.25,
         left: "+=50",
    @@ -101,7 +101,7 @@ $( "li" ).animate({
         

    As of jQuery version 1.4, you can set per-property easing functions within a single .animate() call. In the first version of .animate(), each property can take an array as its value: The first member of the array is the CSS property and the second member is an easing function. If a per-property easing function is not defined for a particular property, it uses the value of the .animate() method's optional easing argument. If the easing argument is not defined, the default swing function is used.

    For example, to simultaneously animate the width and height with the swing easing function and the opacity with the linear easing function:

    
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).animate({
         width: [ "toggle", "swing" ],
         height: [ "toggle", "swing" ],
    @@ -113,7 +113,7 @@ $( "#clickme)" ).on( "click", function() {
         

    In the second version of .animate(), the options object can include the specialEasing property, which is itself an object of CSS properties and their corresponding easing functions. For example, to simultaneously animate the width using the linear easing function and the height using the easeOutBounce easing function:

    
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).animate({
         width: "toggle",
         height: "toggle"
    @@ -137,7 +137,7 @@ $( "#clickme)" ).on( "click", function() {
         
    @@ -191,7 +191,7 @@ $( "#left)" ).on( "click", function(){
     
     The second button starts a traditional chained animation, where each animation will start once the previous animation on the element has completed.
         
         Detach all paragraphs from the DOM
         
    @@ -76,7 +76,7 @@ $( "p)" ).on( "click", function() {
       
         Fades out spans in one section that you click on.
         
    diff --git a/entries/height.xml b/entries/height.xml
    index 604be8fb..3a57f603 100644
    --- a/entries/height.xml
    +++ b/entries/height.xml
    @@ -34,13 +34,13 @@ $( document ).height();
     function showHeight( element, height ) {
       $( "div" ).text( "The height for the " + element + " is " + height + "px." );
     }
    -$( "#getp)" ).on( "click", function() {
    +$( "#getp" ).on( "click", function() {
       showHeight( "paragraph", $( "p" ).height() );
     });
    -$( "#getd)" ).on( "click", function() {
    +$( "#getd" ).on( "click", function() {
       showHeight( "document", $( document ).height() );
     });
    -$( "#getw)" ).on( "click", function() {
    +$( "#getw" ).on( "click", function() {
       showHeight( "window", $( window ).height() );
     });
     ]]>
    diff --git a/entries/hide.xml b/entries/hide.xml
    index 3db8c718..01f88a15 100644
    --- a/entries/hide.xml
    +++ b/entries/hide.xml
    @@ -49,7 +49,7 @@ $( ".target" ).hide();
         
    
     // With the element initially shown, we can hide it slowly:
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).hide( "slow", function() {
         alert( "Animation complete." );
       });
    @@ -101,13 +101,13 @@ $( "button" ).on( "click", function() {
       
         Animates all spans (words in this case) to hide fastly, completing each animation within 200 milliseconds. Once each animation is done, it starts the next one.
         
    @@ -134,7 +134,7 @@ $( "#shower)" ).on( "click", function() {
     for ( var i = 0; i < 5; i++ ) {
       $( "
    " ).appendTo( document.body ); } -$( "div)" ).on( "click", function() { +$( "div" ).on( "click", function() { $( this ).hide( 2000, function() { $( this ).remove(); }); diff --git a/entries/html.xml b/entries/html.xml index 4be065f3..0eae2f74 100644 --- a/entries/html.xml +++ b/entries/html.xml @@ -29,7 +29,7 @@ $( "div.demo-container" ).html(); Click a paragraph to convert it from html to text. diff --git a/entries/jQuery.fx.off.xml b/entries/jQuery.fx.off.xml index 3c93466d..8464f69f 100644 --- a/entries/jQuery.fx.off.xml +++ b/entries/jQuery.fx.off.xml @@ -21,7 +21,7 @@ var toggleFx = function() { }; toggleFx(); $( "button" ).on( "click", toggleFx ); -$( "input)" ).on( "click", function() { +$( "input" ).on( "click", function() { $( "div" ).toggle( "slow" ); } ); ]]> diff --git a/entries/jQuery.getScript.xml b/entries/jQuery.getScript.xml index d6e091ab..d44d1f3a 100644 --- a/entries/jQuery.getScript.xml +++ b/entries/jQuery.getScript.xml @@ -94,7 +94,7 @@ $.cachedScript( "ajax/test.js" ).done(function( script, textStatus ) { Set a queue array to delete the queue. Selector Context

    By default, selectors perform their searches within the DOM starting at the document root. However, an alternate context can be given for the search by using the optional second parameter to the $() function. For example, to do a search within an event handler, the search can be restricted like so:

    
    -$( "div.foo)" ).on( "click", function() {
    +$( "div.foo" ).on( "click", function() {
       $( "span", this ).addClass( "bar" );
     });
           
    @@ -62,7 +62,7 @@ $( "div.foo)" ).on( "click", function() {

    Please note that although you can pass text nodes and comment nodes into a jQuery collection this way, most operations don't support them. The few that do will have an explicit note on their API documentation page.

    A common use of single-DOM-element construction is to call jQuery methods on an element that has been passed to a callback function through the keyword this:

    
    -$( "div.foo)" ).on( "click", function() {
    +$( "div.foo" ).on( "click", function() {
       $( this ).slideUp();
     });
           
    diff --git a/entries/off.xml b/entries/off.xml index c35a537c..fba3925c 100644 --- a/entries/off.xml +++ b/entries/off.xml @@ -46,13 +46,13 @@ function flash() { $( "div" ).show().fadeOut( "slow" ); } -$( "#bind)" ).on( "click", function() { +$( "#bind" ).on( "click", function() { $( "body" ) .on( "click", "#theone", flash ) .find( "#theone" ) .text( "Can Click!" ); }); -$( "#unbind)" ).on( "click", function() { +$( "#unbind" ).on( "click", function() { $( "body" ) .off( "click", "#theone", flash ) .find( "#theone" ) diff --git a/entries/parents.xml b/entries/parents.xml index 57b860b4..ab51cde9 100644 --- a/entries/parents.xml +++ b/entries/parents.xml @@ -82,7 +82,7 @@ function showParents() { .length; $( "b" ).text( "Unique div parents: " + len ); } -$( "span)" ).on( "click", function() { +$( "span" ).on( "click", function() { $( this ).toggleClass( "selected" ); showParents(); }); diff --git a/entries/queue.xml b/entries/queue.xml index 1a6a38ac..ec66c39f 100644 --- a/entries/queue.xml +++ b/entries/queue.xml @@ -156,7 +156,7 @@ Click here... Set a queue array to delete the queue. Paragraph. " ); On click, replace each paragraph with a div that is already in the DOM and selected with the $() function. Notice it doesn't clone the object but rather moves it to replace the paragraph. diff --git a/entries/show.xml b/entries/show.xml index 5a807d52..2ce1c4a4 100644 --- a/entries/show.xml +++ b/entries/show.xml @@ -49,7 +49,7 @@ $( ".target" ).show(); </div> <img id="book" src="book.png" alt="" width="100" height="123"> With the element initially hidden, we can show it slowly: -$( "#clickme)" ).on( "click", function() { +$( "#clickme" ).on( "click", function() { $( "#book" ).show( "slow", function() { // Animation complete. }); @@ -84,13 +84,13 @@ $( "button" ).on( "click", function() { Show the first div, followed by each next adjacent sibling div in order, with a 200ms animation. Each animation starts when the previous sibling div's animation ends. diff --git a/entries/slideDown.xml b/entries/slideDown.xml index 749a19a7..e70c81f7 100644 --- a/entries/slideDown.xml +++ b/entries/slideDown.xml @@ -30,7 +30,7 @@

    With the element initially hidden, we can show it slowly:

    
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).slideDown( "slow", function() {
         // Animation complete.
       });
    diff --git a/entries/slideToggle.xml b/entries/slideToggle.xml
    index f3fc2352..9a91bed8 100644
    --- a/entries/slideToggle.xml
    +++ b/entries/slideToggle.xml
    @@ -30,7 +30,7 @@
         

    We will cause .slideToggle() to be called when another element is clicked:

    
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).slideToggle( "slow", function() {
         // Animation complete.
       });
    @@ -84,7 +84,7 @@ $( "button" ).on( "click", function() {
       
         Animates divs between dividers with a toggle that makes some appear and some disappear.
         
    diff --git a/entries/toggle.xml b/entries/toggle.xml
    index 199c93f6..7d74577f 100644
    --- a/entries/toggle.xml
    +++ b/entries/toggle.xml
    @@ -51,7 +51,7 @@ $( ".target" ).toggle();
         

    We will cause .toggle() to be called when another element is clicked:

    
    -$( "#clickme)" ).on( "click", function() {
    +$( "#clickme" ).on( "click", function() {
       $( "#book" ).toggle( "slow", function() {
         // Animation complete.
       });
    diff --git a/entries/toggleClass.xml b/entries/toggleClass.xml
    index fcb8da42..da2c894f 100644
    --- a/entries/toggleClass.xml
    +++ b/entries/toggleClass.xml
    @@ -99,7 +99,7 @@ $( "div.foo" ).toggleClass(function() {
         
           Toggle the class 'highlight' when a paragraph is clicked.
           
    diff --git a/entries/triggerHandler.xml b/entries/triggerHandler.xml
    index fb2da985..83b2a576 100644
    --- a/entries/triggerHandler.xml
    +++ b/entries/triggerHandler.xml
    @@ -37,10 +37,10 @@
       
         If you called .triggerHandler() on a focus event - the browser's default focus action would not be triggered, only the event handlers bound to the focus event.
          'token_separators': ['_', '-']
    
    This should make it so that "jQuery.ajax" is tokenised as "jquery ajax"
    instead of "jqueryajax".
    
    Ref https://github.com/typesense/typesense-docsearch-scraper/issues/40.
    ---
     docsearch.config.json | 7 +++++--
     1 file changed, 5 insertions(+), 2 deletions(-)
    
    diff --git a/docsearch.config.json b/docsearch.config.json
    index 5325f6f7..ed567926 100644
    --- a/docsearch.config.json
    +++ b/docsearch.config.json
    @@ -1,8 +1,8 @@
     {
       "index_name": "jquery_com",
       "start_urls": [
    -    { "url": "https://jquery.com" },
    -    { "url": "https://api.jquery.com", "selectors_key": "api" }
    +    { "url": "https://api.jquery.com", "selectors_key": "api", "page_rank": 20 },
    +    { "url": "https://jquery.com", "page_rank": 10 }
       ],
       "stop_urls": [
         ".com/category/"
    @@ -34,6 +34,9 @@
           "text": ".entry-content p, .entry-content li"
         }
       },
    +  "custom_settings": {
    +    "token_separators": ["_", "-", "."]
    +  },
       "selectors_exclude": [
         "header ~ article",
         ".returns",
    
    From e7c8ccd58f034db300b76be09588e7d14dedb602 Mon Sep 17 00:00:00 2001
    From: Timo Tijhof 
    Date: Mon, 8 May 2023 02:22:04 +0100
    Subject: [PATCH 154/222] Fix non-canonical links to /jQuery.ajax/
    
    Thanks to WordPress, each of these works, but they also end up
    indexed in Typesense (and in Algolia) as duplicate entries with
    slightly differently cased URLs.
    
    Avoid the duplication by making the links consistent.
    ---
     entries/jQuery.get.xml  | 2 +-
     entries/jQuery.post.xml | 2 +-
     notes.xsl               | 2 +-
     3 files changed, 3 insertions(+), 3 deletions(-)
    
    diff --git a/entries/jQuery.get.xml b/entries/jQuery.get.xml
    index 16b764d4..575a6f83 100644
    --- a/entries/jQuery.get.xml
    +++ b/entries/jQuery.get.xml
    @@ -24,7 +24,7 @@
       
         1.12-and-2.2
         
    -      A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. The type option will automatically be set to GET.
    +      A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. The type option will automatically be set to GET.
         
       
       Load data from the server using a HTTP GET request.
    diff --git a/entries/jQuery.post.xml b/entries/jQuery.post.xml
    index 4495cb7c..e5411bed 100644
    --- a/entries/jQuery.post.xml
    +++ b/entries/jQuery.post.xml
    @@ -24,7 +24,7 @@
       
         1.12-and-2.2
         
    -      A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. Type will automatically be set to POST.
    +      A set of key/value pairs that configure the Ajax request. All properties except for url are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) for a complete list of all settings. Type will automatically be set to POST.
         
       
       Send data to the server using a HTTP POST request.
    diff --git a/notes.xsl b/notes.xsl
    index fb74e852..b6c5969f 100644
    --- a/notes.xsl
    +++ b/notes.xsl
    @@ -53,7 +53,7 @@
     			If a request with  returns an error code, it will fail silently unless the script has also called the global ajaxError event. Alternatively, as of jQuery 1.5, the .error() method of the jqXHR object returned by  is also available for error handling.
     		
     		
    -			If $.ajax() or $.ajaxSetup() is called with the global option set to false, the  event will not fire.
    +			If $.ajax() or $.ajaxSetup() is called with the global option set to false, the  event will not fire.
     		
     		
     			If  is called on an unordered list (<ul>) and its <li> elements have position (relative, absolute, or fixed), the effect may not work properly in IE6 through at least IE9 unless the <ul> has "layout." To remedy the problem, add the position: relative; and zoom: 1; CSS declarations to the ul.
    
    From 1d2d81142c879feaa782ef4f60c9c8d0ce7cafe9 Mon Sep 17 00:00:00 2001
    From: Timo Tijhof 
    Date: Mon, 8 May 2023 02:25:14 +0100
    Subject: [PATCH 155/222] 3.2.2
    
    ---
     package-lock.json | 2 +-
     package.json      | 2 +-
     2 files changed, 2 insertions(+), 2 deletions(-)
    
    diff --git a/package-lock.json b/package-lock.json
    index 382479f8..3ada399b 100644
    --- a/package-lock.json
    +++ b/package-lock.json
    @@ -1,6 +1,6 @@
     {
       "name": "api.jquery.com",
    -  "version": "3.2.1",
    +  "version": "3.2.2",
       "lockfileVersion": 1,
       "requires": true,
       "dependencies": {
    diff --git a/package.json b/package.json
    index c628acd1..1022707a 100644
    --- a/package.json
    +++ b/package.json
    @@ -2,7 +2,7 @@
       "name": "api.jquery.com",
       "title": "jQuery API Docs",
       "description": "API reference documentation for the jQuery JavaScript Library.",
    -  "version": "3.2.1",
    +  "version": "3.2.2",
       "homepage": "https://github.com/jquery/api.jquery.com",
       "author": {
         "name": "jQuery Foundation and other contributors"
    
    From 0acd2c3ae34a847dbfa1ca15bcef274aa6010416 Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?=
     
    Date: Wed, 10 May 2023 10:50:39 +0200
    Subject: [PATCH 156/222] All: Add missing jQuery versions to categories,
     update entries
    
    jQuery 1.10/2.0 & 1.11/2.1 now have dedicated version categories; the
    same applies to 3.6. A few other version descriptions have been tweaked.
    
    The `.add( selection )` signature is now documented to have arrived in
    1.1 instead of 1.3.2. Tests for this behavior got added in:
    https://github.com/jquery/jquery/commit/a5f9108a2109b2ed5778af860b0928d8e6b0fdd2
    
    A cetegory in one of `before` & `after` signatures was updated from
    `1.10` to `1.10-and-2.0`, fixing a broken category link.
    
    Closes gh-1225
    ---
     categories.xml             | 40 ++++++++++++++++++++++++++++----------
     entries/add.xml            |  2 +-
     entries/after.xml          |  2 +-
     entries/before.xml         |  2 +-
     entries/jQuery.ajax.xml    |  3 ++-
     entries/jQuery.support.xml |  7 ++++++-
     6 files changed, 41 insertions(+), 15 deletions(-)
    
    diff --git a/categories.xml b/categories.xml
    index 22dbd59b..513b5459 100644
    --- a/categories.xml
    +++ b/categories.xml
    @@ -439,11 +439,24 @@ var files = event.originalEvent.dataTransfer.files;
             
    ]]> + + + + + + @@ -451,42 +464,49 @@ var files = event.originalEvent.dataTransfer.files; + + + diff --git a/entries/add.xml b/entries/add.xml index 6f1d7870..bb95b0f0 100644 --- a/entries/add.xml +++ b/entries/add.xml @@ -20,7 +20,7 @@ - 1.3.2 + 1.1 An existing jQuery object to add to the set of matched elements. diff --git a/entries/after.xml b/entries/after.xml index 210ad7c8..2ea48a9c 100644 --- a/entries/after.xml +++ b/entries/after.xml @@ -34,7 +34,7 @@ - 1.10 + 1.10-and-2.0 A function that returns an HTML string, DOM element(s), text node(s), or jQuery object to insert after each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. diff --git a/entries/before.xml b/entries/before.xml index 1a1fcdea..577f588b 100644 --- a/entries/before.xml +++ b/entries/before.xml @@ -35,7 +35,7 @@ - 1.10 + 1.10-and-2.0 diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index b8ee69a7..258ec227 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -114,7 +114,7 @@ $.ajax({ - A function to be called if the request fails. The function receives three arguments: The jqXHR (in jQuery 1.4.x, XMLHttpRequest) object, a string describing the type of error that occurred and an optional exception object, if one occurred. Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror". When an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, such as "Not Found" or "Internal Server Error." (in HTTP/2 it may instead be an empty string) As of jQuery 1.5, the error setting can accept an array of functions. Each function will be called in turn. Note: This handler is not called for cross-domain script and cross-domain JSONP requests. This is an Ajax Event. + A function to be called if the request fails. The function receives three arguments: The jqXHR (in jQuery 1.4.x, XMLHttpRequest) object, a string describing the type of error that occurred and an optional exception object, if one occurred. Possible values for the second argument (besides null) are "timeout", "error", "abort", and "parsererror". When an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, such as "Not Found" or "Internal Server Error." (in HTTP/2 it may instead be an empty string) As of jQuery 1.5, the error setting can accept an array of functions. Each function will be called in turn. Note: This handler is not called for cross-domain scripts and cross-domain JSONP requests. This is an Ajax Event. Whether to trigger global Ajax event handlers for this request. The default is true. Set to false to prevent the global handlers like ajaxStart or ajaxStop from being triggered. This can be used to control various Ajax Events. @@ -463,4 +463,5 @@ $.ajax({ + diff --git a/entries/jQuery.support.xml b/entries/jQuery.support.xml index 636ec72e..3252fd6e 100644 --- a/entries/jQuery.support.xml +++ b/entries/jQuery.support.xml @@ -4,10 +4,15 @@ 1.3 - A collection of properties that represent the presence of different browser features or bugs. Intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. For your own project's feature-detection needs, we strongly recommend the use of an external library such as Modernizr instead of dependency on properties in jQuery.support. + A collection of properties that represent the presence of different browser features or bugs; intended for jQuery's internal use. + +

    A collection of properties that represent the presence of different browser features or bugs. Intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. For your own project's feature-detection needs, we strongly recommend the use of an external library such as Modernizr instead of dependency on properties in jQuery.support.

    +

    As of jQuery 1.11 or 1.12, jQuery.support is no longer JSON-serializable; some properties point to functions that return the support test result when called. This was necessary to support lazy execution of support tests.

    +
    + From 9b950789e3552616779131603b008e99063a246d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Wed, 10 May 2023 23:49:40 +0200 Subject: [PATCH 157/222] 3.2.3 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3ada399b..80ce541b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.2.2", + "version": "3.2.3", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 1022707a..13abd64e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.2.2", + "version": "3.2.3", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 507541789e44a4ca40c76c2e5e8fbb95079a02b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 11 May 2023 00:31:13 +0200 Subject: [PATCH 158/222] All: Fix a few MDN links Replace all MDN links with their canonical versions, fixing one 404 in the process as well. --- entries/contents.xml | 2 +- entries/delay.xml | 2 +- entries/event.which.xml | 2 +- pages/Types.html | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/entries/contents.xml b/entries/contents.xml index 950411ba..6cfa73ba 100644 --- a/entries/contents.xml +++ b/entries/contents.xml @@ -34,7 +34,7 @@ $( ".container" ) .filter( "br" ) .remove();
    -

    This code first retrieves the contents of <div class="container"> and then filters it for text nodes, which are wrapped in paragraph tags. This is accomplished by testing the .nodeType property of the element. This DOM property holds a numeric code indicating the node's type; text nodes use the code 3. The contents are again filtered, this time for <br /> elements, and these elements are removed.

    +

    This code first retrieves the contents of <div class="container"> and then filters it for text nodes, which are wrapped in paragraph tags. This is accomplished by testing the .nodeType property of the element. This DOM property holds a numeric code indicating the node's type; text nodes use the code 3. The contents are again filtered, this time for <br /> elements, and these elements are removed.

    Find all the text nodes inside a paragraph and wrap them with a bold tag. diff --git a/entries/delay.xml b/entries/delay.xml index f611ffff..b2066217 100644 --- a/entries/delay.xml +++ b/entries/delay.xml @@ -21,7 +21,7 @@ $( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );

    When this statement is executed, the element slides up for 300 milliseconds and then pauses for 800 milliseconds before fading in for 400 milliseconds.

    - The .delay() method is best for delaying between queued jQuery effects. Because it is limited—it doesn't, for example, offer a way to cancel the delay—.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases. + The .delay() method is best for delaying between queued jQuery effects. Because it is limited—it doesn't, for example, offer a way to cancel the delay—.delay() is not a replacement for JavaScript's native setTimeout function, which may be more appropriate for certain use cases.

    diff --git a/entries/event.which.xml b/entries/event.which.xml index 1d36d527..e8e6aa28 100644 --- a/entries/event.which.xml +++ b/entries/event.which.xml @@ -6,7 +6,7 @@ For key or mouse events, this property indicates the specific key or button that was pressed. -

    The event.which property normalizes event.keyCode and event.charCode. It is recommended to watch event.which for keyboard key input. For more detail, read about event.charCode on the MDN.

    +

    The event.which property normalizes event.keyCode and event.charCode. It is recommended to watch event.which for keyboard key input. For more detail, read about event.charCode on the MDN.

    event.which also normalizes button presses (mousedown and mouseupevents), reporting 1 for left button, 2 for middle, and 3 for right. Use event.which instead of event.button.

    diff --git a/pages/Types.html b/pages/Types.html index 969d154a..6c75695e 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -648,7 +648,7 @@

    XMLHttpRequest

    Although the XHR object is a standard, there are variations in its behavior on different browsers. Refer to the WHATWG site and Mozilla Developer Network for more information:

    jqXHR

    As of jQuery 1.5, the $.ajax() method returns the jqXHR object, which is a superset of the XMLHTTPRequest object. For more information, see the jqXHR section of the $.ajax entry From 66bda2e28f93e98f963486fd5b2eea4b13d6c466 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 11 May 2023 00:31:41 +0200 Subject: [PATCH 159/222] 3.2.4 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 80ce541b..9fad268c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.2.3", + "version": "3.2.4", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 13abd64e..48632141 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.2.3", + "version": "3.2.4", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From e52362a73a7f9be25d05b66ee254669f6ea1142b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Thu, 11 May 2023 21:52:53 +0200 Subject: [PATCH 160/222] prevAll:uniqueAll: Add uniqueAll, use it in reverse doc order examples Also, use it in `.prevAll()` examples instead of the older `jQuery.uniqueSort()`. In addition, update jQuery used in examples to `3.7.0` and add the category for jQuery `3.7`. Closes gh-1216 Ref gh-1215 Ref jquery/jquery#5149 --- categories.xml | 9 ++++ entries/prevAll.xml | 19 ++++--- entries/uniqueSort.xml | 112 +++++++++++++++++++++++++++++++++++++++++ entries2html.xsl | 2 +- 4 files changed, 135 insertions(+), 7 deletions(-) create mode 100644 entries/uniqueSort.xml diff --git a/categories.xml b/categories.xml index 513b5459..d5c9d917 100644 --- a/categories.xml +++ b/categories.xml @@ -510,6 +510,15 @@ var files = event.originalEvent.dataTransfer.files;


    ]]> + + + diff --git a/entries/prevAll.xml b/entries/prevAll.xml index 4b5f6062..d3eeca03 100644 --- a/entries/prevAll.xml +++ b/entries/prevAll.xml @@ -50,7 +50,14 @@ $( ".last-item" ) <div class="last-item">Last</div> </div>
    -

    because "Item 2" gets appended to the wrapper div first. To work around the issue, you may use $.uniqueSort() on the .prevAll() output first:

    +

    because "Item 2" gets appended to the wrapper div first. To work around the issue, you may use .uniqueSort() on the .prevAll() output first:

    +
    
    +$( ".last-item" )
    +  .prevAll()
    +  .uniqueSort()
    +  .wrapAll( "<div class='wrapper'></div>" );
    +    
    +

    Note that the .uniqueSort() method is only available in jQuery 3.7.0 or newer. In older versions, you will need to use $.uniqueSort() to achieve a similar effect:

    
     var prevSiblings = $( ".last-item" ).prevAll();
     $.uniqueSort( prevSiblings );
    @@ -83,7 +90,7 @@ $( "div" ).last().prevAll().addClass( "before" );
     ]]>
       
       
    -    Locate all the divs preceding the last item and wrap them with a div with class wrapper - with or without $.uniqueSort().
    +    Locate all the divs preceding the last item and wrap them with a div with class wrapper - with or without .uniqueSort().
         
         
    +    
    +    
    +  
    +  
    +    Locate all the divs preceding the last item and wrap them with a div with class wrapper - with or without .uniqueSort().
    +    
    +    
    +    
    +  
    +  
    +  
    +
    diff --git a/entries2html.xsl b/entries2html.xsl
    index 8b06fadf..37bfdb3c 100755
    --- a/entries2html.xsl
    +++ b/entries2html.xsl
    @@ -12,7 +12,7 @@
     	<meta charset="utf-8">
     	<title> demo</title>
     	<style>	</style>
    -	<script src="https://code.jquery.com/jquery-3.6.3.js"></script>
    +	<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
     	<script>
     	
     	</script>
    
    From 5c72da2c884c6930b7488f568fab59b0ae90079d Mon Sep 17 00:00:00 2001
    From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?=
     
    Date: Thu, 11 May 2023 21:55:37 +0200
    Subject: [PATCH 161/222] blur:focus: document IE-related changes in jQuery 3.7
    
    ---
     entries/blur.xml  | 2 ++
     entries/focus.xml | 2 ++
     2 files changed, 4 insertions(+)
    
    diff --git a/entries/blur.xml b/entries/blur.xml
    index d99003e9..68636a0c 100644
    --- a/entries/blur.xml
    +++ b/entries/blur.xml
    @@ -51,6 +51,7 @@ $( "#other" ).on( "click", function() {
         

    After this code executes, clicks on Trigger the handler will also alert the message.

    The blur event does not bubble. As of version 1.4.2, jQuery works around this limitation by mapping blur to the focusout event in its event delegation methods.

    +

    The native blur event is asynchronous in all versions of IE, contrary to other browsers. To avoid issues related to this discrepancy, as of jQuery 3.7.0, jQuery uses focusout as the native backing event for blur in IE.

    To trigger the blur event on all paragraphs: @@ -62,6 +63,7 @@ $( "p" ).trigger( "blur" ); + diff --git a/entries/focus.xml b/entries/focus.xml index 21d6b2c2..c9736a29 100644 --- a/entries/focus.xml +++ b/entries/focus.xml @@ -57,6 +57,7 @@ $( "#other" ).on( "click", function() {

    After this code executes, clicks on Trigger the handler will also alert the message.

    The focus event does not bubble. As of version 1.4.2, jQuery works around this limitation by mapping focus to the focusin event in its event delegation methods.

    +

    The native focus event is asynchronous in all versions of IE, contrary to other browsers. To avoid issues related to this discrepancy, as of jQuery 3.7.0, jQuery uses focusin as the native backing event for focus in IE.

    Fire focus. @@ -95,6 +96,7 @@ $( function() { + From 226f67d0d9325143ed8155e27c609ee12768835a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 11 May 2023 21:56:37 +0200 Subject: [PATCH 162/222] All: Make deprecation warnings more prominent --- entries/deferred.pipe.xml | 4 +++- entries/jQuery.fx.interval.xml | 4 +++- entries/jQuery.parseJSON.xml | 4 +++- entries/jQuery.unique.xml | 4 +++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/entries/deferred.pipe.xml b/entries/deferred.pipe.xml index 66eda149..a74f9dac 100644 --- a/entries/deferred.pipe.xml +++ b/entries/deferred.pipe.xml @@ -34,7 +34,9 @@ Utility method to filter and/or chain Deferreds. -

    Deprecation Notice:As of jQuery 1.8, the deferred.pipe() method is deprecated. The deferred.then() method, which replaces it, should be used instead.

    +
    +

    Deprecation Notice:As of jQuery 1.8, the deferred.pipe() method is deprecated. The deferred.then() method, which replaces it, should be used instead.

    +

    The deferred.pipe() method returns a new promise that filters the status and values of a deferred through a function. The doneFilter and failFilter functions filter the original deferred's resolved / rejected status and values. As of jQuery 1.7, the method also accepts a progressFilter function to filter any calls to the original deferred's notify or notifyWith methods. These filter functions can return a new value to be passed along to the piped promise's done() or fail() callbacks, or they can return another observable object (Deferred, Promise, etc) which will pass its resolved / rejected status and values to the piped promise's callbacks. If the filter function used is null, or not specified, the piped promise will be resolved or rejected with the same values as the original.

    diff --git a/entries/jQuery.fx.interval.xml b/entries/jQuery.fx.interval.xml index dcf5653a..ddcf4296 100644 --- a/entries/jQuery.fx.interval.xml +++ b/entries/jQuery.fx.interval.xml @@ -6,7 +6,9 @@ 1.4.3 -

    This property is deprecated as of version 3.0, and has no effect in browsers that support the requestAnimationFrame method.

    +
    +

    This property is deprecated as of version 3.0, and has no effect in browsers that support the requestAnimationFrame method.

    +

    On browsers that do not support requestAnimationFrame, this property can be changed to adjust the interval at which animations will run. The default is 13 milliseconds.

    Since jQuery uses one global interval, no animation should be running or all animations should stop for the change of this property to take effect.

    diff --git a/entries/jQuery.parseJSON.xml b/entries/jQuery.parseJSON.xml index c09f3c40..a3249174 100644 --- a/entries/jQuery.parseJSON.xml +++ b/entries/jQuery.parseJSON.xml @@ -14,7 +14,9 @@ Takes a well-formed JSON string and returns the resulting JavaScript value. -

    As of jQuery 3.0, $.parseJSON is deprecated. To parse JSON strings use the native JSON.parse method instead.

    +
    +

    As of jQuery 3.0, $.parseJSON is deprecated. To parse JSON strings use the native JSON.parse method instead.

    +

    Passing in a malformed JSON string results in a JavaScript exception being thrown. For example, the following are all invalid JSON strings:

    • "{test: 1}" (test does not have double quotes around it).
    • diff --git a/entries/jQuery.unique.xml b/entries/jQuery.unique.xml index 01b0c980..bac61334 100644 --- a/entries/jQuery.unique.xml +++ b/entries/jQuery.unique.xml @@ -9,7 +9,9 @@ Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. -

      As of jQuery 3.0, this method is deprecated and just an alias of jQuery.uniqueSort(). Please use that method instead.

      +
      +

      As of jQuery 3.0, this method is deprecated and just an alias of jQuery.uniqueSort(). Please use that method instead.

      +

      The $.unique() function searches through an array of objects, sorting the array, and removing any duplicate nodes. A node is considered a duplicate if it is the exact same node as one already in the array; two different nodes with identical attributes are not considered to be duplicates. This function only works on plain JavaScript arrays of DOM elements, and is chiefly used internally by jQuery. You probably will never need to use it.

      As of jQuery 1.4 the results will always be returned in document order.

      From 0cb274564b71e3503f620dfae3d0a1e646f28fcc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Thu, 11 May 2023 21:59:10 +0200 Subject: [PATCH 163/222] 3.3.0 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9fad268c..580ff193 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.2.4", + "version": "3.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 48632141..b329b4c9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.2.4", + "version": "3.3.0", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 29cf863ab724734849effbfd6b777d4cdfd0a6ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Sun, 14 May 2023 23:35:55 +0200 Subject: [PATCH 164/222] Build: Skip checking Twitter links in the hydra crawler (#1231) Twitter pages now do 302-redirects to themselves for users without a specific cookie set which trips the crawler; avoid checking Twitter links by abusing the `exclude_scheme_prefixes` option of the crawler. Since the project only accepts options in a form of a configuration file, we also need to clone the API repo to provide such a file. --- .github/configs/hydra-config.json | 5 +++++ .github/workflows/spider-check.yaml | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) create mode 100644 .github/configs/hydra-config.json diff --git a/.github/configs/hydra-config.json b/.github/configs/hydra-config.json new file mode 100644 index 00000000..3d367e7b --- /dev/null +++ b/.github/configs/hydra-config.json @@ -0,0 +1,5 @@ +{ + "exclude_scheme_prefixes": [ + "https://twitter.com/" + ] +} diff --git a/.github/workflows/spider-check.yaml b/.github/workflows/spider-check.yaml index daa13e89..eae939e0 100644 --- a/.github/workflows/spider-check.yaml +++ b/.github/workflows/spider-check.yaml @@ -20,9 +20,18 @@ jobs: runs-on: ubuntu-latest if: ${{ github.repository_owner == 'jquery' }} # skip on forks steps: - - uses: actions/checkout@v2 + - name: Checkout hydra-link-checker + uses: actions/checkout@v3 with: repository: jquery/hydra-link-checker ref: v2.0.0 + path: hydra + + # Checkout the API repo as well to provide the config for hydra-link-checker + - name: Checkout API repo + uses: actions/checkout@v3 + with: + path: api + - name: Run hydra-link-checker - run: python3 hydra.py "$MY_SITE" + run: python3 hydra/hydra.py "$MY_SITE" --config api/.github/configs/hydra-config.json From 753b2ee418fc924a70b1a4adbd1171794826e7fd Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Sun, 14 May 2023 22:38:02 +0100 Subject: [PATCH 165/222] deferred.isRejected: Fix broken link Found by hydra-link-checker: - code: 404 url: https://api.jquery.com/deferred.isRejected/h/deferred.reject/ parent: https://api.jquery.com/deferred.isRejected/ error: Not Found --- entries/deferred.isRejected.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/entries/deferred.isRejected.xml b/entries/deferred.isRejected.xml index 60ddb77b..a391f779 100644 --- a/entries/deferred.isRejected.xml +++ b/entries/deferred.isRejected.xml @@ -9,7 +9,7 @@

      Note: This API has been removed in jQuery 1.8; please use deferred.state() instead.

      -

      Returns true if the Deferred object is in the rejected state, meaning that either deferred.reject() or deferred.rejectWith() has been called for the object and the failCallbacks have been called (or are in the process of being called).

      +

      Returns true if the Deferred object is in the rejected state, meaning that either deferred.reject() or deferred.rejectWith() has been called for the object and the failCallbacks have been called (or are in the process of being called).

      Note that a Deferred object can be in one of three states: pending, resolved, or rejected; use deferred.isResolved() to determine whether the Deferred object is in the resolved state. These methods are primarily useful for debugging, for example to determine whether a Deferred has already been resolved even though you are inside code that intended to reject it.

      From 8f8f62c1f1231e381344d1d90991dece4b37051f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Wed, 17 May 2023 13:56:09 +0200 Subject: [PATCH 166/222] All: Fix links reported by hydra-link-checker Closes gh-1232 --- categories.xml | 6 +++--- entries/context.xml | 4 ++-- entries/innerHeight.xml | 4 ++-- entries/innerWidth.xml | 4 ++-- entries/jQuery.ajax.xml | 4 ++-- entries/jQuery.cssHooks.xml | 2 +- entries/jQuery.globalEval.xml | 4 ++-- entries/outerHeight.xml | 4 ++-- entries/outerWidth.xml | 4 ++-- notes.xsl | 2 +- pages/Types.html | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/categories.xml b/categories.xml index d5c9d917..06418fb2 100644 --- a/categories.xml +++ b/categories.xml @@ -61,7 +61,7 @@

      For more information, see the Release Notes/Changelog at https://blog.jquery.com/2013/01/15/jquery-1-9-final-jquery-2-0-beta-migrate-final-released/

      ]]>
      - + @@ -401,8 +401,8 @@ var files = event.originalEvent.dataTransfer.files; diff --git a/entries/context.xml b/entries/context.xml index 496c833a..cd9c3cc4 100644 --- a/entries/context.xml +++ b/entries/context.xml @@ -1,5 +1,5 @@ - + .context 1.3 @@ -24,6 +24,6 @@ $( "ul" ) - + diff --git a/entries/innerHeight.xml b/entries/innerHeight.xml index bf5eab75..72e8327d 100644 --- a/entries/innerHeight.xml +++ b/entries/innerHeight.xml @@ -44,7 +44,7 @@ $( "p" ).last().text( "innerHeight:" + p.innerHeight() ); - 1.8.0 + 1.8 @@ -52,7 +52,7 @@ $( "p" ).last().text( "innerHeight:" + p.innerHeight() ); - 1.8.0 + 1.8 diff --git a/entries/innerWidth.xml b/entries/innerWidth.xml index 2990b7b2..7eb25c9d 100644 --- a/entries/innerWidth.xml +++ b/entries/innerWidth.xml @@ -43,7 +43,7 @@ $( "p" ).last().text( "innerWidth:" + p.innerWidth() ); - 1.8.0 + 1.8 @@ -51,7 +51,7 @@ $( "p" ).last().text( "innerWidth:" + p.innerWidth() ); - 1.8.0 + 1.8 diff --git a/entries/jQuery.ajax.xml b/entries/jQuery.ajax.xml index 258ec227..9074388b 100644 --- a/entries/jQuery.ajax.xml +++ b/entries/jQuery.ajax.xml @@ -138,7 +138,7 @@ $.ajax({ Specify the callback function name for a JSONP request. This value will be used instead of the random name automatically generated by jQuery. It is preferable to let jQuery generate a unique name as it'll make it easier to manage the requests and provide callbacks and error handling. You may want to specify the callback when you want to enable better browser caching of GET requests. As of jQuery 1.5, you can also use a function for this setting, in which case the value of jsonpCallback is set to the return value of that function. - + The HTTP method to use for the request (e.g. "POST", "GET", "PUT"). @@ -150,7 +150,7 @@ $.ajax({ By default, data passed in to the data option as an object (technically, anything other than a string) will be processed and transformed into a query string, fitting to the default content-type "application/x-www-form-urlencoded". If you want to send a DOMDocument, or other non-processed data, set this option to false. - + Defines an object with additional attributes to be used in a "script" or "jsonp" request. The key represents the name of the attribute and the value is the attribute's value. If this object is provided it will force the use of a script-tag transport. For example, this can be used to set nonce, integrity, or crossorigin attributes to satisfy Content Security Policy requirements. diff --git a/entries/jQuery.cssHooks.xml b/entries/jQuery.cssHooks.xml index 19bb9054..ec36ccfe 100644 --- a/entries/jQuery.cssHooks.xml +++ b/entries/jQuery.cssHooks.xml @@ -163,7 +163,7 @@ if ( $.support.someCSSProp && $.support.someCSSProp !== "someCSSProp" ) })( jQuery );

    Special units

    -

    By default, jQuery adds a "px" unit to the values passed to the .css() method. This behavior can be prevented by adding the property to the jQuery.cssNumber object

    +

    By default, jQuery adds a "px" unit to the values passed to the .css() method. This behavior can be prevented by adding the property to the jQuery.cssNumber object

    
     $.cssNumber.someCSSProp = true;
         
    diff --git a/entries/jQuery.globalEval.xml b/entries/jQuery.globalEval.xml index 19b9f9c9..f6234efe 100644 --- a/entries/jQuery.globalEval.xml +++ b/entries/jQuery.globalEval.xml @@ -8,7 +8,7 @@ - 3.4.0 + 3.4 The JavaScript code to execute. @@ -19,7 +19,7 @@ - 3.5.0 + 3.5 The JavaScript code to execute. diff --git a/entries/outerHeight.xml b/entries/outerHeight.xml index 991a36da..5432ff08 100644 --- a/entries/outerHeight.xml +++ b/entries/outerHeight.xml @@ -47,7 +47,7 @@ $( "p" ).last().text( - 1.8.0 + 1.8 @@ -58,7 +58,7 @@ $( "p" ).last().text( - 1.8.0 + 1.8 diff --git a/entries/outerWidth.xml b/entries/outerWidth.xml index c8e6f87e..93faab40 100644 --- a/entries/outerWidth.xml +++ b/entries/outerWidth.xml @@ -47,7 +47,7 @@ $( "p" ).last().text( - 1.8.0 + 1.8 @@ -58,7 +58,7 @@ $( "p" ).last().text( - 1.8.0 + 1.8 diff --git a/notes.xsl b/notes.xsl index b6c5969f..6963dad2 100644 --- a/notes.xsl +++ b/notes.xsl @@ -17,7 +17,7 @@ Selected elements are in the order of their appearance in the document. - Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint. + Forms and their child elements should not use input names or ids that conflict with properties of a form, such as submit, length, or method. Name conflicts can cause confusing failures. For a complete list of rules and to check your markup for these problems, see DOMLint. The value reported by is not guaranteed to be accurate when the element or its parent is hidden. To get an accurate value, ensure the element is visible before using . jQuery will attempt to temporarily show and then re-hide an element in order to measure its dimensions, but this is unreliable and (even when accurate) can significantly impact page performance. This show-and-rehide measurement feature may be removed in a future version of jQuery. diff --git a/pages/Types.html b/pages/Types.html index 6c75695e..5364dd5f 100644 --- a/pages/Types.html +++ b/pages/Types.html @@ -300,7 +300,7 @@

    Iteration

    alert( "key is " + [ key ] + ", value is " + obj[ key ] ); }
    -

    Note that for-in-loop can be spoiled by extending Object.prototype (see Object.prototype is verboten) so take care when using other libraries. +

    Note that for-in-loop can be spoiled by extending Object.prototype (see Object.prototype is verboten) so take care when using other libraries.

    jQuery provides a generic each function to iterate over properties of objects, as well as elements of arrays:

    From 72e6a9159fde4e40683426ddb9e410d4c3c2742b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Wed, 17 May 2023 15:36:13 +0200 Subject: [PATCH 167/222] 3.3.1 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 580ff193..f90e7656 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.3.0", + "version": "3.3.1", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b329b4c9..040e83a1 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.3.0", + "version": "3.3.1", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 88b9286e689f39ecd3e3e582fe6a8c8ca887ebb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82=C4=99biowski-Owczarek?= Date: Mon, 12 Jun 2023 22:00:56 +0200 Subject: [PATCH 168/222] jQuery.error: Don't advertise assigning jQuery.error to console.error The original implementation of `jQuery.error` throws an error. When overwritten, it should still finish by throwing an error to avoid observable differences in behavior. Closes gh-1233 --- entries/jQuery.error.xml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/entries/jQuery.error.xml b/entries/jQuery.error.xml index 3ae5110a..54b64d5d 100644 --- a/entries/jQuery.error.xml +++ b/entries/jQuery.error.xml @@ -10,11 +10,15 @@ Takes a string and throws an exception containing it.

    This method exists primarily for plugin developers who wish to override it and provide a better display (or more information) for the error messages.

    +

    If you do override the method, remember to still throw an error at the end to preserve semantics.

    - Override jQuery.error for display in Firebug. + Override jQuery.error to send it to a logging service, assuming the sendErrorLog method is provided by this service. From 6c2c0e6839aeabbc8f1613666b25a292c74c44d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Go=C5=82e=CC=A8biowski-Owczarek?= Date: Mon, 12 Jun 2023 22:01:44 +0200 Subject: [PATCH 169/222] 3.3.2 --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f90e7656..4e749025 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "api.jquery.com", - "version": "3.3.1", + "version": "3.3.2", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 040e83a1..7682059f 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "api.jquery.com", "title": "jQuery API Docs", "description": "API reference documentation for the jQuery JavaScript Library.", - "version": "3.3.1", + "version": "3.3.2", "homepage": "https://github.com/jquery/api.jquery.com", "author": { "name": "jQuery Foundation and other contributors" From 2efc58620b8e451b57780b83ca3fe7b645e00758 Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Sat, 8 Jul 2023 20:04:37 +0100 Subject: [PATCH 170/222] Build: Remove redundant grunt-cli dependency This is already providewd by grunt, which actually installs one patch version newer, and so was even installed twice. --- package-lock.json | 28 ---------------------------- package.json | 1 - 2 files changed, 29 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4e749025..29f9ff8c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -422,29 +422,6 @@ "resolved": "https://registry.npmjs.org/grunt-check-modules/-/grunt-check-modules-1.1.0.tgz", "integrity": "sha1-fBZB28ZlSGdqbVl5Ga35C3s11kQ=" }, - "grunt-cli": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.4.2.tgz", - "integrity": "sha512-wsu6BZh7KCnfeaSkDrKIAvOlqGKxNRTZjc8xfZlvxCByQIqUfZ31kh5uHpPnhQ4NdVgvaWaVxa1LUbVU80nACw==", - "requires": { - "grunt-known-options": "~1.1.1", - "interpret": "~1.1.0", - "liftup": "~3.0.1", - "nopt": "~4.0.1", - "v8flags": "~3.2.0" - }, - "dependencies": { - "nopt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", - "integrity": "sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==", - "requires": { - "abbrev": "1", - "osenv": "^0.1.4" - } - } - } - }, "grunt-jquery-content": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/grunt-jquery-content/-/grunt-jquery-content-3.1.0.tgz", @@ -473,11 +450,6 @@ } } }, - "grunt-known-options": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz", - "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==" - }, "grunt-legacy-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-3.0.0.tgz", diff --git a/package.json b/package.json index 7682059f..d4e153da 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ }, "dependencies": { "grunt": "1.5.3", - "grunt-cli": "1.4.2", "grunt-jquery-content": "3.1.0" } } From 97813056dd1b4a4d98904b1d66ff8baf2bc8d411 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Mon, 24 Jul 2023 11:04:49 -0400 Subject: [PATCH 171/222] Build: add node.js workflow to run lint --- .github/workflows/node.js.yml | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 .github/workflows/node.js.yml diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml new file mode 100644 index 00000000..c5ba2621 --- /dev/null +++ b/.github/workflows/node.js.yml @@ -0,0 +1,29 @@ +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs + +name: Node.js CI + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + build: + + runs-on: ubuntu-latest + + strategy: + matrix: + # Old infra requires Node 10 + node-version: [10.x, 18.x] + + steps: + - uses: actions/checkout@v3 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v3 + with: + node-version: ${{ matrix.node-version }} + cache: 'npm' + - run: npm ci + - run: npm test From bd7a1a0c5cef3c3fc02d9515147aa43c6263c961 Mon Sep 17 00:00:00 2001 From: Timmy Willison Date: Mon, 24 Jul 2023 11:19:42 -0400 Subject: [PATCH 172/222] Build: install libxml2 for lint task (#1237) --- .github/workflows/node.js.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index c5ba2621..5309c6fa 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -19,6 +19,8 @@ jobs: node-version: [10.x, 18.x] steps: + - name: Install xmllint + run: sudo apt-get install -y libxml2-utils - uses: actions/checkout@v3 - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 From e0244b03fc2c7fd4475b37c11fb77b919bb9263a Mon Sep 17 00:00:00 2001 From: Timo Tijhof Date: Sat, 23 Jan 2016 17:13:04 +0000 Subject: [PATCH 173/222] Build: Add `.editorconfig` file (#877) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vast majority of XML files in the repo use two spaces today, and even the files that contain tabs, do so only among many more lines in the same file that are indented with spaces instead. As such, for now, normalize toward two spaces so that only a few files need to edited. The exception is the JS and XSL files, of which the are only two of each. In accordance with jQuery Style Guide, keep those as tabs. ``` $ git grep $'\t' | cut -d':' -f1 | sort | uniq Gruntfile.js entries2html.xsl notes.xsl resources/events.js git grep $' ' | cut -d':' -f1 | sort | uniq … ``` Closes https://github.com/jquery/api.jquery.com/pull/877. Co-authored-by: Aurelio De Rosa --- .editorconfig | 13 +++ categories.xml | 72 ++++++++-------- config-sample.json | 6 +- entries/appendTo.xml | 2 +- entries/innerHeight.xml | 2 +- entries/innerWidth.xml | 8 +- entries/jQuery.parseHTML.xml | 4 +- entries/offset.xml | 6 +- entries/outerHeight.xml | 2 +- entries/outerWidth.xml | 2 +- entries/position.xml | 2 +- entries/width.xml | 2 +- includes/complete-argument.xml | 2 +- includes/duration-argument.xml | 6 +- includes/easing-argument.xml | 2 +- includes/options-argument.xml | 150 ++++++++++++++++----------------- pages/Types.html | 2 +- redirects.json | 2 +- resources/events.js | 52 ++++++------ resources/load.html | 16 ++-- 20 files changed, 183 insertions(+), 170 deletions(-) create mode 100644 .editorconfig diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..8b808995 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,13 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.js, *.xsl] +indent_style = tab diff --git a/categories.xml b/categories.xml index 06418fb2..2f408651 100644 --- a/categories.xml +++ b/categories.xml @@ -190,15 +190,15 @@ var files = event.originalEvent.dataTransfer.files; - + + A few of these methods—such as .attr(), .html(), and .val()—also act as "getters," retrieving information from DOM elements for later use. + ]]> @@ -327,73 +327,73 @@ var files = event.originalEvent.dataTransfer.files; + jQuery 1.0 Release Notes. + ]]> + Release Notes: 1.0.1, 1.0.2, 1.0.3, 1.0.4. + ]]> + jQuery 1.1 Release Notes. + ]]> + jQuery 1.1.2 Release Notes. + ]]> + jQuery 1.1.3 Release Notes + ]]> + jQuery 1.1.4 Release Notes. + ]]> + jQuery 1.2 Release Notes + ]]> + Release Notes: 1.2.1, 1.2.2, 1.2.3. + ]]> + jQuery 1.2.6 Release Notes. + ]]> + Release Notes: 1.3, 1.3.1, 1.3.2 + ]]> + jQuery 1.4 Release Notes. + ]]> + jQuery 1.4.1 Release Notes. + ]]> + jQuery 1.4.2 Release Notes. + ]]> + jQuery 1.4.3 Release Notes. + ]]> @@ -414,11 +414,11 @@ var files = event.originalEvent.dataTransfer.files; diff --git a/config-sample.json b/config-sample.json index b26cf9fc..a62b85f2 100644 --- a/config-sample.json +++ b/config-sample.json @@ -1,5 +1,5 @@ { - "url": "vagrant.api.jquery.com", - "username": "admin", - "password": "secret" + "url": "vagrant.api.jquery.com", + "username": "admin", + "password": "secret" } diff --git a/entries/appendTo.xml b/entries/appendTo.xml index 931e70bb..7221b2e0 100644 --- a/entries/appendTo.xml +++ b/entries/appendTo.xml @@ -54,7 +54,7 @@ $( "h2" ).appendTo( $( ".container" ) ); </div>

    If there is more than one target element, however, cloned copies of the inserted element will be created for each target except the last, and that new set (the original element plus clones) is returned.

    -

    Before jQuery 1.9, the append-to-single-element case did not create a new set, but instead returned the original set which made it difficult to use the .end() method reliably when being used with an unknown number of elements.

    +

    Before jQuery 1.9, the append-to-single-element case did not create a new set, but instead returned the original set which made it difficult to use the .end() method reliably when being used with an unknown number of elements.

    diff --git a/entries/innerHeight.xml b/entries/innerHeight.xml index 72e8327d..2f71ae9f 100644 --- a/entries/innerHeight.xml +++ b/entries/innerHeight.xml @@ -16,7 +16,7 @@
    Figure 1 - Illustration of the measured height
    - + Get the innerHeight of a paragraph. diff --git a/entries/innerWidth.xml b/entries/innerWidth.xml index 7eb25c9d..54b6b358 100644 --- a/entries/innerWidth.xml +++ b/entries/innerWidth.xml @@ -15,7 +15,7 @@
    Figure 1 - Illustration of the measured width
    - + Get the innerWidth of a paragraph. @@ -45,9 +45,9 @@ $( "p" ).last().text( "innerWidth:" + p.innerWidth() ); 1.8 - - - A number representing the number of pixels, or a number along with an optional unit of measure appended (as a string). + + + A number representing the number of pixels, or a number along with an optional unit of measure appended (as a string). diff --git a/entries/jQuery.parseHTML.xml b/entries/jQuery.parseHTML.xml index 5354627a..5ff74ce7 100644 --- a/entries/jQuery.parseHTML.xml +++ b/entries/jQuery.parseHTML.xml @@ -18,8 +18,8 @@

    jQuery.parseHTML uses native methods to convert the string to a set of DOM nodes, which can then be inserted into the document. These methods do render all trailing or leading text (even if that's just whitespace). To prevent trailing/leading whitespace from being converted to text nodes you can pass the HTML string through jQuery.trim.

    By default, the context is the current document if not specified or given as null or undefined. If the HTML was to be used in another document such as an iframe, that frame's document could be used.

    As of 3.0 the default behavior is changed. If the context is not specified or given as null or undefined, a new document is used. This can potentially improve security because inline events will not execute when the HTML is parsed. Once the parsed HTML is injected into a document it does execute, but this gives tools a chance to traverse the created DOM and remove anything deemed unsafe. This improvement does not apply to internal uses of jQuery.parseHTML as they usually pass in the current document. Therefore, a statement like $( "#log" ).append( $( htmlString ) ) is still subject to the injection of malicious code.

    -

    Security Considerations

    -

    Most jQuery APIs that accept HTML strings will run scripts that are included in the HTML. jQuery.parseHTML does not run scripts in the parsed HTML unless keepScripts is explicitly true. However, it is still possible in most environments to execute scripts indirectly, for example via the <img onerror> attribute. The caller should be aware of this and guard against it by cleaning or escaping any untrusted inputs from sources such as the URL or cookies. For future compatibility, callers should not depend on the ability to run any script content when keepScripts is unspecified or false.

    +

    Security Considerations

    +

    Most jQuery APIs that accept HTML strings will run scripts that are included in the HTML. jQuery.parseHTML does not run scripts in the parsed HTML unless keepScripts is explicitly true. However, it is still possible in most environments to execute scripts indirectly, for example via the <img onerror> attribute. The caller should be aware of this and guard against it by cleaning or escaping any untrusted inputs from sources such as the URL or cookies. For future compatibility, callers should not depend on the ability to run any script content when keepScripts is unspecified or false.

    Create an array of DOM nodes using an HTML string and insert it into a div. diff --git a/entries/offset.xml b/entries/offset.xml index 5a2f3535..81923287 100644 --- a/entries/offset.xml +++ b/entries/offset.xml @@ -11,11 +11,11 @@

    The .offset() method allows us to retrieve the current position of an element (specifically its border box, which excludes margins) relative to the document. Contrast this with .position(), which retrieves the current position relative to the offset parent. When positioning a new element on top of an existing one for global manipulation (in particular, for implementing drag-and-drop), .offset() is more useful.

    .offset() returns an object containing the properties top and left.

    -

    Note: jQuery does not support getting the offset coordinates of hidden elements or accounting for margins set on the <html> document element.

    +

    Note: jQuery does not support getting the offset coordinates of hidden elements or accounting for margins set on the <html> document element.

    While it is possible to get the coordinates of elements with visibility:hidden set, display:none is excluded from the rendering tree and thus has a position that is undefined.

    - + Access the offset of the second paragraph: '); - string += '
    }'; - message = string; - } + if (typeof(message) == 'object') { + var string = '{
    ', + values = [], + counter = 0; + $.each(message, function(key, value) { + if (value && value.nodeName) { + var domnode = '<' + value.nodeName.toLowerCase(); + domnode += value.className ? ' class="' + value.className + '"' : ''; + domnode += value.id ? ' id="' + value.id + '"' : ''; + domnode += '>'; + value = domnode; + } + values[counter++] = key + ': ' + value; + }); + string += values.join(',
    '); + string += '
    }'; + message = string; + } - var $output = $('#print-output'); + var $output = $('#print-output'); - if ($output.length === 0) { - $output = $('