diff --git a/core/assets/vendor/jquery-once/jquery.once.js b/core/assets/vendor/jquery-once/jquery.once.js
index f0ed4d0a4b9c4b42001ef8e99869795ee78aa31f..88e088130267bec785b9bbb2795b56c7cd1a1320 100644
--- a/core/assets/vendor/jquery-once/jquery.once.js
+++ b/core/assets/vendor/jquery-once/jquery.once.js
@@ -1,5 +1,5 @@
 /*!
- * jQuery Once v2.2.0 - http://github.com/robloach/jquery-once
+ * jQuery Once v2.2.3 - http://github.com/robloach/jquery-once
  * @license MIT, GPL-2.0
  *   http://opensource.org/licenses/MIT
  *   http://opensource.org/licenses/GPL-2.0
@@ -17,7 +17,7 @@
 (function (factory) {
   'use strict';
 
-  if (typeof exports === 'object') {
+  if (typeof exports === 'object' && typeof exports.nodeName !== 'string') {
     // CommonJS
     factory(require('jquery'));
   } else if (typeof define === 'function' && define.amd) {
@@ -38,7 +38,7 @@
    * @param {string} [id=once]
    *   A string representing the ID to check. Defaults to `'once'`.
    *
-   * @returns The valid ID name.
+   * @returns {number} The valid ID name.
    *
    * @throws TypeError when an ID is provided, but not a string.
    * @private
@@ -48,6 +48,7 @@
     if (typeof id !== 'string') {
       throw new TypeError('The jQuery Once id parameter must be a string');
     }
+
     return id;
   };
 
@@ -58,7 +59,7 @@
    *   The data ID used to determine whether the given elements have already
    *   been processed or not. Defaults to `'once'`.
    *
-   * @returns jQuery collection of elements that have now run once by
+   * @returns {jQuery} jQuery collection of elements that have now run once by
    *   the given ID.
    *
    * @example
@@ -108,7 +109,7 @@
    *   processed by the once function. The ID should be the same ID that was
    *   originally passed to the once() function. Defaults to `'once'`.
    *
-   * @returns jQuery collection of elements that were acted upon to remove their
+   * @returns {jQuery} jQuery collection of elements that were acted upon to remove their
    *    once data.
    *
    * @example
@@ -143,7 +144,7 @@
    *   been processed by the once function. The id should be the same id that
    *   was originally passed to the once() function. Defaults to 'once'.
    *
-   * @returns jQuery collection of elements that have been run once.
+   * @returns {jQuery} jQuery collection of elements that have been run once.
    *
    * @example
    * ``` javascript
diff --git a/core/assets/vendor/jquery-once/jquery.once.min.js b/core/assets/vendor/jquery-once/jquery.once.min.js
index 56c4ba17b5f683ef6f6072633a760b60723e507f..47a878053ee814d59cc6c2e157cb0fa9687ddec2 100644
--- a/core/assets/vendor/jquery-once/jquery.once.min.js
+++ b/core/assets/vendor/jquery-once/jquery.once.min.js
@@ -1,8 +1,8 @@
 /*!
- * jQuery Once v2.2.0 - http://github.com/robloach/jquery-once
+ * jQuery Once v2.2.3 - http://github.com/robloach/jquery-once
  * @license MIT, GPL-2.0
  *   http://opensource.org/licenses/MIT
  *   http://opensource.org/licenses/GPL-2.0
  */
-(function(e){"use strict";if(typeof exports==="object"){e(require("jquery"))}else if(typeof define==="function"&&define.amd){define(["jquery"],e)}else{e(jQuery)}})(function(e){"use strict";var n=function(e){e=e||"once";if(typeof e!=="string"){throw new TypeError("The jQuery Once id parameter must be a string")}return e};e.fn.once=function(t){var r="jquery-once-"+n(t);return this.filter(function(){return e(this).data(r)!==true}).data(r,true)};e.fn.removeOnce=function(e){return this.findOnce(e).removeData("jquery-once-"+n(e))};e.fn.findOnce=function(t){var r="jquery-once-"+n(t);return this.filter(function(){return e(this).data(r)===true})}});
+(function(e){"use strict";if(typeof exports==="object"&&typeof exports.nodeName!=="string"){e(require("jquery"))}else if(typeof define==="function"&&define.amd){define(["jquery"],e)}else{e(jQuery)}})(function(t){"use strict";var r=function(e){e=e||"once";if(typeof e!=="string"){throw new TypeError("The jQuery Once id parameter must be a string")}return e};t.fn.once=function(e){var n="jquery-once-"+r(e);return this.filter(function(){return t(this).data(n)!==true}).data(n,true)};t.fn.removeOnce=function(e){return this.findOnce(e).removeData("jquery-once-"+r(e))};t.fn.findOnce=function(e){var n="jquery-once-"+r(e);return this.filter(function(){return t(this).data(n)===true})}});
 //# sourceMappingURL=jquery.once.min.js.map
