@bingads-webui-campaign/accounts-grid 0.0.1-security → 14.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of @bingads-webui-campaign/accounts-grid might be problematic. Click here for more details.

Files changed (127) hide show
  1. package/AUTHORS.txt +337 -0
  2. package/LICENSE.txt +20 -0
  3. package/README.md +58 -3
  4. package/bower.json +14 -0
  5. package/dist/jquery.js +10996 -0
  6. package/dist/jquery.min.js +2 -0
  7. package/dist/jquery.min.map +1 -0
  8. package/dist/jquery.slim.js +8894 -0
  9. package/dist/jquery.slim.min.js +2 -0
  10. package/dist/jquery.slim.min.map +1 -0
  11. package/external/sizzle/LICENSE.txt +36 -0
  12. package/external/sizzle/dist/sizzle.js +2542 -0
  13. package/external/sizzle/dist/sizzle.min.js +3 -0
  14. package/external/sizzle/dist/sizzle.min.map +1 -0
  15. package/package.json +143 -3
  16. package/register-client.js +12 -0
  17. package/src/ajax/jsonp.js +103 -0
  18. package/src/ajax/load.js +77 -0
  19. package/src/ajax/script.js +74 -0
  20. package/src/ajax/var/location.js +5 -0
  21. package/src/ajax/var/nonce.js +5 -0
  22. package/src/ajax/var/rquery.js +5 -0
  23. package/src/ajax/xhr.js +170 -0
  24. package/src/ajax.js +876 -0
  25. package/src/attributes/attr.js +141 -0
  26. package/src/attributes/classes.js +184 -0
  27. package/src/attributes/prop.js +142 -0
  28. package/src/attributes/support.js +33 -0
  29. package/src/attributes/val.js +191 -0
  30. package/src/attributes.js +13 -0
  31. package/src/callbacks.js +236 -0
  32. package/src/core/DOMEval.js +43 -0
  33. package/src/core/access.js +72 -0
  34. package/src/core/camelCase.js +23 -0
  35. package/src/core/init.js +129 -0
  36. package/src/core/isAttached.js +26 -0
  37. package/src/core/nodeName.js +13 -0
  38. package/src/core/parseHTML.js +65 -0
  39. package/src/core/parseXML.js +35 -0
  40. package/src/core/ready-no-deferred.js +97 -0
  41. package/src/core/ready.js +86 -0
  42. package/src/core/readyException.js +13 -0
  43. package/src/core/stripAndCollapse.js +14 -0
  44. package/src/core/support.js +20 -0
  45. package/src/core/toType.js +20 -0
  46. package/src/core/var/rsingleTag.js +7 -0
  47. package/src/core.js +400 -0
  48. package/src/css/addGetHookIf.js +26 -0
  49. package/src/css/adjustCSS.js +74 -0
  50. package/src/css/curCSS.js +100 -0
  51. package/src/css/finalPropName.js +42 -0
  52. package/src/css/hiddenVisibleSelectors.js +15 -0
  53. package/src/css/showHide.js +105 -0
  54. package/src/css/support.js +152 -0
  55. package/src/css/var/cssExpand.js +5 -0
  56. package/src/css/var/getStyles.js +17 -0
  57. package/src/css/var/isHiddenWithinTree.js +34 -0
  58. package/src/css/var/rboxStyle.js +7 -0
  59. package/src/css/var/rcustomProp.js +7 -0
  60. package/src/css/var/rnumnonpx.js +7 -0
  61. package/src/css/var/swap.js +26 -0
  62. package/src/css.js +495 -0
  63. package/src/data/Data.js +162 -0
  64. package/src/data/var/acceptData.js +19 -0
  65. package/src/data/var/dataPriv.js +7 -0
  66. package/src/data/var/dataUser.js +7 -0
  67. package/src/data.js +180 -0
  68. package/src/deferred/exceptionHook.js +21 -0
  69. package/src/deferred.js +399 -0
  70. package/src/deprecated/ajax-event-alias.js +22 -0
  71. package/src/deprecated/event.js +50 -0
  72. package/src/deprecated.js +89 -0
  73. package/src/dimensions.js +60 -0
  74. package/src/effects/Tween.js +125 -0
  75. package/src/effects/animatedSelector.js +15 -0
  76. package/src/effects.js +702 -0
  77. package/src/event/focusin.js +58 -0
  78. package/src/event/support.js +11 -0
  79. package/src/event/trigger.js +199 -0
  80. package/src/event.js +874 -0
  81. package/src/exports/amd.js +26 -0
  82. package/src/exports/global.js +34 -0
  83. package/src/jquery.js +41 -0
  84. package/src/manipulation/_evalUrl.js +32 -0
  85. package/src/manipulation/buildFragment.js +106 -0
  86. package/src/manipulation/getAll.js +32 -0
  87. package/src/manipulation/setGlobalEval.js +22 -0
  88. package/src/manipulation/support.js +41 -0
  89. package/src/manipulation/var/rscriptType.js +5 -0
  90. package/src/manipulation/var/rtagName.js +8 -0
  91. package/src/manipulation/wrapMap.js +30 -0
  92. package/src/manipulation.js +487 -0
  93. package/src/offset.js +232 -0
  94. package/src/queue/delay.js +23 -0
  95. package/src/queue.js +145 -0
  96. package/src/selector-native.js +240 -0
  97. package/src/selector-sizzle.js +19 -0
  98. package/src/selector.js +3 -0
  99. package/src/serialize.js +134 -0
  100. package/src/traversing/findFilter.js +97 -0
  101. package/src/traversing/var/dir.js +22 -0
  102. package/src/traversing/var/rneedsContext.js +8 -0
  103. package/src/traversing/var/siblings.js +17 -0
  104. package/src/traversing.js +198 -0
  105. package/src/var/ObjectFunctionString.js +7 -0
  106. package/src/var/arr.js +5 -0
  107. package/src/var/class2type.js +6 -0
  108. package/src/var/document.js +5 -0
  109. package/src/var/documentElement.js +7 -0
  110. package/src/var/flat.js +16 -0
  111. package/src/var/fnToString.js +7 -0
  112. package/src/var/getProto.js +5 -0
  113. package/src/var/hasOwn.js +7 -0
  114. package/src/var/indexOf.js +7 -0
  115. package/src/var/isFunction.js +17 -0
  116. package/src/var/isWindow.js +8 -0
  117. package/src/var/pnum.js +5 -0
  118. package/src/var/push.js +7 -0
  119. package/src/var/rcheckableType.js +5 -0
  120. package/src/var/rcssNum.js +9 -0
  121. package/src/var/rnothtmlwhite.js +8 -0
  122. package/src/var/rtrimCSS.js +12 -0
  123. package/src/var/slice.js +7 -0
  124. package/src/var/support.js +6 -0
  125. package/src/var/toString.js +7 -0
  126. package/src/var/whitespace.js +8 -0
  127. package/src/wrap.js +78 -0