\ No newline at end of file
diff --git a/core/assets/vendor/jquery-once/jquery.once.min.js.map b/core/assets/vendor/jquery-once/jquery.once.min.js.map
index 2d48c5cbed8893f0d374471ca581f1e4d9486773..a42313cc289f12ab19a3e12994ddd1eb6892fa43 100644
--- a/core/assets/vendor/jquery-once/jquery.once.min.js.map
+++ b/core/assets/vendor/jquery-once/jquery.once.min.js.map
@@ -1 +1 @@
-{"version":3,"sources":["jquery.once.js"],"names":["factory","exports","require","define","amd","jQuery","$","checkId","id","TypeError","fn","once","name","this","filter","data","removeOnce","findOnce","removeData"],"mappings":";;;;;;CAgBA,SAAWA,GACT,aAEA,UAAWC,UAAY,SAAU,CAE/BD,EAAQE,QAAQ,gBACX,UAAWC,SAAW,YAAcA,OAAOC,IAAK,CAGrDD,QAAQ,UAAWH,OACd,CAGLA,EAAQK,WAET,SAAUC,GACX,aAaA,IAAIC,EAAU,SAAUC,GACtBA,EAAKA,GAAM,OACX,UAAWA,IAAO,SAAU,CAC1B,MAAM,IAAIC,UAAU,iDAEtB,OAAOD,GAyCTF,EAAEI,GAAGC,KAAO,SAAUH,GAEpB,IAAII,EAAO,eAAiBL,EAAQC,GAGpC,OAAOK,KAAKC,OAAO,WACjB,OAAOR,EAAEO,MAAME,KAAKH,KAAU,OAC7BG,KAAKH,EAAM,OAiChBN,EAAEI,GAAGM,WAAa,SAAUR,GAE1B,OAAOK,KAAKI,SAAST,GAAIU,WAAW,eAAiBX,EAAQC,KAkC/DF,EAAEI,GAAGO,SAAW,SAAUT,GAExB,IAAII,EAAO,eAAiBL,EAAQC,GAEpC,OAAOK,KAAKC,OAAO,WACjB,OAAOR,EAAEO,MAAME,KAAKH,KAAU","file":"jquery.once.min.js"}
\ No newline at end of file
+{"version":3,"sources":["jquery.once.js"],"names":["factory","exports","nodeName","require","define","amd","jQuery","$","checkId","id","TypeError","fn","once","name","this","filter","data","removeOnce","findOnce","removeData"],"mappings":";;;;;;CAgBA,SAAWA,GACT,aAEA,UAAWC,UAAY,iBAAmBA,QAAQC,WAAa,SAAU,CAEvEF,EAAQG,QAAQ,gBACX,UAAWC,SAAW,YAAcA,OAAOC,IAAK,CAGrDD,OAAO,CAAC,UAAWJ,OACd,CAGLA,EAAQM,UAbZ,CAeG,SAAUC,GACX,aAaA,IAAIC,EAAU,SAAUC,GACtBA,EAAKA,GAAM,OACX,UAAWA,IAAO,SAAU,CAC1B,MAAM,IAAIC,UAAU,iDAGtB,OAAOD,GAyCTF,EAAEI,GAAGC,KAAO,SAAUH,GAEpB,IAAII,EAAO,eAAiBL,EAAQC,GAGpC,OAAOK,KAAKC,OAAO,WACjB,OAAOR,EAAEO,MAAME,KAAKH,KAAU,OAC7BG,KAAKH,EAAM,OAiChBN,EAAEI,GAAGM,WAAa,SAAUR,GAE1B,OAAOK,KAAKI,SAAST,GAAIU,WAAW,eAAiBX,EAAQC,KAkC/DF,EAAEI,GAAGO,SAAW,SAAUT,GAExB,IAAII,EAAO,eAAiBL,EAAQC,GAEpC,OAAOK,KAAKC,OAAO,WACjB,OAAOR,EAAEO,MAAME,KAAKH,KAAU","file":"jquery.once.min.js"}
\ No newline at end of file
diff --git a/core/core.libraries.yml b/core/core.libraries.yml
index 86c329857c74c7eec689375d1362939383d065eb..b1427211b1e87da5e69ae843cc2dae10853544ca 100644
--- a/core/core.libraries.yml
+++ b/core/core.libraries.yml
@@ -391,10 +391,10 @@ jquery.joyride:
 
 jquery.once:
   remote: https://github.com/RobLoach/jquery-once
-  version: "2.2.0"
+  version: "2.2.3"
   license:
     name: GNU-GPL-2.0-or-later
-    url: https://raw.githubusercontent.com/RobLoach/jquery-once/2.2.0/LICENSE.md
+    url: https://github.com/RobLoach/jquery-once/blob/2.2.3/LICENSE.md
     gpl-compatible: true
   js:
     assets/vendor/jquery-once/jquery.once.min.js: { weight: -19, minified: true }