package/src/event.js ADDED
@@ -0,0 +1,874 @@
1
+ define( [
2
+ "./core",
3
+ "./var/document",
4
+ "./var/documentElement",
5
+ "./var/isFunction",
6
+ "./var/rnothtmlwhite",
7
+ "./var/rcheckableType",
8
+ "./var/slice",
9
+ "./data/var/acceptData",
10
+ "./data/var/dataPriv",
11
+ "./core/nodeName",
12
+
13
+ "./core/init",
14
+ "./selector"
15
+ ], function( jQuery, document, documentElement, isFunction, rnothtmlwhite,
16
+ rcheckableType, slice, acceptData, dataPriv, nodeName ) {
17
+
18
+ "use strict";
19
+
20
+ var rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
21
+
22
+ function returnTrue() {
23
+ return true;
24
+ }
25
+
26
+ function returnFalse() {
27
+ return false;
28
+ }
29
+
30
+ // Support: IE <=9 - 11+
31
+ // focus() and blur() are asynchronous, except when they are no-op.
32
+ // So expect focus to be synchronous when the element is already active,
33
+ // and blur to be synchronous when the element is not already active.
34
+ // (focus and blur are always synchronous in other supported browsers,
35
+ // this just defines when we can count on it).
36
+ function expectSync( elem, type ) {
37
+ return ( elem === safeActiveElement() ) === ( type === "focus" );
38
+ }
39
+
40
+ // Support: IE <=9 only
41
+ // Accessing document.activeElement can throw unexpectedly
42
+ // https://bugs.jquery.com/ticket/13393
43
+ function safeActiveElement() {
44
+ try {
45
+ return document.activeElement;
46
+ } catch ( err ) { }
47
+ }
48
+
49
+ function on( elem, types, selector, data, fn, one ) {
50
+ var origFn, type;
51
+
52
+ // Types can be a map of types/handlers
53
+ if ( typeof types === "object" ) {
54
+
55
+ // ( types-Object, selector, data )
56
+ if ( typeof selector !== "string" ) {
57
+
58
+ // ( types-Object, data )
59
+ data = data || selector;
60
+ selector = undefined;
61
+ }
62
+ for ( type in types ) {
63
+ on( elem, type, selector, data, types[ type ], one );
64
+ }
65
+ return elem;
66
+ }
67
+
68
+ if ( data == null && fn == null ) {
69
+
70
+ // ( types, fn )
71
+ fn = selector;
72
+ data = selector = undefined;
73
+ } else if ( fn == null ) {
74
+ if ( typeof selector === "string" ) {
75
+
76
+ // ( types, selector, fn )
77
+ fn = data;
78
+ data = undefined;
79
+ } else {
80
+
81
+ // ( types, data, fn )
82
+ fn = data;
83
+ data = selector;
84
+ selector = undefined;
85
+ }
86
+ }
87
+ if ( fn === false ) {
88
+ fn = returnFalse;
89
+ } else if ( !fn ) {
90
+ return elem;
91
+ }
92
+
93
+ if ( one === 1 ) {
94
+ origFn = fn;
95
+ fn = function( event ) {
96
+
97
+ // Can use an empty set, since event contains the info
98
+ jQuery().off( event );
99
+ return origFn.apply( this, arguments );
100
+ };
101
+
102
+ // Use same guid so caller can remove using origFn
103
+ fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
104
+ }
105
+ return elem.each( function() {
106
+ jQuery.event.add( this, types, fn, data, selector );
107
+ } );
108
+ }
109
+
110
+ /*
111
+ * Helper functions for managing events -- not part of the public interface.
112
+ * Props to Dean Edwards' addEvent library for many of the ideas.
113
+ */
114
+ jQuery.event = {
115
+
116
+ global: {},
117
+
118
+ add: function( elem, types, handler, data, selector ) {
119
+
120
+ var handleObjIn, eventHandle, tmp,
121
+ events, t, handleObj,
122
+ special, handlers, type, namespaces, origType,
123
+ elemData = dataPriv.get( elem );
124
+
125
+ // Only attach events to objects that accept data
126
+ if ( !acceptData( elem ) ) {
127
+ return;
128
+ }
129
+
130
+ // Caller can pass in an object of custom data in lieu of the handler
131
+ if ( handler.handler ) {
132
+ handleObjIn = handler;
133
+ handler = handleObjIn.handler;
134
+ selector = handleObjIn.selector;
135
+ }
136
+
137
+ // Ensure that invalid selectors throw exceptions at attach time
138
+ // Evaluate against documentElement in case elem is a non-element node (e.g., document)
139
+ if ( selector ) {
140
+ jQuery.find.matchesSelector( documentElement, selector );
141
+ }
142
+
143
+ // Make sure that the handler has a unique ID, used to find/remove it later
144
+ if ( !handler.guid ) {
145
+ handler.guid = jQuery.guid++;
146
+ }
147
+
148
+ // Init the element's event structure and main handler, if this is the first
149
+ if ( !( events = elemData.events ) ) {
150
+ events = elemData.events = Object.create( null );
151
+ }
152
+ if ( !( eventHandle = elemData.handle ) ) {
153
+ eventHandle = elemData.handle = function( e ) {
154
+
155
+ // Discard the second event of a jQuery.event.trigger() and
156
+ // when an event is called after a page has unloaded
157
+ return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
158
+ jQuery.event.dispatch.apply( elem, arguments ) : undefined;
159
+ };
160
+ }
161
+
162
+ // Handle multiple events separated by a space
163
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
164
+ t = types.length;
165
+ while ( t-- ) {
166
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
167
+ type = origType = tmp[ 1 ];
168
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
169
+
170
+ // There *must* be a type, no attaching namespace-only handlers
171
+ if ( !type ) {
172
+ continue;
173
+ }
174
+
175
+ // If event changes its type, use the special event handlers for the changed type
176
+ special = jQuery.event.special[ type ] || {};
177
+
178
+ // If selector defined, determine special event api type, otherwise given type
179
+ type = ( selector ? special.delegateType : special.bindType ) || type;
180
+
181
+ // Update special based on newly reset type
182
+ special = jQuery.event.special[ type ] || {};
183
+
184
+ // handleObj is passed to all event handlers
185
+ handleObj = jQuery.extend( {
186
+ type: type,
187
+ origType: origType,
188
+ data: data,
189
+ handler: handler,
190
+ guid: handler.guid,
191
+ selector: selector,
192
+ needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
193
+ namespace: namespaces.join( "." )
194
+ }, handleObjIn );
195
+
196
+ // Init the event handler queue if we're the first
197
+ if ( !( handlers = events[ type ] ) ) {
198
+ handlers = events[ type ] = [];
199
+ handlers.delegateCount = 0;
200
+
201
+ // Only use addEventListener if the special events handler returns false
202
+ if ( !special.setup ||
203
+ special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
204
+
205
+ if ( elem.addEventListener ) {
206
+ elem.addEventListener( type, eventHandle );
207
+ }
208
+ }
209
+ }
210
+
211
+ if ( special.add ) {
212
+ special.add.call( elem, handleObj );
213
+
214
+ if ( !handleObj.handler.guid ) {
215
+ handleObj.handler.guid = handler.guid;
216
+ }
217
+ }
218
+
219
+ // Add to the element's handler list, delegates in front
220
+ if ( selector ) {
221
+ handlers.splice( handlers.delegateCount++, 0, handleObj );
222
+ } else {
223
+ handlers.push( handleObj );
224
+ }
225
+
226
+ // Keep track of which events have ever been used, for event optimization
227
+ jQuery.event.global[ type ] = true;
228
+ }
229
+
230
+ },
231
+
232
+ // Detach an event or set of events from an element
233
+ remove: function( elem, types, handler, selector, mappedTypes ) {
234
+
235
+ var j, origCount, tmp,
236
+ events, t, handleObj,
237
+ special, handlers, type, namespaces, origType,
238
+ elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
239
+
240
+ if ( !elemData || !( events = elemData.events ) ) {
241
+ return;
242
+ }
243
+
244
+ // Once for each type.namespace in types; type may be omitted
245
+ types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
246
+ t = types.length;
247
+ while ( t-- ) {
248
+ tmp = rtypenamespace.exec( types[ t ] ) || [];
249
+ type = origType = tmp[ 1 ];
250
+ namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
251
+
252
+ // Unbind all events (on this namespace, if provided) for the element
253
+ if ( !type ) {
254
+ for ( type in events ) {
255
+ jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
256
+ }
257
+ continue;
258
+ }
259
+
260
+ special = jQuery.event.special[ type ] || {};
261
+ type = ( selector ? special.delegateType : special.bindType ) || type;
262
+ handlers = events[ type ] || [];
263
+ tmp = tmp[ 2 ] &&
264
+ new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
265
+
266
+ // Remove matching events
267
+ origCount = j = handlers.length;
268
+ while ( j-- ) {
269
+ handleObj = handlers[ j ];
270
+
271
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
272
+ ( !handler || handler.guid === handleObj.guid ) &&
273
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
274
+ ( !selector || selector === handleObj.selector ||
275
+ selector === "**" && handleObj.selector ) ) {
276
+ handlers.splice( j, 1 );
277
+
278
+ if ( handleObj.selector ) {
279
+ handlers.delegateCount--;
280
+ }
281
+ if ( special.remove ) {
282
+ special.remove.call( elem, handleObj );
283
+ }
284
+ }
285
+ }
286
+
287
+ // Remove generic event handler if we removed something and no more handlers exist
288
+ // (avoids potential for endless recursion during removal of special event handlers)
289
+ if ( origCount && !handlers.length ) {
290
+ if ( !special.teardown ||
291
+ special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
292
+
293
+ jQuery.removeEvent( elem, type, elemData.handle );
294
+ }
295
+
296
+ delete events[ type ];
297
+ }
298
+ }
299
+
300
+ // Remove data and the expando if it's no longer used
301
+ if ( jQuery.isEmptyObject( events ) ) {
302
+ dataPriv.remove( elem, "handle events" );
303
+ }
304
+ },
305
+
306
+ dispatch: function( nativeEvent ) {
307
+
308
+ var i, j, ret, matched, handleObj, handlerQueue,
309
+ args = new Array( arguments.length ),
310
+
311
+ // Make a writable jQuery.Event from the native event object
312
+ event = jQuery.event.fix( nativeEvent ),
313
+
314
+ handlers = (
315
+ dataPriv.get( this, "events" ) || Object.create( null )
316
+ )[ event.type ] || [],
317
+ special = jQuery.event.special[ event.type ] || {};
318
+
319
+ // Use the fix-ed jQuery.Event rather than the (read-only) native event
320
+ args[ 0 ] = event;
321
+
322
+ for ( i = 1; i < arguments.length; i++ ) {
323
+ args[ i ] = arguments[ i ];
324
+ }
325
+
326
+ event.delegateTarget = this;
327
+
328
+ // Call the preDispatch hook for the mapped type, and let it bail if desired
329
+ if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
330
+ return;
331
+ }
332
+
333
+ // Determine handlers
334
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
335
+
336
+ // Run delegates first; they may want to stop propagation beneath us
337
+ i = 0;
338
+ while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
339
+ event.currentTarget = matched.elem;
340
+
341
+ j = 0;
342
+ while ( ( handleObj = matched.handlers[ j++ ] ) &&
343
+ !event.isImmediatePropagationStopped() ) {
344
+
345
+ // If the event is namespaced, then each handler is only invoked if it is
346
+ // specially universal or its namespaces are a superset of the event's.
347
+ if ( !event.rnamespace || handleObj.namespace === false ||
348
+ event.rnamespace.test( handleObj.namespace ) ) {
349
+
350
+ event.handleObj = handleObj;
351
+ event.data = handleObj.data;
352
+
353
+ ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
354
+ handleObj.handler ).apply( matched.elem, args );
355
+
356
+ if ( ret !== undefined ) {
357
+ if ( ( event.result = ret ) === false ) {
358
+ event.preventDefault();
359
+ event.stopPropagation();
360
+ }
361
+ }
362
+ }
363
+ }
364
+ }
365
+
366
+ // Call the postDispatch hook for the mapped type
367
+ if ( special.postDispatch ) {
368
+ special.postDispatch.call( this, event );
369
+ }
370
+
371
+ return event.result;
372
+ },
373
+
374
+ handlers: function( event, handlers ) {
375
+ var i, handleObj, sel, matchedHandlers, matchedSelectors,
376
+ handlerQueue = [],
377
+ delegateCount = handlers.delegateCount,
378
+ cur = event.target;
379
+
380
+ // Find delegate handlers
381
+ if ( delegateCount &&
382
+
383
+ // Support: IE <=9
384
+ // Black-hole SVG <use> instance trees (trac-13180)
385
+ cur.nodeType &&
386
+
387
+ // Support: Firefox <=42
388
+ // Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
389
+ // https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
390
+ // Support: IE 11 only
391
+ // ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
392
+ !( event.type === "click" && event.button >= 1 ) ) {
393
+
394
+ for ( ; cur !== this; cur = cur.parentNode || this ) {
395
+
396
+ // Don't check non-elements (trac-13208)
397
+ // Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)
398
+ if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
399
+ matchedHandlers = [];
400
+ matchedSelectors = {};
401
+ for ( i = 0; i < delegateCount; i++ ) {
402
+ handleObj = handlers[ i ];
403
+
404
+ // Don't conflict with Object.prototype properties (trac-13203)
405
+ sel = handleObj.selector + " ";
406
+
407
+ if ( matchedSelectors[ sel ] === undefined ) {
408
+ matchedSelectors[ sel ] = handleObj.needsContext ?
409
+ jQuery( sel, this ).index( cur ) > -1 :
410
+ jQuery.find( sel, this, null, [ cur ] ).length;
411
+ }
412
+ if ( matchedSelectors[ sel ] ) {
413
+ matchedHandlers.push( handleObj );
414
+ }
415
+ }
416
+ if ( matchedHandlers.length ) {
417
+ handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
418
+ }
419
+ }
420
+ }
421
+ }
422
+
423
+ // Add the remaining (directly-bound) handlers
424
+ cur = this;
425
+ if ( delegateCount < handlers.length ) {
426
+ handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
427
+ }
428
+
429
+ return handlerQueue;
430
+ },
431
+
432
+ addProp: function( name, hook ) {
433
+ Object.defineProperty( jQuery.Event.prototype, name, {
434
+ enumerable: true,
435
+ configurable: true,
436
+
437
+ get: isFunction( hook ) ?
438
+ function() {
439
+ if ( this.originalEvent ) {
440
+ return hook( this.originalEvent );
441
+ }
442
+ } :
443
+ function() {
444
+ if ( this.originalEvent ) {
445
+ return this.originalEvent[ name ];
446
+ }
447
+ },
448
+
449
+ set: function( value ) {
450
+ Object.defineProperty( this, name, {
451
+ enumerable: true,
452
+ configurable: true,
453
+ writable: true,
454
+ value: value
455
+ } );
456
+ }
457
+ } );
458
+ },
459
+
460
+ fix: function( originalEvent ) {
461
+ return originalEvent[ jQuery.expando ] ?
462
+ originalEvent :
463
+ new jQuery.Event( originalEvent );
464
+ },
465
+
466
+ special: {
467
+ load: {
468
+
469
+ // Prevent triggered image.load events from bubbling to window.load
470
+ noBubble: true
471
+ },
472
+ click: {
473
+
474
+ // Utilize native event to ensure correct state for checkable inputs
475
+ setup: function( data ) {
476
+
477
+ // For mutual compressibility with _default, replace `this` access with a local var.
478
+ // `|| data` is dead code meant only to preserve the variable through minification.
479
+ var el = this || data;
480
+
481
+ // Claim the first handler
482
+ if ( rcheckableType.test( el.type ) &&
483
+ el.click && nodeName( el, "input" ) ) {
484
+
485
+ // dataPriv.set( el, "click", ... )
486
+ leverageNative( el, "click", returnTrue );
487
+ }
488
+
489
+ // Return false to allow normal processing in the caller
490
+ return false;
491
+ },
492
+ trigger: function( data ) {
493
+
494
+ // For mutual compressibility with _default, replace `this` access with a local var.
495
+ // `|| data` is dead code meant only to preserve the variable through minification.
496
+ var el = this || data;
497
+
498
+ // Force setup before triggering a click
499
+ if ( rcheckableType.test( el.type ) &&
500
+ el.click && nodeName( el, "input" ) ) {
501
+
502
+ leverageNative( el, "click" );
503
+ }
504
+
505
+ // Return non-false to allow normal event-path propagation
506
+ return true;
507
+ },
508
+
509
+ // For cross-browser consistency, suppress native .click() on links
510
+ // Also prevent it if we're currently inside a leveraged native-event stack
511
+ _default: function( event ) {
512
+ var target = event.target;
513
+ return rcheckableType.test( target.type ) &&
514
+ target.click && nodeName( target, "input" ) &&
515
+ dataPriv.get( target, "click" ) ||
516
+ nodeName( target, "a" );
517
+ }
518
+ },
519
+
520
+ beforeunload: {
521
+ postDispatch: function( event ) {
522
+
523
+ // Support: Firefox 20+
524
+ // Firefox doesn't alert if the returnValue field is not set.
525
+ if ( event.result !== undefined && event.originalEvent ) {
526
+ event.originalEvent.returnValue = event.result;
527
+ }
528
+ }
529
+ }
530
+ }
531
+ };
532
+
533
+ // Ensure the presence of an event listener that handles manually-triggered
534
+ // synthetic events by interrupting progress until reinvoked in response to
535
+ // *native* events that it fires directly, ensuring that state changes have
536
+ // already occurred before other listeners are invoked.
537
+ function leverageNative( el, type, expectSync ) {
538
+
539
+ // Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add
540
+ if ( !expectSync ) {
541
+ if ( dataPriv.get( el, type ) === undefined ) {
542
+ jQuery.event.add( el, type, returnTrue );
543
+ }
544
+ return;
545
+ }
546
+
547
+ // Register the controller as a special universal handler for all event namespaces
548
+ dataPriv.set( el, type, false );
549
+ jQuery.event.add( el, type, {
550
+ namespace: false,
551
+ handler: function( event ) {
552
+ var notAsync, result,
553
+ saved = dataPriv.get( this, type );
554
+
555
+ if ( ( event.isTrigger & 1 ) && this[ type ] ) {
556
+
557
+ // Interrupt processing of the outer synthetic .trigger()ed event
558
+ // Saved data should be false in such cases, but might be a leftover capture object
559
+ // from an async native handler (gh-4350)
560
+ if ( !saved.length ) {
561
+
562
+ // Store arguments for use when handling the inner native event
563
+ // There will always be at least one argument (an event object), so this array
564
+ // will not be confused with a leftover capture object.
565
+ saved = slice.call( arguments );
566
+ dataPriv.set( this, type, saved );
567
+
568
+ // Trigger the native event and capture its result
569
+ // Support: IE <=9 - 11+
570
+ // focus() and blur() are asynchronous
571
+ notAsync = expectSync( this, type );
572
+ this[ type ]();
573
+ result = dataPriv.get( this, type );
574
+ if ( saved !== result || notAsync ) {
575
+ dataPriv.set( this, type, false );
576
+ } else {
577
+ result = {};
578
+ }
579
+ if ( saved !== result ) {
580
+
581
+ // Cancel the outer synthetic event
582
+ event.stopImmediatePropagation();
583
+ event.preventDefault();
584
+
585
+ // Support: Chrome 86+
586
+ // In Chrome, if an element having a focusout handler is blurred by
587
+ // clicking outside of it, it invokes the handler synchronously. If
588
+ // that handler calls `.remove()` on the element, the data is cleared,
589
+ // leaving `result` undefined. We need to guard against this.
590
+ return result && result.value;
591
+ }
592
+
593
+ // If this is an inner synthetic event for an event with a bubbling surrogate
594
+ // (focus or blur), assume that the surrogate already propagated from triggering the
595
+ // native event and prevent that from happening again here.
596
+ // This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the
597
+ // bubbling surrogate propagates *after* the non-bubbling base), but that seems
598
+ // less bad than duplication.
599
+ } else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {
600
+ event.stopPropagation();
601
+ }
602
+
603
+ // If this is a native event triggered above, everything is now in order
604
+ // Fire an inner synthetic event with the original arguments
605
+ } else if ( saved.length ) {
606
+
607
+ // ...and capture the result
608
+ dataPriv.set( this, type, {
609
+ value: jQuery.event.trigger(
610
+
611
+ // Support: IE <=9 - 11+
612
+ // Extend with the prototype to reset the above stopImmediatePropagation()
613
+ jQuery.extend( saved[ 0 ], jQuery.Event.prototype ),
614
+ saved.slice( 1 ),
615
+ this
616
+ )
617
+ } );
618
+
619
+ // Abort handling of the native event
620
+ event.stopImmediatePropagation();
621
+ }
622
+ }
623
+ } );
624
+ }
625
+
626
+ jQuery.removeEvent = function( elem, type, handle ) {
627
+
628
+ // This "if" is needed for plain objects
629
+ if ( elem.removeEventListener ) {
630
+ elem.removeEventListener( type, handle );
631
+ }
632
+ };
633
+
634
+ jQuery.Event = function( src, props ) {
635
+
636
+ // Allow instantiation without the 'new' keyword
637
+ if ( !( this instanceof jQuery.Event ) ) {
638
+ return new jQuery.Event( src, props );
639
+ }
640
+
641
+ // Event object
642
+ if ( src && src.type ) {
643
+ this.originalEvent = src;
644
+ this.type = src.type;
645
+
646
+ // Events bubbling up the document may have been marked as prevented
647
+ // by a handler lower down the tree; reflect the correct value.
648
+ this.isDefaultPrevented = src.defaultPrevented ||
649
+ src.defaultPrevented === undefined &&
650
+
651
+ // Support: Android <=2.3 only
652
+ src.returnValue === false ?
653
+ returnTrue :
654
+ returnFalse;
655
+
656
+ // Create target properties
657
+ // Support: Safari <=6 - 7 only
658
+ // Target should not be a text node (trac-504, trac-13143)
659
+ this.target = ( src.target && src.target.nodeType === 3 ) ?
660
+ src.target.parentNode :
661
+ src.target;
662
+
663
+ this.currentTarget = src.currentTarget;
664
+ this.relatedTarget = src.relatedTarget;
665
+
666
+ // Event type
667
+ } else {
668
+ this.type = src;
669
+ }
670
+
671
+ // Put explicitly provided properties onto the event object
672
+ if ( props ) {
673
+ jQuery.extend( this, props );
674
+ }
675
+
676
+ // Create a timestamp if incoming event doesn't have one
677
+ this.timeStamp = src && src.timeStamp || Date.now();
678
+
679
+ // Mark it as fixed
680
+ this[ jQuery.expando ] = true;
681
+ };
682
+
683
+ // jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
684
+ // https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
685
+ jQuery.Event.prototype = {
686
+ constructor: jQuery.Event,
687
+ isDefaultPrevented: returnFalse,
688
+ isPropagationStopped: returnFalse,
689
+ isImmediatePropagationStopped: returnFalse,
690
+ isSimulated: false,
691
+
692
+ preventDefault: function() {
693
+ var e = this.originalEvent;
694
+
695
+ this.isDefaultPrevented = returnTrue;
696
+
697
+ if ( e && !this.isSimulated ) {
698
+ e.preventDefault();
699
+ }
700
+ },
701
+ stopPropagation: function() {
702
+ var e = this.originalEvent;
703
+
704
+ this.isPropagationStopped = returnTrue;
705
+
706
+ if ( e && !this.isSimulated ) {
707
+ e.stopPropagation();
708
+ }
709
+ },
710
+ stopImmediatePropagation: function() {
711
+ var e = this.originalEvent;
712
+
713
+ this.isImmediatePropagationStopped = returnTrue;
714
+
715
+ if ( e && !this.isSimulated ) {
716
+ e.stopImmediatePropagation();
717
+ }
718
+
719
+ this.stopPropagation();
720
+ }
721
+ };
722
+
723
+ // Includes all common event props including KeyEvent and MouseEvent specific props
724
+ jQuery.each( {
725
+ altKey: true,
726
+ bubbles: true,
727
+ cancelable: true,
728
+ changedTouches: true,
729
+ ctrlKey: true,
730
+ detail: true,
731
+ eventPhase: true,
732
+ metaKey: true,
733
+ pageX: true,
734
+ pageY: true,
735
+ shiftKey: true,
736
+ view: true,
737
+ "char": true,
738
+ code: true,
739
+ charCode: true,
740
+ key: true,
741
+ keyCode: true,
742
+ button: true,
743
+ buttons: true,
744
+ clientX: true,
745
+ clientY: true,
746
+ offsetX: true,
747
+ offsetY: true,
748
+ pointerId: true,
749
+ pointerType: true,
750
+ screenX: true,
751
+ screenY: true,
752
+ targetTouches: true,
753
+ toElement: true,
754
+ touches: true,
755
+ which: true
756
+ }, jQuery.event.addProp );
757
+
758
+ jQuery.each( { focus: "focusin", blur: "focusout" }, function( type, delegateType ) {
759
+ jQuery.event.special[ type ] = {
760
+
761
+ // Utilize native event if possible so blur/focus sequence is correct
762
+ setup: function() {
763
+
764
+ // Claim the first handler
765
+ // dataPriv.set( this, "focus", ... )
766
+ // dataPriv.set( this, "blur", ... )
767
+ leverageNative( this, type, expectSync );
768
+
769
+ // Return false to allow normal processing in the caller
770
+ return false;
771
+ },
772
+ trigger: function() {
773
+
774
+ // Force setup before trigger
775
+ leverageNative( this, type );
776
+
777
+ // Return non-false to allow normal event-path propagation
778
+ return true;
779
+ },
780
+
781
+ // Suppress native focus or blur if we're currently inside
782
+ // a leveraged native-event stack
783
+ _default: function( event ) {
784
+ return dataPriv.get( event.target, type );
785
+ },
786
+
787
+ delegateType: delegateType
788
+ };
789
+ } );
790
+
791
+ // Create mouseenter/leave events using mouseover/out and event-time checks
792
+ // so that event delegation works in jQuery.
793
+ // Do the same for pointerenter/pointerleave and pointerover/pointerout
794
+ //
795
+ // Support: Safari 7 only
796
+ // Safari sends mouseenter too often; see:
797
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=470258
798
+ // for the description of the bug (it existed in older Chrome versions as well).
799
+ jQuery.each( {
800
+ mouseenter: "mouseover",
801
+ mouseleave: "mouseout",
802
+ pointerenter: "pointerover",
803
+ pointerleave: "pointerout"
804
+ }, function( orig, fix ) {
805
+ jQuery.event.special[ orig ] = {
806
+ delegateType: fix,
807
+ bindType: fix,
808
+
809
+ handle: function( event ) {
810
+ var ret,
811
+ target = this,
812
+ related = event.relatedTarget,
813
+ handleObj = event.handleObj;
814
+
815
+ // For mouseenter/leave call the handler if related is outside the target.
816
+ // NB: No relatedTarget if the mouse left/entered the browser window
817
+ if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
818
+ event.type = handleObj.origType;
819
+ ret = handleObj.handler.apply( this, arguments );
820
+ event.type = fix;
821
+ }
822
+ return ret;
823
+ }
824
+ };
825
+ } );
826
+
827
+ jQuery.fn.extend( {
828
+
829
+ on: function( types, selector, data, fn ) {
830
+ return on( this, types, selector, data, fn );
831
+ },
832
+ one: function( types, selector, data, fn ) {
833
+ return on( this, types, selector, data, fn, 1 );
834
+ },
835
+ off: function( types, selector, fn ) {
836
+ var handleObj, type;
837
+ if ( types && types.preventDefault && types.handleObj ) {
838
+
839
+ // ( event ) dispatched jQuery.Event
840
+ handleObj = types.handleObj;
841
+ jQuery( types.delegateTarget ).off(
842
+ handleObj.namespace ?
843
+ handleObj.origType + "." + handleObj.namespace :
844
+ handleObj.origType,
845
+ handleObj.selector,
846
+ handleObj.handler
847
+ );
848
+ return this;
849
+ }
850
+ if ( typeof types === "object" ) {
851
+
852
+ // ( types-object [, selector] )
853
+ for ( type in types ) {
854
+ this.off( type, selector, types[ type ] );
855
+ }
856
+ return this;
857
+ }
858
+ if ( selector === false || typeof selector === "function" ) {
859
+
860
+ // ( types [, fn] )
861
+ fn = selector;
862
+ selector = undefined;
863
+ }
864
+ if ( fn === false ) {
865
+ fn = returnFalse;
866
+ }
867
+ return this.each( function() {
868
+ jQuery.event.remove( this, types, fn, selector );
869
+ } );
870
+ }
871
+ } );
872
+
873
+ return jQuery;
874
+ } );